@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.
- package/LICENSE +201 -0
- package/README.md +56 -0
- package/dist/cli.js +23 -0
- package/dist/cli.js.map +1 -0
- package/dist/common/constants.js +10 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/error.js +29 -0
- package/dist/common/error.js.map +1 -0
- package/dist/common/regex.js +5 -0
- package/dist/common/regex.js.map +1 -0
- package/dist/converters/accessor.js +65 -0
- package/dist/converters/accessor.js.map +1 -0
- package/dist/converters/base.js +406 -0
- package/dist/converters/base.js.map +1 -0
- package/dist/converters/context.js +48 -0
- package/dist/converters/context.js.map +1 -0
- package/dist/converters/converter.js +44 -0
- package/dist/converters/converter.js.map +1 -0
- package/dist/converters/empty.js +29 -0
- package/dist/converters/empty.js.map +1 -0
- package/dist/converters/enum.js +43 -0
- package/dist/converters/enum.js.map +1 -0
- package/dist/converters/method.js +57 -0
- package/dist/converters/method.js.map +1 -0
- package/dist/converters/module.js +43 -0
- package/dist/converters/module.js.map +1 -0
- package/dist/converters/property.js +59 -0
- package/dist/converters/property.js.map +1 -0
- package/dist/converters/type.js +70 -0
- package/dist/converters/type.js.map +1 -0
- package/dist/helpers/linkConvertHelper.js +85 -0
- package/dist/helpers/linkConvertHelper.js.map +1 -0
- package/dist/helpers/toSdpConvertHelper.js +371 -0
- package/dist/helpers/toSdpConvertHelper.js.map +1 -0
- package/dist/idResolver.js +131 -0
- package/dist/idResolver.js.map +1 -0
- package/dist/interfaces/ReferenceMapping.js +3 -0
- package/dist/interfaces/ReferenceMapping.js.map +1 -0
- package/dist/interfaces/SDPYamlModel.js +3 -0
- package/dist/interfaces/SDPYamlModel.js.map +1 -0
- package/dist/interfaces/TocItem.js +3 -0
- package/dist/interfaces/TocItem.js.map +1 -0
- package/dist/interfaces/TypeDocModel.js +3 -0
- package/dist/interfaces/TypeDocModel.js.map +1 -0
- package/dist/interfaces/UidMapping.js +3 -0
- package/dist/interfaces/UidMapping.js.map +1 -0
- package/dist/interfaces/YamlModel.js +3 -0
- package/dist/interfaces/YamlModel.js.map +1 -0
- package/dist/main.js +163 -0
- package/dist/main.js.map +1 -0
- package/dist/moduleGenerator.js +34 -0
- package/dist/moduleGenerator.js.map +1 -0
- package/dist/packageGenerator.js +35 -0
- package/dist/packageGenerator.js.map +1 -0
- package/dist/parser.js +66 -0
- package/dist/parser.js.map +1 -0
- package/dist/postTransformer.js +186 -0
- package/dist/postTransformer.js.map +1 -0
- package/dist/tocGenerator.js +81 -0
- package/dist/tocGenerator.js.map +1 -0
- package/jest.config.js +6 -0
- package/package.json +56 -0
- package/tsconfig.json +16 -0
package/dist/main.js
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.run = void 0;
|
|
4
|
+
var serializer = require("js-yaml");
|
|
5
|
+
var os_1 = require("os");
|
|
6
|
+
var path_1 = require("path");
|
|
7
|
+
var child_process_1 = require("child_process");
|
|
8
|
+
var parser_1 = require("./parser");
|
|
9
|
+
var postTransformer_1 = require("./postTransformer");
|
|
10
|
+
var tocGenerator_1 = require("./tocGenerator");
|
|
11
|
+
var idResolver_1 = require("./idResolver");
|
|
12
|
+
var constants_1 = require("./common/constants");
|
|
13
|
+
var context_1 = require("./converters/context");
|
|
14
|
+
var toSdpConvertHelper_1 = require("./helpers/toSdpConvertHelper");
|
|
15
|
+
var typedoc_1 = require("typedoc");
|
|
16
|
+
var converter_1 = require("typedoc/dist/lib/converter");
|
|
17
|
+
var fs_extra_1 = require("fs-extra");
|
|
18
|
+
var error_1 = require("./common/error");
|
|
19
|
+
function run(inputPath, outputPath) {
|
|
20
|
+
var json = null;
|
|
21
|
+
if (fs_extra_1.existsSync(inputPath) && fs_extra_1.lstatSync(inputPath).isDirectory()) {
|
|
22
|
+
// Building a folder
|
|
23
|
+
json = runTypeDoc(inputPath);
|
|
24
|
+
}
|
|
25
|
+
else if (fs_extra_1.existsSync(inputPath) && fs_extra_1.lstatSync(inputPath).isFile() && inputPath.endsWith('.json')) {
|
|
26
|
+
// Building typedoc json output
|
|
27
|
+
json = fs_extra_1.readJSONSync(inputPath);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Building an npm package spec, this could be anything `npm install` supports: a package name, a git repository, a tarball file, etc.
|
|
31
|
+
json = runPackage(inputPath);
|
|
32
|
+
}
|
|
33
|
+
var uidMapping = {};
|
|
34
|
+
// const innerClassReferenceMapping = new Map<string, string[]>();
|
|
35
|
+
var collection = [];
|
|
36
|
+
if (json) {
|
|
37
|
+
var context = new context_1.Context('', '', json.name, new Map());
|
|
38
|
+
collection = new parser_1.Parser().traverse(json, uidMapping, context);
|
|
39
|
+
}
|
|
40
|
+
if (!collection || collection.length === 0) {
|
|
41
|
+
console.log("Warning: nothing genereatd.");
|
|
42
|
+
}
|
|
43
|
+
var referenceMappings = [];
|
|
44
|
+
for (var _i = 0, collection_1 = collection; _i < collection_1.length; _i++) {
|
|
45
|
+
var rootElement = collection_1[_i];
|
|
46
|
+
var referenceMapping = {};
|
|
47
|
+
idResolver_1.resolveIds(rootElement, uidMapping, referenceMapping);
|
|
48
|
+
referenceMappings.push(referenceMapping);
|
|
49
|
+
}
|
|
50
|
+
var rootElementsForTOC = JSON.parse(JSON.stringify(collection));
|
|
51
|
+
var flattenElements = collection.map(function (rootElement, index) {
|
|
52
|
+
if (rootElement.uid.indexOf('constructor') >= 0) {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
return postTransformer_1.postTransform(rootElement, referenceMappings[index]);
|
|
56
|
+
}).reduce(function (a, b) {
|
|
57
|
+
return a.concat(b);
|
|
58
|
+
}, []);
|
|
59
|
+
fs_extra_1.ensureDirSync(outputPath);
|
|
60
|
+
console.log('Yaml dump start.');
|
|
61
|
+
var allUids = toSdpConvertHelper_1.getAllUids(flattenElements);
|
|
62
|
+
// insertClassReferenceForModule(flattenElements);
|
|
63
|
+
var noDuplicateModels = {};
|
|
64
|
+
for (var _a = 0, flattenElements_1 = flattenElements; _a < flattenElements_1.length; _a++) {
|
|
65
|
+
var transfomredClass = flattenElements_1[_a];
|
|
66
|
+
// to add this to handle duplicate class and module under the same hierachy
|
|
67
|
+
// insertInnerClassReference(innerClassReferenceMapping, transfomredClass);
|
|
68
|
+
transfomredClass = JSON.parse(JSON.stringify(transfomredClass));
|
|
69
|
+
var content = toSdpConvertHelper_1.convertToSDP(transfomredClass, flattenElements, allUids);
|
|
70
|
+
var item = transfomredClass.items[0];
|
|
71
|
+
noDuplicateModels[item.uid] = item;
|
|
72
|
+
if (content) {
|
|
73
|
+
var filename = generateFilename(item.uid.replace(item.package + ".", ''));
|
|
74
|
+
console.log("Dump " + outputPath + "/" + filename + ".yml");
|
|
75
|
+
fs_extra_1.writeFileSync(outputPath + "/" + filename + ".yml", "" + constants_1.sdpYamlHeaderPrefix + content.type + "\n" + serializer.safeDump(content.model));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
console.log('Yaml dump end.');
|
|
79
|
+
var yamlModels = [];
|
|
80
|
+
for (var key in noDuplicateModels) {
|
|
81
|
+
yamlModels.push(noDuplicateModels[key]);
|
|
82
|
+
}
|
|
83
|
+
if (yamlModels.length > 0) {
|
|
84
|
+
var packageIndex = toSdpConvertHelper_1.mergeElementsToPackageSDP(yamlModels, allUids);
|
|
85
|
+
fs_extra_1.writeFileSync(outputPath + "/index.yml", constants_1.sdpYamlHeaderPrefix + "Package\n" + serializer.safeDump(packageIndex));
|
|
86
|
+
console.log('Package index generated.');
|
|
87
|
+
var toc = tocGenerator_1.generateTOC(rootElementsForTOC, flattenElements[0].items[0].package);
|
|
88
|
+
fs_extra_1.writeFileSync(outputPath + "/toc.yml", serializer.safeDump(toc));
|
|
89
|
+
console.log('Toc generated.');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.run = run;
|
|
93
|
+
function generateFilename(originName) {
|
|
94
|
+
var filename = originName;
|
|
95
|
+
filename = filename.replace(/\//g, '.');
|
|
96
|
+
if (constants_1.alreadyExistFilename.indexOf(filename.toLowerCase()) !== -1) {
|
|
97
|
+
console.log("[warning] filename " + filename + " is conflict! prefix add _");
|
|
98
|
+
}
|
|
99
|
+
constants_1.alreadyExistFilename.push(filename.toLowerCase());
|
|
100
|
+
return filename;
|
|
101
|
+
}
|
|
102
|
+
function runTypeDoc(directory) {
|
|
103
|
+
var app = new typedoc_1.Application({
|
|
104
|
+
mode: 'Modules',
|
|
105
|
+
logger: 'console',
|
|
106
|
+
target: 'ES5',
|
|
107
|
+
module: 'CommonJS',
|
|
108
|
+
includeDeclarations: true,
|
|
109
|
+
ignoreCompilerErrors: true,
|
|
110
|
+
excludeExternals: true,
|
|
111
|
+
stripInternal: true,
|
|
112
|
+
tsconfig: path_1.join(directory, 'tsconfig.json')
|
|
113
|
+
});
|
|
114
|
+
var fileNames = app.expandInputFiles([directory]).map(function (file) { return file.replace(/\\/g, '/'); });
|
|
115
|
+
var rootFile = getRootFile();
|
|
116
|
+
if (!rootFile) {
|
|
117
|
+
return app.serializer.projectToObject(app.convert(fileNames));
|
|
118
|
+
}
|
|
119
|
+
if (!fs_extra_1.existsSync(rootFile)) {
|
|
120
|
+
throw new error_1.UserError(rootFile + " doesn't exist, which is defined in package.json.");
|
|
121
|
+
}
|
|
122
|
+
// If we have a root file to follow, only include files in the source directory that are
|
|
123
|
+
// transitively reachable from the root file.
|
|
124
|
+
//
|
|
125
|
+
// The following line tells typedoc to not treat files in the source directory as external.
|
|
126
|
+
// https://github.com/TypeStrong/typedoc/blob/v0.15.3/src/lib/converter/context.ts#L221
|
|
127
|
+
app.converter.on(converter_1.Converter.EVENT_BEGIN, function (context) { return context.fileNames = fileNames; });
|
|
128
|
+
return app.serializer.projectToObject(app.convert([rootFile]));
|
|
129
|
+
function getRootFile() {
|
|
130
|
+
var packageJsonPath = path_1.join(directory, 'package.json');
|
|
131
|
+
if (fs_extra_1.existsSync(packageJsonPath)) {
|
|
132
|
+
var _a = JSON.parse(fs_extra_1.readFileSync(packageJsonPath).toString()), types = _a.types, typings = _a.typings;
|
|
133
|
+
if (types || typings) {
|
|
134
|
+
return path_1.resolve(path_1.join(directory, types || typings));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function runPackage(inputPath) {
|
|
140
|
+
fs_extra_1.ensureDirSync(path_1.join(os_1.tmpdir(), 'type2docfx'));
|
|
141
|
+
var tempPath = fs_extra_1.mkdtempSync(path_1.join(os_1.tmpdir(), 'type2docfx', 'package-'));
|
|
142
|
+
fs_extra_1.ensureDirSync(tempPath);
|
|
143
|
+
console.log("Install package " + inputPath + " to " + tempPath);
|
|
144
|
+
// Copy .npmrc to our temp working directory to inherit credentials and configurations
|
|
145
|
+
// from the current working directory.
|
|
146
|
+
if (fs_extra_1.existsSync('.npmrc')) {
|
|
147
|
+
fs_extra_1.copyFileSync('.npmrc', tempPath + "/.npmrc");
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
child_process_1.execSync("npm install " + inputPath + " --prefix " + tempPath);
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
fs_extra_1.removeSync(tempPath + "/.npmrc");
|
|
154
|
+
}
|
|
155
|
+
var dependencies = fs_extra_1.readJSONSync(path_1.join(tempPath, 'package.json')).dependencies;
|
|
156
|
+
var packageName = Object.keys(dependencies)[0];
|
|
157
|
+
var packagePath = tempPath + "/node_modules/" + packageName;
|
|
158
|
+
var json = runTypeDoc(packagePath);
|
|
159
|
+
console.log("Clean up " + tempPath);
|
|
160
|
+
fs_extra_1.removeSync(tempPath);
|
|
161
|
+
return json;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AAAA,oCAAsC;AACtC,yBAA4B;AAC5B,6BAAqC;AACrC,+CAAyC;AACzC,mCAAkC;AAClC,qDAAkD;AAClD,+CAA6C;AAC7C,2CAA0C;AAG1C,gDAA+E;AAE/E,gDAA+C;AAE/C,mEAAmG;AACnG,mCAAsC;AACtC,wDAAuD;AAEvD,qCAAkJ;AAClJ,wCAA2C;AAE3C,SAAgB,GAAG,CAAC,SAAiB,EAAE,UAAkB;IACrD,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,IAAI,qBAAU,CAAC,SAAS,CAAC,IAAI,oBAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;QAC7D,oBAAoB;QACpB,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;KAChC;SAAM,IAAI,qBAAU,CAAC,SAAS,CAAC,IAAI,oBAAS,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9F,+BAA+B;QAC/B,IAAI,GAAG,uBAAY,CAAC,SAAS,CAAS,CAAC;KAC1C;SAAM;QACH,sIAAsI;QACtI,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;KAC/B;IAED,IAAM,UAAU,GAAe,EAAE,CAAC;IAClC,kEAAkE;IAElE,IAAI,UAAU,GAAgB,EAAE,CAAC;IACjC,IAAI,IAAI,EAAE;QACN,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAoB,CAAC,CAAC;QAC5E,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;KACjE;IAED,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;KAC9C;IAED,IAAM,iBAAiB,GAAuB,EAAE,CAAC;IACjD,KAA0B,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;QAAjC,IAAM,WAAW,mBAAA;QAClB,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,uBAAU,CAAC,WAAW,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACtD,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC5C;IAED,IAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,IAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,WAAW,EAAE,KAAK;QACtD,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC7C,OAAO,EAAE,CAAC;SACb;QAED,OAAO,+BAAa,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wBAAa,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAEhC,IAAM,OAAO,GAAG,+BAAU,CAAC,eAAe,CAAC,CAAC;IAE5C,kDAAkD;IAClD,IAAM,iBAAiB,GAA+B,EAAE,CAAC;IACzD,KAA6B,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe,EAAE;QAAzC,IAAI,gBAAgB,wBAAA;QACrB,2EAA2E;QAC3E,2EAA2E;QAC3E,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChE,IAAM,OAAO,GAAG,iCAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;QACxE,IAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,OAAO,EAAE;YACT,IAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAI,IAAI,CAAC,OAAO,MAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,UAAQ,UAAU,SAAI,QAAQ,SAAM,CAAC,CAAC;YAClD,wBAAa,CAAI,UAAU,SAAI,QAAQ,SAAM,EAAE,KAAG,+BAAmB,GAAG,OAAO,CAAC,IAAI,UAAK,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAG,CAAC,CAAC;SAClI;KACJ;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE9B,IAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,IAAM,GAAG,IAAI,iBAAiB,EAAE;QACjC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,IAAM,YAAY,GAAG,8CAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpE,wBAAa,CAAI,UAAU,eAAY,EAAK,+BAAmB,iBAAY,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAG,CAAC,CAAC;QAChH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAExC,IAAM,GAAG,GAAG,0BAAW,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjF,wBAAa,CAAI,UAAU,aAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACjC;AACL,CAAC;AAlFD,kBAkFC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IACxC,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,gCAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,wBAAsB,QAAQ,+BAA4B,CAAC,CAAC;KAC3E;IACD,gCAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACjC,IAAM,GAAG,GAAG,IAAI,qBAAW,CAAC;QACxB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,UAAU;QAClB,mBAAmB,EAAE,IAAI;QACzB,oBAAoB,EAAE,IAAI;QAC1B,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,WAAI,CAAC,SAAS,EAAE,eAAe,CAAC;KAC7C,CAAC,CAAC;IAEH,IAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAxB,CAAwB,CAAC,CAAA;IACzF,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAS,CAAC;KACzE;IACD,IAAI,CAAC,qBAAU,CAAC,QAAQ,CAAC,EAAE;QACvB,MAAM,IAAI,iBAAS,CACd,QAAQ,sDAAmD,CAC/D,CAAC;KACL;IAED,wFAAwF;IACxF,6CAA6C;IAC7C,EAAE;IACF,4FAA4F;IAC5F,uFAAuF;IACvF,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAS,CAAC,WAAW,EAAE,UAAC,OAAuB,IAAK,OAAA,OAAO,CAAC,SAAS,GAAG,SAAS,EAA7B,CAA6B,CAAC,CAAA;IAEnG,OAAO,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAS,CAAC;IAEvE,SAAS,WAAW;QAChB,IAAM,eAAe,GAAG,WAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACxD,IAAI,qBAAU,CAAC,eAAe,CAAC,EAAE;YACvB,IAAA,KAAqB,IAAI,CAAC,KAAK,CAAC,uBAAY,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAyC,EAA/G,KAAK,WAAA,EAAE,OAAO,aAAiG,CAAC;YACxH,IAAI,KAAK,IAAI,OAAO,EAAE;gBAClB,OAAO,cAAO,CAAC,WAAI,CAAC,SAAS,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACjC,wBAAa,CAAC,WAAI,CAAC,WAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;IAC3C,IAAM,QAAQ,GAAG,sBAAW,CAAC,WAAI,CAAC,WAAM,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IACtE,wBAAa,CAAC,QAAQ,CAAC,CAAA;IAEvB,OAAO,CAAC,GAAG,CAAC,qBAAmB,SAAS,YAAO,QAAU,CAAC,CAAA;IAE1D,sFAAsF;IACtF,sCAAsC;IACtC,IAAI,qBAAU,CAAC,QAAQ,CAAC,EAAE;QACtB,uBAAY,CAAC,QAAQ,EAAK,QAAQ,YAAS,CAAC,CAAA;KAC/C;IAED,IAAI;QACA,wBAAQ,CAAC,iBAAe,SAAS,kBAAa,QAAU,CAAC,CAAA;KAC5D;YAAS;QACN,qBAAU,CAAI,QAAQ,YAAS,CAAC,CAAA;KACnC;IAEO,IAAA,YAAY,GAAK,uBAAY,CAAC,WAAI,CAAC,QAAQ,EAAC,cAAc,CAAC,CAAC,aAAhD,CAAgD;IACpE,IAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAM,WAAW,GAAM,QAAQ,sBAAiB,WAAa,CAAA;IAC7D,IAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAEpC,OAAO,CAAC,GAAG,CAAC,cAAY,QAAU,CAAC,CAAA;IACnC,qBAAU,CAAC,QAAQ,CAAC,CAAA;IACpB,OAAO,IAAI,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateModules = void 0;
|
|
4
|
+
function generateModules(tocRoots) {
|
|
5
|
+
var result = [];
|
|
6
|
+
tocRoots.forEach(function (tocRoot) {
|
|
7
|
+
var root = {
|
|
8
|
+
items: [],
|
|
9
|
+
references: []
|
|
10
|
+
};
|
|
11
|
+
var moduleModel = {
|
|
12
|
+
uid: tocRoot.uid,
|
|
13
|
+
name: tocRoot.name,
|
|
14
|
+
summary: '',
|
|
15
|
+
langs: ['typeScript'],
|
|
16
|
+
type: 'module',
|
|
17
|
+
children: []
|
|
18
|
+
};
|
|
19
|
+
if (tocRoot.items && tocRoot.items.length) {
|
|
20
|
+
tocRoot.items.forEach(function (item) {
|
|
21
|
+
moduleModel.children.push(item.uid);
|
|
22
|
+
root.references.push({
|
|
23
|
+
uid: item.uid,
|
|
24
|
+
name: item.name
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
root.items.push(moduleModel);
|
|
28
|
+
result.push(root);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
exports.generateModules = generateModules;
|
|
34
|
+
//# sourceMappingURL=moduleGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleGenerator.js","sourceRoot":"","sources":["../src/moduleGenerator.ts"],"names":[],"mappings":";;;AAGA,SAAgB,eAAe,CAAC,QAAmB;IAC/C,IAAI,MAAM,GAAW,EAAE,CAAC;IAExB,QAAQ,CAAC,OAAO,CAAC,UAAA,OAAO;QACpB,IAAI,IAAI,GAAS;YACb,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACjB,CAAC;QACF,IAAI,WAAW,GAAc;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,CAAE,YAAY,CAAE;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;YACvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;gBACrB,WAAW,CAAC,QAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAhCD,0CAgCC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generatePackage = void 0;
|
|
4
|
+
function generatePackage(elements) {
|
|
5
|
+
var root = {
|
|
6
|
+
items: [],
|
|
7
|
+
references: []
|
|
8
|
+
};
|
|
9
|
+
var packageModel = null;
|
|
10
|
+
if (elements && elements.length) {
|
|
11
|
+
packageModel = {
|
|
12
|
+
uid: null,
|
|
13
|
+
name: null,
|
|
14
|
+
summary: '',
|
|
15
|
+
children: [],
|
|
16
|
+
type: 'package',
|
|
17
|
+
langs: ['typeScript']
|
|
18
|
+
};
|
|
19
|
+
elements.forEach(function (element) {
|
|
20
|
+
root.references.push({
|
|
21
|
+
uid: element.uid,
|
|
22
|
+
name: element.name
|
|
23
|
+
});
|
|
24
|
+
packageModel.children.push(element.uid);
|
|
25
|
+
if (!packageModel.uid && element.package) {
|
|
26
|
+
packageModel.uid = element.package;
|
|
27
|
+
packageModel.name = element.package;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
root.items.push(packageModel);
|
|
32
|
+
return root;
|
|
33
|
+
}
|
|
34
|
+
exports.generatePackage = generatePackage;
|
|
35
|
+
//# sourceMappingURL=packageGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageGenerator.js","sourceRoot":"","sources":["../src/packageGenerator.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,QAAqB;IACjD,IAAI,IAAI,GAAS;QACb,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,YAAY,GAAc,IAAI,CAAC;IACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC7B,YAAY,GAAG;YACX,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAE,YAAY,CAAE;SAC1B,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,UAAA,OAAO;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;aACrB,CAAC,CAAC;YACF,YAAY,CAAC,QAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;gBACtC,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;gBACnC,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;aACvC;QACL,CAAC,CAAC,CAAC;KACN;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AAChB,CAAC;AA9BD,0CA8BC"}
|
package/dist/parser.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Parser = void 0;
|
|
4
|
+
var converter_1 = require("./converters/converter");
|
|
5
|
+
var context_1 = require("./converters/context");
|
|
6
|
+
var Parser = /** @class */ (function () {
|
|
7
|
+
function Parser() {
|
|
8
|
+
}
|
|
9
|
+
Parser.prototype.traverse = function (node, uidMapping, context) {
|
|
10
|
+
var collection = new Array();
|
|
11
|
+
if (this.needIgnore(node)) {
|
|
12
|
+
return collection;
|
|
13
|
+
}
|
|
14
|
+
var models = new converter_1.Converter().convert(node, context);
|
|
15
|
+
for (var _i = 0, models_1 = models; _i < models_1.length; _i++) {
|
|
16
|
+
var model = models_1[_i];
|
|
17
|
+
uidMapping[node.id] = model.uid;
|
|
18
|
+
collection.push(model);
|
|
19
|
+
}
|
|
20
|
+
if (!node.children || node.children.length <= 0) {
|
|
21
|
+
return collection;
|
|
22
|
+
}
|
|
23
|
+
for (var _a = 0, _b = node.children; _a < _b.length; _a++) {
|
|
24
|
+
var child = _b[_a];
|
|
25
|
+
var uid = models.length > 0 ? models[0].uid : context.PackageName;
|
|
26
|
+
var newContext = new context_1.Context(uid, node.kindString, context.PackageName, context.References);
|
|
27
|
+
if (models.length > 0) {
|
|
28
|
+
models[0].children = [].concat(models[0].children, this.traverse(child, uidMapping, newContext));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
collection = [].concat(collection, this.traverse(child, uidMapping, newContext));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return collection;
|
|
35
|
+
};
|
|
36
|
+
Parser.prototype.needIgnore = function (node) {
|
|
37
|
+
if (node.name && node.name[0] === '_') {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
if (node.flags.isPrivate || node.flags.isProtected) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
if (this.isInternal(node)) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
if (!node.flags.isExported
|
|
47
|
+
&& node.sources
|
|
48
|
+
&& !node.sources[0].fileName.toLowerCase().endsWith('.d.ts')) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
};
|
|
53
|
+
Parser.prototype.isInternal = function (node) {
|
|
54
|
+
if (node && node.comment && node.comment.tags) {
|
|
55
|
+
node.comment.tags.forEach(function (tag) {
|
|
56
|
+
if (tag.tag === 'internal') {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
};
|
|
63
|
+
return Parser;
|
|
64
|
+
}());
|
|
65
|
+
exports.Parser = Parser;
|
|
66
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.insertInnerClassReference = exports.insertClassReferenceForModule = exports.postTransform = exports.insertFunctionToIndex = exports.groupOrphanFunctions = void 0;
|
|
4
|
+
var constants_1 = require("./common/constants");
|
|
5
|
+
var regex_1 = require("./common/regex");
|
|
6
|
+
function groupOrphanFunctions(elements) {
|
|
7
|
+
if (elements && elements.length) {
|
|
8
|
+
var mapping = {};
|
|
9
|
+
for (var i = 0; i < elements.length; i++) {
|
|
10
|
+
if (elements[i].type === 'function') {
|
|
11
|
+
var key = elements[i].module ? elements[i].module : 'ParentToPackage';
|
|
12
|
+
if (!mapping[key]) {
|
|
13
|
+
mapping[key] = [];
|
|
14
|
+
}
|
|
15
|
+
mapping[key].push(elements[i]);
|
|
16
|
+
elements.splice(i, 1);
|
|
17
|
+
i--;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return mapping;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.groupOrphanFunctions = groupOrphanFunctions;
|
|
24
|
+
function insertFunctionToIndex(index, functions) {
|
|
25
|
+
if (index && functions) {
|
|
26
|
+
index.items[0].children = index.items[0].children.concat(functions.map(function (f) { return f.uid; }));
|
|
27
|
+
index.items = index.items.concat(functions);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.insertFunctionToIndex = insertFunctionToIndex;
|
|
31
|
+
function postTransform(element, references) {
|
|
32
|
+
var roots = flattening(element);
|
|
33
|
+
for (var _i = 0, roots_1 = roots; _i < roots_1.length; _i++) {
|
|
34
|
+
var root = roots_1[_i];
|
|
35
|
+
insertReferences(root, references);
|
|
36
|
+
}
|
|
37
|
+
return roots;
|
|
38
|
+
}
|
|
39
|
+
exports.postTransform = postTransform;
|
|
40
|
+
function insertReferences(root, references) {
|
|
41
|
+
if (!references || Object.keys(references).length === 0) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
root.references = [];
|
|
45
|
+
for (var key in references) {
|
|
46
|
+
var names = key.split('.');
|
|
47
|
+
var reference = {
|
|
48
|
+
uid: key,
|
|
49
|
+
name: names[names.length - 1],
|
|
50
|
+
'spec.typeScript': []
|
|
51
|
+
};
|
|
52
|
+
var match = void 0;
|
|
53
|
+
var lastIndex = 0;
|
|
54
|
+
while ((match = regex_1.uidRegex.exec(references[key])) !== null) {
|
|
55
|
+
if (lastIndex < match.index) {
|
|
56
|
+
reference['spec.typeScript'].push(getReference(references[key].substring(lastIndex, match.index)));
|
|
57
|
+
}
|
|
58
|
+
lastIndex = match.index + match[0].length;
|
|
59
|
+
reference['spec.typeScript'].push(getReference(getItemName(match[1]), match[1]));
|
|
60
|
+
}
|
|
61
|
+
if (lastIndex < references[key].length) {
|
|
62
|
+
reference['spec.typeScript'].push(getReference(references[key].substring(lastIndex)));
|
|
63
|
+
}
|
|
64
|
+
root.references.push(reference);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// to add this function due to classes under modules need to be cross reference
|
|
68
|
+
function insertClassReferenceForModule(flattenElements) {
|
|
69
|
+
for (var _i = 0, flattenElements_1 = flattenElements; _i < flattenElements_1.length; _i++) {
|
|
70
|
+
var element = flattenElements_1[_i];
|
|
71
|
+
if (element.items[0].type !== 'module') {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (!element.references) {
|
|
75
|
+
element.references = [];
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
var children = element.items[0].children;
|
|
79
|
+
for (var _a = 0, children_1 = children; _a < children_1.length; _a++) {
|
|
80
|
+
var child = children_1[_a];
|
|
81
|
+
var find = false;
|
|
82
|
+
for (var _b = 0, _c = element.references; _b < _c.length; _b++) {
|
|
83
|
+
var ref = _c[_b];
|
|
84
|
+
if (ref.uid === child) {
|
|
85
|
+
find = true;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (!find) {
|
|
90
|
+
var names = child.split('.');
|
|
91
|
+
var reference = {
|
|
92
|
+
uid: child,
|
|
93
|
+
name: names[names.length - 1]
|
|
94
|
+
};
|
|
95
|
+
element.references.push(reference);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.insertClassReferenceForModule = insertClassReferenceForModule;
|
|
101
|
+
function insertInnerClassReference(innerClassReferenceMapping, transfomredClass) {
|
|
102
|
+
if ((transfomredClass.items[0].type === 'class' || transfomredClass.items[0].type === 'interface') && innerClassReferenceMapping.has(transfomredClass.items[0].uid)) {
|
|
103
|
+
var reference_1 = transfomredClass.references || [];
|
|
104
|
+
var referencedClass = innerClassReferenceMapping.get(transfomredClass.items[0].uid);
|
|
105
|
+
referencedClass.forEach(function (item) {
|
|
106
|
+
var names = item.split('.');
|
|
107
|
+
var ref = {
|
|
108
|
+
uid: item,
|
|
109
|
+
name: names[names.length - 1]
|
|
110
|
+
};
|
|
111
|
+
reference_1.push(ref);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.insertInnerClassReference = insertInnerClassReference;
|
|
116
|
+
function getReference(name, uid) {
|
|
117
|
+
var reference = {
|
|
118
|
+
name: name,
|
|
119
|
+
fullName: name
|
|
120
|
+
};
|
|
121
|
+
if (uid) {
|
|
122
|
+
reference.uid = uid;
|
|
123
|
+
}
|
|
124
|
+
return reference;
|
|
125
|
+
}
|
|
126
|
+
function getItemName(uid) {
|
|
127
|
+
var tmp = uid.split('.');
|
|
128
|
+
return tmp[tmp.length - 1];
|
|
129
|
+
}
|
|
130
|
+
function flattening(element) {
|
|
131
|
+
if (!element) {
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
var result = [];
|
|
135
|
+
result.push({
|
|
136
|
+
items: [element]
|
|
137
|
+
});
|
|
138
|
+
if (element.children) {
|
|
139
|
+
var childrenUid = [];
|
|
140
|
+
var children = element.children;
|
|
141
|
+
children = children.sort(sortYamlModel);
|
|
142
|
+
for (var _i = 0, children_2 = children; _i < children_2.length; _i++) {
|
|
143
|
+
var child = children_2[_i];
|
|
144
|
+
if (child.children && child.children.length > 0) {
|
|
145
|
+
result = result.concat(flattening(child));
|
|
146
|
+
}
|
|
147
|
+
else if (constants_1.setOfTopLevelItems.has(child.type)) {
|
|
148
|
+
var resultWithoutChild = [];
|
|
149
|
+
resultWithoutChild.push({
|
|
150
|
+
items: [child]
|
|
151
|
+
});
|
|
152
|
+
result = result.concat(resultWithoutChild);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
result[0].items.push(child);
|
|
156
|
+
}
|
|
157
|
+
if (child.type !== 'module') {
|
|
158
|
+
childrenUid.push(child.uid);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
element.children = childrenUid;
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function sortYamlModel(a, b) {
|
|
166
|
+
if (a.numericValue !== undefined && b.numericValue !== undefined) {
|
|
167
|
+
return a.numericValue - b.numericValue;
|
|
168
|
+
}
|
|
169
|
+
// sort classes alphabetically, contructor first
|
|
170
|
+
if (b.name === constants_1.constructorName) {
|
|
171
|
+
return 1;
|
|
172
|
+
}
|
|
173
|
+
if (a.name === constants_1.constructorName) {
|
|
174
|
+
return -1;
|
|
175
|
+
}
|
|
176
|
+
var nameA = a.name.toUpperCase();
|
|
177
|
+
var nameB = b.name.toUpperCase();
|
|
178
|
+
if (nameA < nameB) {
|
|
179
|
+
return -1;
|
|
180
|
+
}
|
|
181
|
+
if (nameA > nameB) {
|
|
182
|
+
return 1;
|
|
183
|
+
}
|
|
184
|
+
return 0;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=postTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postTransformer.js","sourceRoot":"","sources":["../src/postTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateTOC = void 0;
|
|
4
|
+
var constants_1 = require("./common/constants");
|
|
5
|
+
function generateItems(element) {
|
|
6
|
+
var result;
|
|
7
|
+
var itemsDetails = [];
|
|
8
|
+
result = {
|
|
9
|
+
uid: element.uid,
|
|
10
|
+
name: element.name.split('(')[0],
|
|
11
|
+
items: itemsDetails
|
|
12
|
+
};
|
|
13
|
+
if (!element.children || element.children.length === 0) {
|
|
14
|
+
if (constants_1.setOfTopLevelItems.has(element.type)) {
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
var children = element.children;
|
|
20
|
+
if (children.length > 1) {
|
|
21
|
+
children = children.sort(sortTOC);
|
|
22
|
+
}
|
|
23
|
+
children.forEach(function (child) {
|
|
24
|
+
var items = generateItems(child);
|
|
25
|
+
if (items) {
|
|
26
|
+
itemsDetails.push(items);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
function generateTOC(elements, packageUid) {
|
|
32
|
+
var itemsDetails = [];
|
|
33
|
+
if (elements) {
|
|
34
|
+
if (elements.length > 1) {
|
|
35
|
+
elements = elements.sort(sortTOC);
|
|
36
|
+
}
|
|
37
|
+
elements.forEach(function (element) {
|
|
38
|
+
var items = generateItems(element);
|
|
39
|
+
if (items) {
|
|
40
|
+
itemsDetails.push(items);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (itemsDetails.length === 0) {
|
|
45
|
+
itemsDetails = null;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
changeTocToOverview(itemsDetails, packageUid);
|
|
49
|
+
}
|
|
50
|
+
return [{
|
|
51
|
+
name: packageUid,
|
|
52
|
+
items: itemsDetails
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
55
|
+
exports.generateTOC = generateTOC;
|
|
56
|
+
function changeTocToOverview(items, uid) {
|
|
57
|
+
items.splice(0, 0, {
|
|
58
|
+
name: "Overview",
|
|
59
|
+
uid: uid
|
|
60
|
+
});
|
|
61
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
62
|
+
var item = items_1[_i];
|
|
63
|
+
if (item.items && item.items.length > 0) {
|
|
64
|
+
var uid_1 = item.uid;
|
|
65
|
+
delete item.uid;
|
|
66
|
+
changeTocToOverview(item.items, uid_1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function sortTOC(a, b) {
|
|
71
|
+
var nameA = a.name.toUpperCase();
|
|
72
|
+
var nameB = b.name.toUpperCase();
|
|
73
|
+
if (nameA < nameB) {
|
|
74
|
+
return -1;
|
|
75
|
+
}
|
|
76
|
+
if (nameA > nameB) {
|
|
77
|
+
return 1;
|
|
78
|
+
}
|
|
79
|
+
return 0;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=tocGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tocGenerator.js","sourceRoot":"","sources":["../src/tocGenerator.ts"],"names":[],"mappings":"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"}
|