@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,57 @@
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.MethodConverter = void 0;
17
+ var base_1 = require("./base");
18
+ var linkConvertHelper_1 = require("../helpers/linkConvertHelper");
19
+ var constants_1 = require("../common/constants");
20
+ var MethodConverter = /** @class */ (function (_super) {
21
+ __extends(MethodConverter, _super);
22
+ function MethodConverter() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ MethodConverter.prototype.generate = function (node, context) {
26
+ if (!node.signatures) {
27
+ return;
28
+ }
29
+ var models = new Array();
30
+ for (var index = 0; index < node.signatures.length; index++) {
31
+ var uid = context.ParentUid + '.' + node.name;
32
+ if (index > 0) {
33
+ uid += "_" + index;
34
+ }
35
+ console.log(" - " + node.kindString + ": " + uid);
36
+ var model = {
37
+ uid: uid,
38
+ name: node.name,
39
+ children: [],
40
+ type: '',
41
+ langs: constants_1.langs,
42
+ summary: '',
43
+ syntax: {
44
+ content: ''
45
+ }
46
+ };
47
+ this.extractInformationFromSignature(model, node, index);
48
+ model.name = this.composeMethodNameFromSignature(model, node.signatures[index].typeParameter);
49
+ model.summary = linkConvertHelper_1.convertLinkToGfm(model.summary);
50
+ models.push(model);
51
+ }
52
+ return models;
53
+ };
54
+ return MethodConverter;
55
+ }(base_1.AbstractConverter));
56
+ exports.MethodConverter = MethodConverter;
57
+ //# sourceMappingURL=method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/converters/method.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+BAA2C;AAG3C,kEAAgE;AAChE,iDAA4C;AAE5C;IAAqC,mCAAiB;IAAtD;;IAoCA,CAAC;IAnCa,kCAAQ,GAAlB,UAAmB,IAAU,EAAE,OAAgB;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO;SACV;QAED,IAAM,MAAM,GAAG,IAAI,KAAK,EAAa,CAAC;QACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACzD,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9C,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,GAAG,IAAI,MAAI,KAAO,CAAC;aACtB;YAED,OAAO,CAAC,GAAG,CAAC,QAAM,IAAI,CAAC,UAAU,UAAK,GAAK,CAAC,CAAC;YAC7C,IAAM,KAAK,GAAc;gBACrB,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,iBAAK;gBACZ,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE;oBACJ,OAAO,EAAE,EAAE;iBACd;aACJ,CAAC;YAEF,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;YAC9F,KAAK,CAAC,OAAO,GAAG,oCAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;QAGD,OAAO,MAAM,CAAC;IAClB,CAAC;IACL,sBAAC;AAAD,CAAC,AApCD,CAAqC,wBAAiB,GAoCrD;AApCY,0CAAe"}
@@ -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.ModuleConverter = void 0;
17
+ var base_1 = require("./base");
18
+ var constants_1 = require("../common/constants");
19
+ var ModuleConverter = /** @class */ (function (_super) {
20
+ __extends(ModuleConverter, _super);
21
+ function ModuleConverter() {
22
+ return _super !== null && _super.apply(this, arguments) || this;
23
+ }
24
+ ModuleConverter.prototype.generate = function (node, context) {
25
+ node.name = node.name.replace(/"/g, '');
26
+ node.name = node.name.replace(/\//g, '.');
27
+ var uid = context.ParentUid + ("." + node.name);
28
+ var model = {
29
+ uid: uid,
30
+ name: node.name,
31
+ langs: constants_1.langs,
32
+ fullName: node.name + this.getGenericType(node.typeParameter),
33
+ children: [],
34
+ type: node.kindString.toLowerCase(),
35
+ summary: node.comment ? this.findDescriptionInComment(node.comment) : ''
36
+ };
37
+ console.log(node.kindString + ": " + uid);
38
+ return [model];
39
+ };
40
+ return ModuleConverter;
41
+ }(base_1.AbstractConverter));
42
+ exports.ModuleConverter = ModuleConverter;
43
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/converters/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+BAA2C;AAE3C,iDAA4C;AAE5C;IAAqC,mCAAiB;IAAtD;;IAoBA,CAAC;IAnBa,kCAAQ,GAAlB,UAAmB,IAAU,EAAE,OAAgB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE1C,IAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAG,MAAI,IAAI,CAAC,IAAM,CAAA,CAAC;QAChD,IAAM,KAAK,GAAc;YACrB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,iBAAK;YACZ,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7D,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC3E,CAAC;QAEF,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,UAAU,UAAK,GAAK,CAAC,CAAC;QAE1C,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACL,sBAAC;AAAD,CAAC,AApBD,CAAqC,wBAAiB,GAoBrD;AApBY,0CAAe"}
@@ -0,0 +1,59 @@
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.PropertyConverter = void 0;
17
+ var base_1 = require("./base");
18
+ var idResolver_1 = require("../idResolver");
19
+ var _ = require("lodash");
20
+ var constants_1 = require("../common/constants");
21
+ var PropertyConverter = /** @class */ (function (_super) {
22
+ __extends(PropertyConverter, _super);
23
+ function PropertyConverter() {
24
+ return _super !== null && _super.apply(this, arguments) || this;
25
+ }
26
+ PropertyConverter.prototype.generate = function (node, context) {
27
+ var uid = context.ParentUid + '.' + node.name;
28
+ console.log(" - " + node.kindString + ": " + uid);
29
+ var isPublic = node.flags && node.flags.isPublic ? 'public ' : '';
30
+ var isStatic = node.flags && node.flags.isStatic ? 'static ' : '';
31
+ var isOptional = node.flags && node.flags.isOptional ? '?' : '';
32
+ var defaultValue = node.defaultValue ? " = " + _.trim(node.defaultValue) : '';
33
+ var model = {
34
+ uid: uid,
35
+ name: node.name,
36
+ fullName: node.name,
37
+ children: [],
38
+ langs: constants_1.langs,
39
+ type: node.kindString.toLowerCase(),
40
+ summary: node.comment ? this.findDescriptionInComment(node.comment) : '',
41
+ optional: Boolean(node.flags && node.flags.isOptional),
42
+ syntax: {
43
+ content: "" + isPublic + isStatic + node.name + isOptional + ": " + idResolver_1.typeToString(this.extractType(node.type)[0], node.kindString) + defaultValue,
44
+ return: {
45
+ type: this.extractType(node.type),
46
+ description: this.extractReturnComment(node.comment)
47
+ }
48
+ }
49
+ };
50
+ if (node.inheritedFrom) {
51
+ model.inherited = true;
52
+ model.inheritanceDescription = this.generateInheritanceDescription(node.inheritedFrom);
53
+ }
54
+ return [model];
55
+ };
56
+ return PropertyConverter;
57
+ }(base_1.AbstractConverter));
58
+ exports.PropertyConverter = PropertyConverter;
59
+ //# sourceMappingURL=property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../src/converters/property.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+BAA2C;AAC3C,4CAA6C;AAC7C,0BAA4B;AAE5B,iDAA4C;AAE5C;IAAuC,qCAAiB;IAAxD;;IAiCA,CAAC;IAhCa,oCAAQ,GAAlB,UAAmB,IAAU,EAAE,OAAgB;QAC3C,IAAM,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,QAAM,IAAI,CAAC,UAAU,UAAK,GAAK,CAAC,CAAC;QAC7C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,IAAM,KAAK,GAAc;YACrB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,iBAAK;YACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACtD,MAAM,EAAE;gBACJ,OAAO,EAAE,KAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,UAAU,UAAK,yBAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,YAAc;gBAC3I,MAAM,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;iBACvD;aACJ;SACJ,CAAC;QAEF,IAAG,IAAI,CAAC,aAAa,EAAE;YACnB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC1F;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACL,wBAAC;AAAD,CAAC,AAjCD,CAAuC,wBAAiB,GAiCvD;AAjCY,8CAAiB"}
@@ -0,0 +1,70 @@
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.TypeConverter = void 0;
17
+ var base_1 = require("./base");
18
+ var constants_1 = require("../common/constants");
19
+ var TypeConverter = /** @class */ (function (_super) {
20
+ __extends(TypeConverter, _super);
21
+ function TypeConverter() {
22
+ return _super !== null && _super.apply(this, arguments) || this;
23
+ }
24
+ TypeConverter.prototype.generate = function (node, context) {
25
+ // to add this to handle duplicate class and module under the same hirachy
26
+ if (node.kindString === 'Class' || node.kindString === 'Interface' || node.kindString === 'Type alias') {
27
+ if (context.ParentKind === 'Class' || context.ParentKind === 'Interface') {
28
+ var currentUid = context.ParentUid + ("." + node.name);
29
+ var mapping = [];
30
+ if (this.references.has(context.ParentUid)) {
31
+ mapping = this.references.get(context.ParentUid);
32
+ }
33
+ mapping.push(currentUid);
34
+ this.references.set(context.ParentUid, mapping);
35
+ }
36
+ }
37
+ var uid = context.ParentUid + ("." + node.name);
38
+ console.log(node.kindString + ": " + uid);
39
+ var model = {
40
+ uid: uid,
41
+ name: node.name,
42
+ fullName: node.name + this.getGenericType(node.typeParameter),
43
+ children: [],
44
+ langs: constants_1.langs,
45
+ type: node.kindString.toLowerCase(),
46
+ summary: node.comment ? this.findDescriptionInComment(node.comment) : ''
47
+ };
48
+ if (model.type === 'enumeration') {
49
+ model.type = 'enum';
50
+ }
51
+ if (model.type === 'type alias') {
52
+ var typeArgumentsContent = this.parseTypeArgumentsForTypeAlias(node);
53
+ if (typeArgumentsContent) {
54
+ model.syntax = { content: 'type ' + model.name + typeArgumentsContent + ' = ' + this.parseTypeDeclarationForTypeAlias(node.type) };
55
+ }
56
+ else {
57
+ model.syntax = { content: 'type ' + model.name + ' = ' + this.parseTypeDeclarationForTypeAlias(node.type) };
58
+ }
59
+ }
60
+ if (node.extendedTypes && node.extendedTypes.length) {
61
+ model.extends = {
62
+ name: this.extractType(node.extendedTypes[0])[0]
63
+ };
64
+ }
65
+ return [model];
66
+ };
67
+ return TypeConverter;
68
+ }(base_1.AbstractConverter));
69
+ exports.TypeConverter = TypeConverter;
70
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/converters/type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+BAA2C;AAG3C,iDAA4C;AAE5C;IAAmC,iCAAiB;IAApD;;IA+CA,CAAC;IA9Ca,gCAAQ,GAAlB,UAAmB,IAAU,EAAE,OAAgB;QAC3C,0EAA0E;QAC1E,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,YAAY,EAAE;YACpG,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE;gBACtE,IAAM,UAAU,GAAG,OAAO,CAAC,SAAS,IAAG,MAAI,IAAI,CAAC,IAAM,CAAA,CAAC;gBACvD,IAAI,OAAO,GAAa,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACxC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpD;gBACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aACnD;SACJ;QAED,IAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAG,MAAI,IAAI,CAAC,IAAM,CAAA,CAAC;QAChD,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,UAAU,UAAK,GAAK,CAAC,CAAC;QAC1C,IAAM,KAAK,GAAc;YACrB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7D,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,iBAAK;YACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC3E,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;YAC9B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;SACvB;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;YAC7B,IAAI,oBAAoB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,oBAAoB,EAAE;gBACtB,KAAK,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,oBAAoB,GAAG,KAAK,GAAG,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACtI;iBAAM;gBACH,KAAK,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC/G;SACJ;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACjD,KAAK,CAAC,OAAO,GAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACnD,CAAC;SACL;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACL,oBAAC;AAAD,CAAC,AA/CD,CAAmC,wBAAiB,GA+CnD;AA/CY,sCAAa"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertLinkToGfm = exports.getTextAndLink = void 0;
4
+ var dfmRegex = [
5
+ /\[(?:([^\]]+))\]{(@link|@link|@linkcode|@linkplain) +(?:module:)?([^}| ]+)}/g,
6
+ /\{(@link|@linkcode|@linkplain) +(?:module:)?([^}| ]+)(?:(?:\|| +)([^}]+))?\}/g
7
+ ];
8
+ // http://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url#answer-3809435
9
+ var urlRegex = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/;
10
+ function getTextAndLink(text) {
11
+ var matches = dfmRegex[0].exec(text);
12
+ if (matches[1] && matches[3]) {
13
+ return [matches[1], matches[3]];
14
+ }
15
+ matches = dfmRegex[1].exec(text);
16
+ if (matches[3] && matches[2]) {
17
+ return [matches[3], matches[2]];
18
+ }
19
+ return [];
20
+ }
21
+ exports.getTextAndLink = getTextAndLink;
22
+ function convertLinkToGfm(text, uidPrefix) {
23
+ if (uidPrefix === void 0) { uidPrefix = null; }
24
+ if (!text)
25
+ return '';
26
+ var dfmLinkRules = [
27
+ {
28
+ // [link text]{@link namepathOrURL}
29
+ regexp: dfmRegex[0],
30
+ callback: function (match, p1, p2, p3) {
31
+ return generateDfmLink(p2, p3, p1);
32
+ }
33
+ },
34
+ {
35
+ // {@link namepathOrURL}
36
+ // {@link namepathOrURL|link text}
37
+ // {@link namepathOrURL link text (after the first space)}
38
+ regexp: dfmRegex[1],
39
+ callback: function (match, p1, p2, p3) {
40
+ return generateDfmLink(p1, p2, p3);
41
+ }
42
+ }
43
+ ];
44
+ var result = text;
45
+ dfmLinkRules.forEach(function (r) {
46
+ result = result.replace(r.regexp, r.callback);
47
+ });
48
+ return result;
49
+ function generateDfmLink(tag, target, text) {
50
+ var result = '';
51
+ if (text) {
52
+ result = text;
53
+ if (tag === '@linkcode') {
54
+ result = '<code>' + result + '</code>';
55
+ }
56
+ result = '[' + result + '](';
57
+ if (!urlRegex.test(target)) {
58
+ // if target isn't a url, it must be a namepath(uid)
59
+ result += 'xref:';
60
+ target = convertNamepathToUid(target);
61
+ }
62
+ result += target + ')';
63
+ }
64
+ else {
65
+ if (urlRegex.test(target)) {
66
+ return target;
67
+ }
68
+ // if link text is undefined and target isn't a url, it must link to namepath(uid)
69
+ result = '<xref:' + convertNamepathToUid(target) + '>';
70
+ if (tag === '@linkcode') {
71
+ result = '<code>' + result + '</code>';
72
+ }
73
+ }
74
+ return result;
75
+ function convertNamepathToUid(namepath) {
76
+ var uid = encodeURIComponent(namepath);
77
+ if (uidPrefix) {
78
+ uid = uidPrefix + uid;
79
+ }
80
+ return uid;
81
+ }
82
+ }
83
+ }
84
+ exports.convertLinkToGfm = convertLinkToGfm;
85
+ //# sourceMappingURL=linkConvertHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkConvertHelper.js","sourceRoot":"","sources":["../../src/helpers/linkConvertHelper.ts"],"names":[],"mappings":";;;AAAA,IAAM,QAAQ,GAAG;IACf,8EAA8E;IAC9E,+EAA+E;CAChF,CAAC;AAEF,6GAA6G;AAC7G,IAAM,QAAQ,GAAG,6FAA6F,CAAC;AAE/G,SAAgB,cAAc,CAAC,IAAY;IACzC,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;IACD,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,wCAUC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,SAAwB;IAAxB,0BAAA,EAAA,gBAAwB;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,YAAY,GAAG;QACjB;YACE,mCAAmC;YACnC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnB,QAAQ,EAAE,UAAU,KAAU,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO;gBACvD,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC;SACF;QACD;YACE,wBAAwB;YACxB,kCAAkC;YAClC,0DAA0D;YAC1D,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnB,QAAQ,EAAE,UAAU,KAAU,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO;gBACvD,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC;SACF;KACF,CAAC;IAEF,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;IAEd,SAAS,eAAe,CAAC,GAAW,EAAE,MAAc,EAAE,IAAY;QAChE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,EAAE;YACR,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,GAAG,KAAK,WAAW,EAAE;gBACvB,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;aACxC;YACD,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC;YAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC1B,oDAAoD;gBACpD,MAAM,IAAI,OAAO,CAAC;gBAClB,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;aACvC;YACD,MAAM,IAAI,MAAM,GAAG,GAAG,CAAC;SAExB;aAAM;YACL,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC;gBACxB,OAAO,MAAM,CAAC;aACf;YACD,kFAAkF;YAClF,MAAM,GAAG,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACvD,IAAI,GAAG,KAAK,WAAW,EAAE;gBACvB,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;aACxC;SACF;QACD,OAAO,MAAM,CAAC;QAEd,SAAS,oBAAoB,CAAC,QAAgB;YAC5C,IAAI,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,SAAS,EAAE;gBACb,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;aACvB;YACD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AA/DD,4CA+DC"}