@microsoft/type2docfx 1.3.1-dev.1150659.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.
Files changed (63) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +56 -0
  3. package/dist/cli.js +23 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/common/constants.js +10 -0
  6. package/dist/common/constants.js.map +1 -0
  7. package/dist/common/error.js +29 -0
  8. package/dist/common/error.js.map +1 -0
  9. package/dist/common/regex.js +5 -0
  10. package/dist/common/regex.js.map +1 -0
  11. package/dist/converters/accessor.js +65 -0
  12. package/dist/converters/accessor.js.map +1 -0
  13. package/dist/converters/base.js +406 -0
  14. package/dist/converters/base.js.map +1 -0
  15. package/dist/converters/context.js +48 -0
  16. package/dist/converters/context.js.map +1 -0
  17. package/dist/converters/converter.js +44 -0
  18. package/dist/converters/converter.js.map +1 -0
  19. package/dist/converters/empty.js +29 -0
  20. package/dist/converters/empty.js.map +1 -0
  21. package/dist/converters/enum.js +43 -0
  22. package/dist/converters/enum.js.map +1 -0
  23. package/dist/converters/method.js +57 -0
  24. package/dist/converters/method.js.map +1 -0
  25. package/dist/converters/module.js +43 -0
  26. package/dist/converters/module.js.map +1 -0
  27. package/dist/converters/property.js +59 -0
  28. package/dist/converters/property.js.map +1 -0
  29. package/dist/converters/type.js +70 -0
  30. package/dist/converters/type.js.map +1 -0
  31. package/dist/helpers/linkConvertHelper.js +85 -0
  32. package/dist/helpers/linkConvertHelper.js.map +1 -0
  33. package/dist/helpers/toSdpConvertHelper.js +371 -0
  34. package/dist/helpers/toSdpConvertHelper.js.map +1 -0
  35. package/dist/idResolver.js +131 -0
  36. package/dist/idResolver.js.map +1 -0
  37. package/dist/interfaces/ReferenceMapping.js +3 -0
  38. package/dist/interfaces/ReferenceMapping.js.map +1 -0
  39. package/dist/interfaces/SDPYamlModel.js +3 -0
  40. package/dist/interfaces/SDPYamlModel.js.map +1 -0
  41. package/dist/interfaces/TocItem.js +3 -0
  42. package/dist/interfaces/TocItem.js.map +1 -0
  43. package/dist/interfaces/TypeDocModel.js +3 -0
  44. package/dist/interfaces/TypeDocModel.js.map +1 -0
  45. package/dist/interfaces/UidMapping.js +3 -0
  46. package/dist/interfaces/UidMapping.js.map +1 -0
  47. package/dist/interfaces/YamlModel.js +3 -0
  48. package/dist/interfaces/YamlModel.js.map +1 -0
  49. package/dist/main.js +163 -0
  50. package/dist/main.js.map +1 -0
  51. package/dist/moduleGenerator.js +34 -0
  52. package/dist/moduleGenerator.js.map +1 -0
  53. package/dist/packageGenerator.js +35 -0
  54. package/dist/packageGenerator.js.map +1 -0
  55. package/dist/parser.js +66 -0
  56. package/dist/parser.js.map +1 -0
  57. package/dist/postTransformer.js +186 -0
  58. package/dist/postTransformer.js.map +1 -0
  59. package/dist/tocGenerator.js +81 -0
  60. package/dist/tocGenerator.js.map +1 -0
  61. package/jest.config.js +6 -0
  62. package/package.json +56 -0
  63. package/tsconfig.json +16 -0
@@ -0,0 +1,406 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.AbstractConverter = void 0;
15
+ var idResolver_1 = require("../idResolver");
16
+ var linkConvertHelper_1 = require("../helpers/linkConvertHelper");
17
+ var AbstractConverter = /** @class */ (function () {
18
+ function AbstractConverter(references) {
19
+ this.references = references;
20
+ }
21
+ AbstractConverter.prototype.convert = function (node, context) {
22
+ var _this = this;
23
+ var models = this.generate(node, context) || [];
24
+ models.forEach(function (model, i) {
25
+ model.summary = linkConvertHelper_1.convertLinkToGfm(model.summary);
26
+ model.package = context.PackageName;
27
+ if (node.comment || (node.signatures && node.signatures.length && node.signatures[i].comment)) {
28
+ _this.setCustomModuleName(model, node.comment);
29
+ var comment = node.comment ? node.comment : node.signatures[i].comment;
30
+ _this.setDeprecated(model, comment);
31
+ _this.setPreviewState(model, comment);
32
+ _this.setRemarks(model, comment);
33
+ _this.setInherits(model, comment);
34
+ }
35
+ });
36
+ return models;
37
+ };
38
+ AbstractConverter.prototype.setDeprecated = function (model, comment) {
39
+ var deprecated = this.extractTextFromComment('deprecated', comment);
40
+ if (deprecated != null) {
41
+ model.deprecated = {
42
+ content: linkConvertHelper_1.convertLinkToGfm(deprecated)
43
+ };
44
+ }
45
+ };
46
+ AbstractConverter.prototype.setPreviewState = function (model, comment) {
47
+ if (comment && comment.tags) {
48
+ for (var _i = 0, _a = comment.tags; _i < _a.length; _i++) {
49
+ var tag = _a[_i];
50
+ if (tag.tag === 'alpha') {
51
+ model.previewState = 'alpha';
52
+ break; // select 'alpha' if both 'alpha' and 'beta' tags are present.
53
+ }
54
+ else if (tag.tag === 'beta') {
55
+ model.previewState = 'beta';
56
+ }
57
+ }
58
+ }
59
+ };
60
+ AbstractConverter.prototype.setRemarks = function (model, comment) {
61
+ var remarks = this.extractTextFromComment('remarks', comment);
62
+ if (remarks != null) {
63
+ model.remarks = linkConvertHelper_1.convertLinkToGfm(remarks);
64
+ }
65
+ };
66
+ AbstractConverter.prototype.setCustomModuleName = function (model, comment) {
67
+ var customModuleName = this.extractTextFromComment('module', comment);
68
+ if (customModuleName) {
69
+ model.module = customModuleName;
70
+ }
71
+ };
72
+ AbstractConverter.prototype.setInherits = function (model, comment) {
73
+ var inherits = this.extractTextFromComment('inherits', comment);
74
+ if (inherits != null) {
75
+ var tokens = linkConvertHelper_1.getTextAndLink(inherits);
76
+ if (tokens.length === 2) {
77
+ model.extends = {
78
+ name: tokens[0],
79
+ href: tokens[1]
80
+ };
81
+ }
82
+ }
83
+ };
84
+ AbstractConverter.prototype.extractTextFromComment = function (infoName, comment) {
85
+ if (comment && comment.tags) {
86
+ for (var _i = 0, _a = comment.tags; _i < _a.length; _i++) {
87
+ var tag = _a[_i];
88
+ if (tag.tag === infoName) {
89
+ return tag.text.trim();
90
+ }
91
+ }
92
+ }
93
+ return null;
94
+ };
95
+ AbstractConverter.prototype.getGenericType = function (typeParameters) {
96
+ if (typeParameters && typeParameters.length) {
97
+ var typeArgumentsList = typeParameters.map(function (item) {
98
+ return item.name;
99
+ }).join(', ');
100
+ return '<' + typeArgumentsList + '>';
101
+ }
102
+ return '';
103
+ };
104
+ AbstractConverter.prototype.findDescriptionInComment = function (comment) {
105
+ if (!comment) {
106
+ return '';
107
+ }
108
+ var descText = this.parseDescTextFromComment(comment);
109
+ var tagText = this.extractTagsTextFromComment(comment);
110
+ return "" + descText + tagText;
111
+ };
112
+ AbstractConverter.prototype.parseDescTextFromComment = function (comment) {
113
+ if (comment.tags) {
114
+ var text_1 = null;
115
+ comment.tags.forEach(function (tag) {
116
+ if (tag.tag === 'classdesc'
117
+ || tag.tag === 'description'
118
+ || tag.tag === 'exemptedapi'
119
+ || tag.tag === 'property') {
120
+ text_1 = tag.text.trim();
121
+ return;
122
+ }
123
+ });
124
+ if (text_1) {
125
+ return text_1.trim();
126
+ }
127
+ }
128
+ if (comment.shortText && comment.text) {
129
+ return comment.shortText + "\n" + comment.text;
130
+ }
131
+ if (comment.text) {
132
+ return comment.text.trim();
133
+ }
134
+ if (comment.shortText) {
135
+ return comment.shortText.trim();
136
+ }
137
+ return '';
138
+ };
139
+ AbstractConverter.prototype.extractTagsTextFromComment = function (comment) {
140
+ if (comment && comment.tags) {
141
+ return comment.tags.map(function (tag) {
142
+ if (tag.tag === 'see') {
143
+ return "\n\nSee " + tag.text.trim();
144
+ }
145
+ else if (tag.tag === 'example') {
146
+ return "\n\n**Example**\n\n" + tag.text.trim() + "\n\n";
147
+ }
148
+ else {
149
+ return '';
150
+ }
151
+ }).join('');
152
+ }
153
+ return '';
154
+ };
155
+ AbstractConverter.prototype.extractType = function (type) {
156
+ var _this = this;
157
+ var result = [];
158
+ if (type === undefined) {
159
+ return result;
160
+ }
161
+ if (type.type === 'union' && type.types && type.types.length) {
162
+ if (this.hasCommonPrefix(type.types)) {
163
+ result.push({
164
+ typeName: type.types[0].name.split('.')[0]
165
+ });
166
+ }
167
+ else {
168
+ result.push({
169
+ unionType: {
170
+ types: type.types.map(function (t) {
171
+ var childType = _this.extractType(t)[0];
172
+ childType.parentType = type.type;
173
+ return childType;
174
+ })
175
+ }
176
+ });
177
+ }
178
+ }
179
+ else if (type.type === 'array') {
180
+ var newType = this.extractType(type.elementType);
181
+ result.push({
182
+ arrayType: __assign(__assign({}, newType[0]), { parentType: type.type })
183
+ });
184
+ }
185
+ else if (type.type === 'intersection' && type.types.length) {
186
+ result.push({
187
+ intersectionType: {
188
+ types: type.types.map(function (t) {
189
+ var childType = _this.extractType(t)[0];
190
+ childType.parentType = type.type;
191
+ return childType;
192
+ })
193
+ }
194
+ });
195
+ }
196
+ else if (type.type === 'reflection' && type.declaration) {
197
+ if (type.declaration.indexSignature) {
198
+ var signatures = type.declaration.indexSignature;
199
+ signatures.forEach(function (signature) {
200
+ result.push({
201
+ reflectedType: {
202
+ key: {
203
+ typeName: signature.parameters[0].type.name,
204
+ typeId: signature.parameters[0].type.id
205
+ },
206
+ value: {
207
+ typeName: signature.type.name,
208
+ typeId: signature.type.id
209
+ }
210
+ }
211
+ });
212
+ });
213
+ }
214
+ else if (type.declaration.signatures && type.declaration.signatures.length) {
215
+ result.push({
216
+ typeName: this.generateCallFunction('', this.fillParameters(type.declaration.signatures[0].parameters)) + " => " + idResolver_1.typeToString(this.extractType(type.declaration.signatures[0].type)[0])
217
+ });
218
+ }
219
+ else if (type.declaration.children && type.declaration.children.length) {
220
+ result.push({
221
+ typeName: this.parseUserDefinedType(type)
222
+ });
223
+ }
224
+ else {
225
+ result.push({
226
+ typeName: 'Object'
227
+ });
228
+ }
229
+ }
230
+ else if (type.typeArguments && type.typeArguments.length) {
231
+ result.push({
232
+ genericType: {
233
+ outter: {
234
+ typeName: type.name,
235
+ typeId: type.id
236
+ },
237
+ inner: type.typeArguments.map(function (t) { return _this.extractType(t)[0]; })
238
+ }
239
+ });
240
+ }
241
+ else if (type.type === 'tuple' && type.elements && type.elements.length) {
242
+ result.push({
243
+ tupleType: {
244
+ types: type.elements.map(function (t) { return _this.extractType(t)[0]; })
245
+ }
246
+ });
247
+ }
248
+ else if (type.name) {
249
+ result.push({
250
+ typeName: type.name,
251
+ typeId: type.id
252
+ });
253
+ }
254
+ else if (type.value) {
255
+ result.push({
256
+ typeName: "\"" + type.value + "\""
257
+ });
258
+ }
259
+ else {
260
+ result.push({
261
+ typeName: 'Object'
262
+ });
263
+ }
264
+ return result;
265
+ };
266
+ AbstractConverter.prototype.hasCommonPrefix = function (types) {
267
+ if (types && types.length > 1 && types[0].name) {
268
+ if (types[0].name.indexOf('.') < 0) {
269
+ return false;
270
+ }
271
+ var prefix_1 = types[0].name.split('.')[0];
272
+ return types.find(function (t) { return !t.name || t.name.split('.')[0] !== prefix_1; }) === undefined;
273
+ }
274
+ return false;
275
+ };
276
+ AbstractConverter.prototype.generateCallFunction = function (prefix, parameters, typeParameters) {
277
+ if (parameters) {
278
+ return "" + prefix + this.getGenericType(typeParameters) + "(" + parameters.map(function (p) { return "" + p.id + (p.optional ? '?' : '') + ": " + (idResolver_1.typeToString(p.type[0])); }).join(', ') + ")";
279
+ }
280
+ return '';
281
+ };
282
+ AbstractConverter.prototype.fillParameters = function (parameters) {
283
+ var _this = this;
284
+ if (parameters) {
285
+ return parameters.map(function (p) {
286
+ var description = '';
287
+ if (p.comment) {
288
+ description = (p.comment.shortText && p.comment.shortText !== '') ? p.comment.shortText : p.comment.text;
289
+ }
290
+ return {
291
+ id: p.name,
292
+ type: _this.extractType(p.type),
293
+ description: linkConvertHelper_1.convertLinkToGfm(description),
294
+ optional: Boolean(p.flags && p.flags.isOptional)
295
+ };
296
+ });
297
+ }
298
+ return [];
299
+ };
300
+ AbstractConverter.prototype.extractReturnComment = function (comment) {
301
+ if (comment == null || comment.returns == null) {
302
+ return '';
303
+ }
304
+ return linkConvertHelper_1.convertLinkToGfm(comment.returns.trim());
305
+ };
306
+ AbstractConverter.prototype.extractInformationFromSignature = function (method, node, signatureIndex) {
307
+ if (node.signatures[signatureIndex].comment) {
308
+ method.summary = this.findDescriptionInComment(node.signatures[signatureIndex].comment);
309
+ }
310
+ method.syntax.parameters = this.fillParameters(node.signatures[signatureIndex].parameters);
311
+ if (node.signatures[signatureIndex].type && node.kindString !== 'Constructor' && node.signatures[signatureIndex].type.name !== 'void') {
312
+ method.syntax.return = {
313
+ type: this.extractType(node.signatures[signatureIndex].type),
314
+ description: this.extractReturnComment(node.signatures[signatureIndex].comment)
315
+ };
316
+ }
317
+ // comment the exception handling for now as template doesn't support it, so CI will not be blocked.
318
+ /*
319
+ let exceptions;
320
+ if (node.signatures[signatureIndex].comment && node.signatures[signatureIndex].comment.tags) {
321
+ exceptions = node.signatures[signatureIndex].comment.tags.filter(tag => tag.tag === 'throws');
322
+ }
323
+
324
+ if (exceptions && exceptions.length) {
325
+ method.exceptions = exceptions.map(e => extractException(e));
326
+ }
327
+ */
328
+ if (node.kindString === 'Method' || node.kindString === 'Function') {
329
+ var typeParameter = node.signatures[signatureIndex].typeParameter;
330
+ var functionBody = this.generateCallFunction(method.name, method.syntax.parameters, typeParameter);
331
+ var returnBody = (method.syntax.return && method.syntax.return.type.length > 0) ? ": " + idResolver_1.typeToString(method.syntax.return.type[0]) : '';
332
+ method.syntax.content = (node.flags && node.flags.isStatic ? 'static ' : '') + "function " + functionBody + returnBody;
333
+ method.type = node.kindString.toLowerCase();
334
+ if (node.inheritedFrom) {
335
+ method.inherited = true;
336
+ method.inheritanceDescription = this.generateInheritanceDescription(node.inheritedFrom);
337
+ }
338
+ }
339
+ else {
340
+ method.name = method.uid.split('.').reverse()[1];
341
+ var functionBody = this.generateCallFunction(method.name, method.syntax.parameters);
342
+ method.syntax.content = "new " + functionBody;
343
+ method.type = 'constructor';
344
+ }
345
+ };
346
+ AbstractConverter.prototype.composeMethodNameFromSignature = function (method, typeParameters) {
347
+ var parameterType = method.syntax.parameters.map(function (p) {
348
+ return idResolver_1.typeToString(p.type[0]);
349
+ }).join(', ');
350
+ return method.name + this.getGenericType(typeParameters) + '(' + parameterType + ')';
351
+ };
352
+ AbstractConverter.prototype.parseTypeArgumentsForTypeAlias = function (node) {
353
+ var typeParameter;
354
+ if (node.typeParameter) {
355
+ typeParameter = node.typeParameter;
356
+ }
357
+ else if (node.typeArguments) {
358
+ typeParameter = node.typeArguments;
359
+ }
360
+ return this.getGenericType(typeParameter);
361
+ };
362
+ AbstractConverter.prototype.parseTypeDeclarationForTypeAlias = function (typeInfo) {
363
+ return idResolver_1.typeToString(this.extractType(typeInfo)[0]);
364
+ };
365
+ AbstractConverter.prototype.parseFunctionType = function (typeInfo) {
366
+ var typeResult = this.extractType(typeInfo);
367
+ var content = '';
368
+ if (typeResult.length) {
369
+ content = typeResult[0].typeName;
370
+ }
371
+ return content;
372
+ };
373
+ AbstractConverter.prototype.parseUserDefinedType = function (typeInfo) {
374
+ var _this = this;
375
+ if (!typeInfo.declaration || !typeInfo.declaration.children) {
376
+ return '';
377
+ }
378
+ var content = typeInfo.declaration.children.map(function (child) {
379
+ var type = '';
380
+ var isOptional = child.flags && child.flags.isOptional ? '?' : '';
381
+ if (child.kindString === 'Variable') {
382
+ type = "" + child.name + isOptional + ": " + idResolver_1.typeToString(_this.extractType(child.type)[0]);
383
+ }
384
+ else if (child.kindString === 'Function') {
385
+ type = _this.generateCallFunction("" + child.name + isOptional, _this.fillParameters(child.signatures[0].parameters)) + " => " + idResolver_1.typeToString(_this.extractType(child.signatures[0].type)[0]);
386
+ }
387
+ return type;
388
+ }).join(', ');
389
+ content = '{ ' + content + ' }';
390
+ return content;
391
+ };
392
+ AbstractConverter.prototype.generateInheritanceDescription = function (inheritedFrom) {
393
+ if (inheritedFrom) {
394
+ if (inheritedFrom.id) {
395
+ return "<b>Inherited From</b> [" + inheritedFrom.name + "](xref:" + inheritedFrom.name + ")";
396
+ }
397
+ else {
398
+ return "<b>Inherited From</b> " + inheritedFrom.name;
399
+ }
400
+ }
401
+ return null;
402
+ };
403
+ return AbstractConverter;
404
+ }());
405
+ exports.AbstractConverter = AbstractConverter;
406
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/converters/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Context = void 0;
4
+ var Context = /** @class */ (function () {
5
+ function Context(parentUid, parentKind, packageName, references) {
6
+ this.packageName = packageName;
7
+ this.parentUid = parentUid;
8
+ this.parentKind = parentKind;
9
+ this.references = references;
10
+ }
11
+ Object.defineProperty(Context.prototype, "PackageName", {
12
+ get: function () {
13
+ return this.packageName;
14
+ },
15
+ enumerable: false,
16
+ configurable: true
17
+ });
18
+ Object.defineProperty(Context.prototype, "References", {
19
+ get: function () {
20
+ return this.references;
21
+ },
22
+ enumerable: false,
23
+ configurable: true
24
+ });
25
+ Object.defineProperty(Context.prototype, "ParentUid", {
26
+ get: function () {
27
+ if (this.parentUid === '') {
28
+ return this.PackageName;
29
+ }
30
+ return this.parentUid;
31
+ },
32
+ set: function (uid) {
33
+ this.parentUid = uid;
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
38
+ Object.defineProperty(Context.prototype, "ParentKind", {
39
+ get: function () {
40
+ return this.parentKind;
41
+ },
42
+ enumerable: false,
43
+ configurable: true
44
+ });
45
+ return Context;
46
+ }());
47
+ exports.Context = Context;
48
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/converters/context.ts"],"names":[],"mappings":";;;AAAA;IAMI,iBACI,SAAiB,EACjB,UAAkB,EAClB,WAAmB,EACnB,UAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,sBAAW,gCAAW;aAAtB;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAW,+BAAU;aAArB;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;;;OAAA;IAED,sBAAW,8BAAS;aAApB;YACI,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;gBACvB,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;aAED,UAAqB,GAAW;YAC5B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,CAAC;;;OAJA;IAMD,sBAAW,+BAAU;aAArB;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;;;OAAA;IACL,cAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,0BAAO"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Converter = void 0;
4
+ var module_1 = require("./module");
5
+ var enum_1 = require("./enum");
6
+ var property_1 = require("./property");
7
+ var accessor_1 = require("./accessor");
8
+ var method_1 = require("./method");
9
+ var type_1 = require("./type");
10
+ var empty_1 = require("./empty");
11
+ var Converter = /** @class */ (function () {
12
+ function Converter() {
13
+ }
14
+ Converter.prototype.convert = function (node, context) {
15
+ var converter = this.createConverter(node, context.References);
16
+ return converter.convert(node, context);
17
+ };
18
+ Converter.prototype.createConverter = function (node, references) {
19
+ switch (node.kindString) {
20
+ case "Module":
21
+ return new module_1.ModuleConverter(references);
22
+ case "Enumeration member":
23
+ return new enum_1.EnumConverter(references);
24
+ case "Property":
25
+ return new property_1.PropertyConverter(references);
26
+ case "Accessor":
27
+ return new accessor_1.AccessorConverter(references);
28
+ case "Method":
29
+ case "Function":
30
+ case "Constructor":
31
+ return new method_1.MethodConverter(references);
32
+ case "Class":
33
+ case "Interface":
34
+ case "Enumeration":
35
+ case "Type alias":
36
+ return new type_1.TypeConverter(references);
37
+ default:
38
+ return new empty_1.EmptyConverter(references);
39
+ }
40
+ };
41
+ return Converter;
42
+ }());
43
+ exports.Converter = Converter;
44
+ //# sourceMappingURL=converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../src/converters/converter.ts"],"names":[],"mappings":";;;AAEA,mCAA2C;AAE3C,+BAAuC;AACvC,uCAA+C;AAC/C,uCAA+C;AAC/C,mCAA2C;AAC3C,+BAAuC;AAEvC,iCAAyC;AAEzC;IAAA;IAgCA,CAAC;IA/BQ,2BAAO,GAAd,UAAe,IAAU,EAAE,OAAgB;QACzC,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,mCAAe,GAAvB,UACE,IAAU,EACV,UAAiC;QAEjC,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,QAAQ;gBACX,OAAO,IAAI,wBAAe,CAAC,UAAU,CAAC,CAAC;YACzC,KAAK,oBAAoB;gBACvB,OAAO,IAAI,oBAAa,CAAC,UAAU,CAAC,CAAC;YACvC,KAAK,UAAU;gBACb,OAAO,IAAI,4BAAiB,CAAC,UAAU,CAAC,CAAC;YAC3C,KAAK,UAAU;gBACb,OAAO,IAAI,4BAAiB,CAAC,UAAU,CAAC,CAAC;YAC3C,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa;gBAChB,OAAO,IAAI,wBAAe,CAAC,UAAU,CAAC,CAAC;YACzC,KAAK,OAAO,CAAC;YACb,KAAK,WAAW,CAAC;YACjB,KAAK,aAAa,CAAC;YACnB,KAAK,YAAY;gBACf,OAAO,IAAI,oBAAa,CAAC,UAAU,CAAC,CAAC;YACvC;gBACE,OAAO,IAAI,sBAAc,CAAC,UAAU,CAAC,CAAC;SACzC;IACH,CAAC;IACH,gBAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,8BAAS"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EmptyConverter = void 0;
17
+ var base_1 = require("./base");
18
+ var EmptyConverter = /** @class */ (function (_super) {
19
+ __extends(EmptyConverter, _super);
20
+ function EmptyConverter() {
21
+ return _super !== null && _super.apply(this, arguments) || this;
22
+ }
23
+ EmptyConverter.prototype.generate = function (node, context) {
24
+ return [];
25
+ };
26
+ return EmptyConverter;
27
+ }(base_1.AbstractConverter));
28
+ exports.EmptyConverter = EmptyConverter;
29
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","sourceRoot":"","sources":["../../src/converters/empty.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+BAA2C;AAG3C;IAAoC,kCAAiB;IAArD;;IAIA,CAAC;IAHa,iCAAQ,GAAlB,UAAmB,IAAU,EAAE,OAAgB;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IACL,qBAAC;AAAD,CAAC,AAJD,CAAoC,wBAAiB,GAIpD;AAJY,wCAAc"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EnumConverter = void 0;
17
+ var base_1 = require("./base");
18
+ var constants_1 = require("../common/constants");
19
+ var EnumConverter = /** @class */ (function (_super) {
20
+ __extends(EnumConverter, _super);
21
+ function EnumConverter() {
22
+ return _super !== null && _super.apply(this, arguments) || this;
23
+ }
24
+ EnumConverter.prototype.generate = function (node, context) {
25
+ var uid = context.ParentUid + '.' + node.name;
26
+ var model = {
27
+ uid: uid,
28
+ name: node.name,
29
+ children: [],
30
+ langs: constants_1.langs,
31
+ summary: node.comment ? this.findDescriptionInComment(node.comment) : '',
32
+ type: 'field'
33
+ };
34
+ if (node.defaultValue) {
35
+ model.numericValue = parseInt(node.defaultValue, 10);
36
+ }
37
+ console.log(" - " + node.kindString + ": " + uid);
38
+ return [model];
39
+ };
40
+ return EnumConverter;
41
+ }(base_1.AbstractConverter));
42
+ exports.EnumConverter = EnumConverter;
43
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/converters/enum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+BAA2C;AAE3C,iDAA4C;AAE5C;IAAmC,iCAAiB;IAApD;;IAmBA,CAAC;IAlBa,gCAAQ,GAAlB,UAAmB,IAAU,EAAE,OAAgB;QAC3C,IAAM,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,IAAM,KAAK,GAAc;YACrB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,iBAAK;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,IAAI,EAAE,OAAO;SAChB,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;SACxD;QAED,OAAO,CAAC,GAAG,CAAC,QAAM,IAAI,CAAC,UAAU,UAAK,GAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACL,oBAAC;AAAD,CAAC,AAnBD,CAAmC,wBAAiB,GAmBnD;AAnBY,sCAAa"}