@terafina/tffa-sfdx-plugin 0.1.2 → 1.0.3
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/README.md +7 -0
- package/assets/favicon.png +0 -0
- package/assets/highlight.css +68 -0
- package/assets/highlight.js +2801 -0
- package/assets/icon.png +0 -0
- package/assets/index.css +447 -0
- package/assets/index.js +411 -0
- package/assets/logo.png +0 -0
- package/assets/lunr.js +3471 -0
- package/assets/mark.js +13 -0
- package/assets/menu.js +34 -0
- package/assets/search.js +98 -0
- package/lib/apexdoc/common/apex-docs-error.d.ts +23 -0
- package/lib/apexdoc/common/apex-docs-error.js +28 -0
- package/lib/apexdoc/common/apex-docs-error.js.map +1 -0
- package/lib/apexdoc/common/array-utils.d.ts +9 -0
- package/lib/apexdoc/common/array-utils.js +36 -0
- package/lib/apexdoc/common/array-utils.js.map +1 -0
- package/lib/apexdoc/common/line-reader.d.ts +40 -0
- package/lib/apexdoc/common/line-reader.js +92 -0
- package/lib/apexdoc/common/line-reader.js.map +1 -0
- package/lib/apexdoc/common/models/apex-model.d.ts +51 -0
- package/lib/apexdoc/common/models/apex-model.js +264 -0
- package/lib/apexdoc/common/models/apex-model.js.map +1 -0
- package/lib/apexdoc/common/models/class-group.d.ts +10 -0
- package/lib/apexdoc/common/models/class-group.js +32 -0
- package/lib/apexdoc/common/models/class-group.js.map +1 -0
- package/lib/apexdoc/common/models/class-model.d.ts +38 -0
- package/lib/apexdoc/common/models/class-model.js +216 -0
- package/lib/apexdoc/common/models/class-model.js.map +1 -0
- package/lib/apexdoc/common/models/engine-config.d.ts +21 -0
- package/lib/apexdoc/common/models/engine-config.js +29 -0
- package/lib/apexdoc/common/models/engine-config.js.map +1 -0
- package/lib/apexdoc/common/models/enum-model.d.ts +15 -0
- package/lib/apexdoc/common/models/enum-model.js +47 -0
- package/lib/apexdoc/common/models/enum-model.js.map +1 -0
- package/lib/apexdoc/common/models/index.d.ts +10 -0
- package/lib/apexdoc/common/models/index.js +14 -0
- package/lib/apexdoc/common/models/index.js.map +1 -0
- package/lib/apexdoc/common/models/method-model.d.ts +26 -0
- package/lib/apexdoc/common/models/method-model.js +309 -0
- package/lib/apexdoc/common/models/method-model.js.map +1 -0
- package/lib/apexdoc/common/models/property-model.d.ts +12 -0
- package/lib/apexdoc/common/models/property-model.js +47 -0
- package/lib/apexdoc/common/models/property-model.js.map +1 -0
- package/lib/apexdoc/common/models/top-level-model.d.ts +19 -0
- package/lib/apexdoc/common/models/top-level-model.js +32 -0
- package/lib/apexdoc/common/models/top-level-model.js.map +1 -0
- package/lib/apexdoc/common/settings.d.ts +55 -0
- package/lib/apexdoc/common/settings.js +124 -0
- package/lib/apexdoc/common/settings.js.map +1 -0
- package/lib/apexdoc/common/tags.d.ts +22 -0
- package/lib/apexdoc/common/tags.js +168 -0
- package/lib/apexdoc/common/tags.js.map +1 -0
- package/lib/apexdoc/common/utils.d.ts +38 -0
- package/lib/apexdoc/common/utils.js +198 -0
- package/lib/apexdoc/common/utils.js.map +1 -0
- package/lib/apexdoc/common/validator-engine.d.ts +24 -0
- package/lib/apexdoc/common/validator-engine.js +162 -0
- package/lib/apexdoc/common/validator-engine.js.map +1 -0
- package/lib/apexdoc/common/validator.d.ts +16 -0
- package/lib/apexdoc/common/validator.js +35 -0
- package/lib/apexdoc/common/validator.js.map +1 -0
- package/lib/apexdoc/engine/file-manager.d.ts +52 -0
- package/lib/apexdoc/engine/file-manager.js +390 -0
- package/lib/apexdoc/engine/file-manager.js.map +1 -0
- package/lib/apexdoc/engine/generators/generator-utils.d.ts +12 -0
- package/lib/apexdoc/engine/generators/generator-utils.js +100 -0
- package/lib/apexdoc/engine/generators/generator-utils.js.map +1 -0
- package/lib/apexdoc/engine/generators/menu-generator.d.ts +9 -0
- package/lib/apexdoc/engine/generators/menu-generator.js +81 -0
- package/lib/apexdoc/engine/generators/menu-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/child-enum-markup-generator.d.ts +10 -0
- package/lib/apexdoc/engine/generators/models/child-enum-markup-generator.js +65 -0
- package/lib/apexdoc/engine/generators/models/child-enum-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/class-markup-generator.d.ts +8 -0
- package/lib/apexdoc/engine/generators/models/class-markup-generator.js +49 -0
- package/lib/apexdoc/engine/generators/models/class-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/enum-markup-generator.d.ts +9 -0
- package/lib/apexdoc/engine/generators/models/enum-markup-generator.js +40 -0
- package/lib/apexdoc/engine/generators/models/enum-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/markup-generator.d.ts +27 -0
- package/lib/apexdoc/engine/generators/models/markup-generator.js +148 -0
- package/lib/apexdoc/engine/generators/models/markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/method-markup-generator.d.ts +22 -0
- package/lib/apexdoc/engine/generators/models/method-markup-generator.js +224 -0
- package/lib/apexdoc/engine/generators/models/method-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/property-markup-generator.d.ts +11 -0
- package/lib/apexdoc/engine/generators/models/property-markup-generator.js +66 -0
- package/lib/apexdoc/engine/generators/models/property-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/source-markup-generator.d.ts +10 -0
- package/lib/apexdoc/engine/generators/models/source-markup-generator.js +39 -0
- package/lib/apexdoc/engine/generators/models/source-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/models/top-level-markup-generator.d.ts +10 -0
- package/lib/apexdoc/engine/generators/models/top-level-markup-generator.js +49 -0
- package/lib/apexdoc/engine/generators/models/top-level-markup-generator.js.map +1 -0
- package/lib/apexdoc/engine/generators/see-link-generator.d.ts +20 -0
- package/lib/apexdoc/engine/generators/see-link-generator.js +183 -0
- package/lib/apexdoc/engine/generators/see-link-generator.js.map +1 -0
- package/lib/commands/tffa/apexdoc.d.ts +29 -0
- package/lib/commands/tffa/apexdoc.js +272 -0
- package/lib/commands/tffa/apexdoc.js.map +1 -0
- package/lib/commands/tffa/ping.d.ts +3 -0
- package/lib/commands/tffa/ping.js +4 -0
- package/lib/commands/tffa/ping.js.map +1 -1
- package/lib/commands/tffa/scan.d.ts +52 -0
- package/lib/commands/tffa/scan.js +348 -0
- package/lib/commands/tffa/scan.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/shared/model.d.ts +30 -0
- package/lib/shared/model.js +17 -0
- package/lib/shared/model.js.map +1 -0
- package/lib/shared/parser.d.ts +3 -0
- package/lib/shared/parser.js +101 -0
- package/lib/shared/parser.js.map +1 -0
- package/lib/shared/rules.d.ts +3 -0
- package/lib/shared/rules.js +5 -0
- package/lib/shared/rules.js.map +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +47 -25
- package/CHANGELOG.md +0 -14
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import MarkupGenerator from './markup-generator';
|
|
2
|
+
import { ClassModel, MethodModel, TopLevelModel } from '../../../common/models';
|
|
3
|
+
declare class MethodMarkupGenerator extends MarkupGenerator<MethodModel> {
|
|
4
|
+
protected constructor(model: MethodModel, models: Map<string, TopLevelModel>);
|
|
5
|
+
static generate(cModel: ClassModel, models: Map<string, TopLevelModel>): string;
|
|
6
|
+
private static generateSection;
|
|
7
|
+
protected markupTemplate(label: string, contents: string, titleClass?: string, contentClass?: string, tag?: string): string;
|
|
8
|
+
protected author(): string;
|
|
9
|
+
protected header(id: string, topmostTypeName: string): string;
|
|
10
|
+
protected since(): string;
|
|
11
|
+
protected exception(): string;
|
|
12
|
+
protected params(): string;
|
|
13
|
+
protected returns(): string;
|
|
14
|
+
protected getTOCEntry(showTOCSnippets: boolean, id: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* See if method ID has been used previously in this class
|
|
17
|
+
* (must be an overloaded method or constructor) and amend
|
|
18
|
+
* as needed to ensure all of our methods have unique IDs
|
|
19
|
+
*/
|
|
20
|
+
protected generateMethodId(idCountMap: Map<string, number>, classModel: ClassModel): string;
|
|
21
|
+
}
|
|
22
|
+
export default MethodMarkupGenerator;
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) NCR Terafina
|
|
6
|
+
**/
|
|
7
|
+
const generator_utils_1 = tslib_1.__importDefault(require("../generator-utils"));
|
|
8
|
+
const markup_generator_1 = tslib_1.__importDefault(require("./markup-generator"));
|
|
9
|
+
const settings_1 = tslib_1.__importDefault(require("../../../common/settings"));
|
|
10
|
+
class MethodMarkupGenerator extends markup_generator_1.default {
|
|
11
|
+
constructor(model, models) {
|
|
12
|
+
super(model, models);
|
|
13
|
+
}
|
|
14
|
+
static generate(cModel, models) {
|
|
15
|
+
// retrieve methods to work with in the order user specifies
|
|
16
|
+
const allMethods = settings_1.default.config.sortOrder === settings_1.default.ORDER_ALPHA ? cModel.methodsSorted : cModel.methods;
|
|
17
|
+
const constructors = allMethods.filter(m => m.isConstructor);
|
|
18
|
+
const methods = allMethods.filter(m => !m.isConstructor);
|
|
19
|
+
const constructorsMarkup = constructors.length ? this.generateSection('Constructors', constructors, cModel, models) : '';
|
|
20
|
+
const methodsMarkup = methods.length ? this.generateSection('Methods', methods, cModel, models) : '';
|
|
21
|
+
return constructorsMarkup + methodsMarkup;
|
|
22
|
+
}
|
|
23
|
+
static generateSection(section, methods, cModel, models) {
|
|
24
|
+
// track Ids used to make sure we're not generating duplicate
|
|
25
|
+
// ids within this class and so that overloaded methods each
|
|
26
|
+
// have their own unique anchor to link to in the TOC.
|
|
27
|
+
const idCountMap = new Map();
|
|
28
|
+
// initialize a couple of strings to house our markup
|
|
29
|
+
let tocMarkup = '';
|
|
30
|
+
let methodsMarkup = '';
|
|
31
|
+
// full method display
|
|
32
|
+
for (const method of methods) {
|
|
33
|
+
// instantiate our markup generator
|
|
34
|
+
const generator = new MethodMarkupGenerator(method, models);
|
|
35
|
+
// generate unique method id
|
|
36
|
+
const methodId = generator.generateMethodId(idCountMap, cModel);
|
|
37
|
+
// make our TOC entry, we'll concat this with the rest of the markup in the proper order later
|
|
38
|
+
tocMarkup += generator.getTOCEntry(settings_1.default.config.showTOCSnippets, methodId);
|
|
39
|
+
// run our generators in the desired order
|
|
40
|
+
let methodMarkup = '';
|
|
41
|
+
methodMarkup += generator.header(methodId, cModel.topMostClassName);
|
|
42
|
+
methodMarkup += generator.description('method-description');
|
|
43
|
+
methodMarkup += generator.signature('method');
|
|
44
|
+
methodMarkup += generator.deprecated();
|
|
45
|
+
methodMarkup += generator.api();
|
|
46
|
+
methodMarkup += generator.params();
|
|
47
|
+
methodMarkup += generator.returns();
|
|
48
|
+
methodMarkup += generator.exception();
|
|
49
|
+
methodMarkup += generator.see();
|
|
50
|
+
methodMarkup += generator.author();
|
|
51
|
+
methodMarkup += generator.since();
|
|
52
|
+
methodMarkup += generator.example();
|
|
53
|
+
// add method markup to our running methodsMarkup string
|
|
54
|
+
methodsMarkup += `<div class="method ${method.scope}">${methodMarkup}</div>`;
|
|
55
|
+
}
|
|
56
|
+
// concat and close TOC and full methods display HTML
|
|
57
|
+
const markup = `<div class="subsection methods">
|
|
58
|
+
<h3 class="subsection-title methods">${cModel.name} ${section}</h3>
|
|
59
|
+
<div class="methods-container">
|
|
60
|
+
<ul class="methods-toc">${tocMarkup}</ul>
|
|
61
|
+
${methodsMarkup}
|
|
62
|
+
</div>
|
|
63
|
+
</div>`;
|
|
64
|
+
return markup;
|
|
65
|
+
}
|
|
66
|
+
markupTemplate(label, contents, titleClass = '', contentClass = 'method-subtitle-description', tag = 'div') {
|
|
67
|
+
titleClass = titleClass ? `method-subtitle ${titleClass}` : 'method-subtitle';
|
|
68
|
+
return super.markupTemplate(label, contents, titleClass, contentClass, tag);
|
|
69
|
+
}
|
|
70
|
+
author() {
|
|
71
|
+
if (!this.model.author) {
|
|
72
|
+
return '';
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return this.markupTemplate('Author', generator_utils_1.default.encodeText(this.model.author, true, this.models));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
header(id, topmostTypeName) {
|
|
79
|
+
return `
|
|
80
|
+
<h4 class="method-title ${this.model.deprecated ? 'deprecated' : ''}" id="${id}">
|
|
81
|
+
${super.linkToSource(`${this.model.name}(${this.model.paramsFromNameLine.join(', ')})`, topmostTypeName)}
|
|
82
|
+
</h4>`;
|
|
83
|
+
}
|
|
84
|
+
since() {
|
|
85
|
+
if (!this.model.since) {
|
|
86
|
+
return '';
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return this.markupTemplate('Since', generator_utils_1.default.encodeText(this.model.since, true, this.models));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exception() {
|
|
93
|
+
let markup = '';
|
|
94
|
+
if (this.model.exception.length) {
|
|
95
|
+
markup += '<div class="method-subtitle">Exception</div>';
|
|
96
|
+
for (const { description, type } of this.model.exception) {
|
|
97
|
+
if (type) {
|
|
98
|
+
markup += `<div class="param-type">
|
|
99
|
+
Type: <code class="code-inline">${type}</code>
|
|
100
|
+
</div>`;
|
|
101
|
+
}
|
|
102
|
+
if (description) {
|
|
103
|
+
markup += `<div class="param-description">${description}</div>`;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return markup;
|
|
108
|
+
}
|
|
109
|
+
params() {
|
|
110
|
+
let markup = '';
|
|
111
|
+
if (this.model.params && this.model.params.length > 0) {
|
|
112
|
+
markup += '<div class="method-subtitle">Parameters</div>';
|
|
113
|
+
for (const { name, description, type } of this.model.params) {
|
|
114
|
+
markup += `<div class="param-name">${name}</div>`;
|
|
115
|
+
if (type) {
|
|
116
|
+
markup += `<div class="param-type">
|
|
117
|
+
Type: <code class="code-inline">${type}</code>
|
|
118
|
+
</div>`;
|
|
119
|
+
}
|
|
120
|
+
if (description) {
|
|
121
|
+
markup += `<div class="param-description">${description}</div>`;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (this.model.queryparams && this.model.queryparams.length > 0) {
|
|
126
|
+
markup += '<div class="method-subtitle">Query Parameters</div>';
|
|
127
|
+
for (const { name, description, type, required } of this.model.queryparams) {
|
|
128
|
+
markup += `<div class="param-name">${name}</div>`;
|
|
129
|
+
if (type) {
|
|
130
|
+
markup += `<div class="param-type">
|
|
131
|
+
Type: <code class="code-inline">${type}</code>
|
|
132
|
+
</div>`;
|
|
133
|
+
}
|
|
134
|
+
markup += `<div class="param-type">
|
|
135
|
+
Required: <code class="code-inline">${required}</code>
|
|
136
|
+
</div>`;
|
|
137
|
+
if (description) {
|
|
138
|
+
markup += `<div class="param-description">${description}</div>`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (this.model.requestheaders && this.model.requestheaders.length > 0) {
|
|
143
|
+
markup += '<div class="method-subtitle">Request Headers</div>';
|
|
144
|
+
for (const { name, description, type, required } of this.model.requestheaders) {
|
|
145
|
+
markup += `<div class="param-name">${name}</div>`;
|
|
146
|
+
if (type) {
|
|
147
|
+
markup += `<div class="param-type">
|
|
148
|
+
Type: <code class="code-inline">${type}</code>
|
|
149
|
+
</div>`;
|
|
150
|
+
}
|
|
151
|
+
markup += `<div class="param-type">
|
|
152
|
+
Required: <code class="code-inline">${required}</code>
|
|
153
|
+
</div>`;
|
|
154
|
+
if (description) {
|
|
155
|
+
markup += `<div class="param-description">${description}</div>`;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (this.model.responseheaders && this.model.responseheaders.length > 0) {
|
|
160
|
+
markup += '<div class="method-subtitle">Response Headers</div>';
|
|
161
|
+
for (const { name, description, type, required } of this.model.responseheaders) {
|
|
162
|
+
markup += `<div class="param-name">${name}</div>`;
|
|
163
|
+
if (type) {
|
|
164
|
+
markup += `<div class="param-type">
|
|
165
|
+
Type: <code class="code-inline">${type}</code>
|
|
166
|
+
</div>`;
|
|
167
|
+
}
|
|
168
|
+
markup += `<div class="param-type">
|
|
169
|
+
Required: <code class="code-inline">${required}</code>
|
|
170
|
+
</div>`;
|
|
171
|
+
if (description) {
|
|
172
|
+
markup += `<div class="param-description">${description}</div>`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return markup;
|
|
177
|
+
}
|
|
178
|
+
returns() {
|
|
179
|
+
const returns = this.model.returns;
|
|
180
|
+
let markup = '';
|
|
181
|
+
if (returns && (returns.description || returns.type)) {
|
|
182
|
+
markup += '<div class="method-subtitle">Returns</div>';
|
|
183
|
+
if (returns.type) {
|
|
184
|
+
const type = generator_utils_1.default.encodeText(returns.type, false);
|
|
185
|
+
markup += `<div class="param-type">
|
|
186
|
+
Type: <code class="code-inline">${type}</code>
|
|
187
|
+
</div>`;
|
|
188
|
+
}
|
|
189
|
+
if (returns.description) {
|
|
190
|
+
const description = generator_utils_1.default.encodeText(returns.description, false);
|
|
191
|
+
markup += `<div class="param-description">${description}</div>`;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return markup;
|
|
195
|
+
}
|
|
196
|
+
getTOCEntry(showTOCSnippets, id) {
|
|
197
|
+
const entry = `<li class="method ${this.model.scope}">
|
|
198
|
+
<a class="methods-toc__entry ${this.model.deprecated ? 'deprecated' : ''}" href="#${id}">
|
|
199
|
+
${this.model.name} (${this.model.paramsFromNameLine.join(', ')})
|
|
200
|
+
</a>
|
|
201
|
+
${showTOCSnippets && this.model.description ? this.description('methods-toc__description') : ''}
|
|
202
|
+
</li>`;
|
|
203
|
+
return entry;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* See if method ID has been used previously in this class
|
|
207
|
+
* (must be an overloaded method or constructor) and amend
|
|
208
|
+
* as needed to ensure all of our methods have unique IDs
|
|
209
|
+
*/
|
|
210
|
+
generateMethodId(idCountMap, classModel) {
|
|
211
|
+
let methodId = classModel.name + '.' + this.model.name;
|
|
212
|
+
let count;
|
|
213
|
+
if ((count = idCountMap.get(methodId)) === undefined) {
|
|
214
|
+
idCountMap.set(methodId, 1);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
idCountMap.set(methodId, count + 1);
|
|
218
|
+
methodId += '_' + count;
|
|
219
|
+
}
|
|
220
|
+
return methodId;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
exports.default = MethodMarkupGenerator;
|
|
224
|
+
//# sourceMappingURL=method-markup-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method-markup-generator.js","sourceRoot":"","sources":["../../../../../src/apexdoc/engine/generators/models/method-markup-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import MarkupGenerator from './markup-generator';
|
|
2
|
+
import { ClassModel, PropertyModel, TopLevelModel } from '../../../common/models';
|
|
3
|
+
declare class PropertyMarkupGenerator extends MarkupGenerator<PropertyModel> {
|
|
4
|
+
protected constructor(model: PropertyModel, models: Map<string, TopLevelModel>);
|
|
5
|
+
static generate(cModel: ClassModel, models: Map<string, TopLevelModel>): string;
|
|
6
|
+
protected static hasDescriptionColumn(headerRow: string): boolean;
|
|
7
|
+
protected static hasAnnotationsColumn(headerRow: string): boolean;
|
|
8
|
+
protected static headerRow(properties: Array<PropertyModel>): string;
|
|
9
|
+
protected propRow(topmostTypeName: string, hasAnnotationsColumn: boolean, hasDescriptionColumn: boolean): string;
|
|
10
|
+
}
|
|
11
|
+
export default PropertyMarkupGenerator;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) NCR Terafina
|
|
6
|
+
**/
|
|
7
|
+
const generator_utils_1 = tslib_1.__importDefault(require("../generator-utils"));
|
|
8
|
+
const markup_generator_1 = tslib_1.__importDefault(require("./markup-generator"));
|
|
9
|
+
const settings_1 = tslib_1.__importDefault(require("../../../common/settings"));
|
|
10
|
+
class PropertyMarkupGenerator extends markup_generator_1.default {
|
|
11
|
+
constructor(model, models) {
|
|
12
|
+
super(model, models);
|
|
13
|
+
}
|
|
14
|
+
static generate(cModel, models) {
|
|
15
|
+
const properties = settings_1.default.config.sortOrder === settings_1.default.ORDER_ALPHA ? cModel.propertiesSorted : cModel.properties;
|
|
16
|
+
let markup = PropertyMarkupGenerator.headerRow(properties);
|
|
17
|
+
const hasAnnotations = PropertyMarkupGenerator.hasAnnotationsColumn(markup);
|
|
18
|
+
const hasDescription = PropertyMarkupGenerator.hasDescriptionColumn(markup);
|
|
19
|
+
for (const prop of properties) {
|
|
20
|
+
const generator = new PropertyMarkupGenerator(prop, models);
|
|
21
|
+
markup += generator.propRow(cModel.topMostClassName, hasAnnotations, hasDescription);
|
|
22
|
+
}
|
|
23
|
+
markup = `<div class="subsection properties ${cModel.name.replace('.', '_')}">
|
|
24
|
+
<h3 class="subsection-title properties">${cModel.name} Properties</h2>
|
|
25
|
+
<table class="attributes-table properties">
|
|
26
|
+
${markup}
|
|
27
|
+
</table>
|
|
28
|
+
</div>`;
|
|
29
|
+
return markup;
|
|
30
|
+
}
|
|
31
|
+
static hasDescriptionColumn(headerRow) {
|
|
32
|
+
return /<th>Description<\/th>/.test(headerRow);
|
|
33
|
+
}
|
|
34
|
+
static hasAnnotationsColumn(headerRow) {
|
|
35
|
+
return /<th>Annotations<\/th>/.test(headerRow);
|
|
36
|
+
}
|
|
37
|
+
static headerRow(properties) {
|
|
38
|
+
let descriptionCol = '', annotationsCol = '';
|
|
39
|
+
properties.forEach(prop => {
|
|
40
|
+
prop.description && (descriptionCol = '<th>Description</th>');
|
|
41
|
+
prop.annotations.length && (annotationsCol = '<th>Annotations</th>');
|
|
42
|
+
});
|
|
43
|
+
return `
|
|
44
|
+
<tr>
|
|
45
|
+
<th>Name</th>
|
|
46
|
+
<th>Signature</th>
|
|
47
|
+
${annotationsCol}
|
|
48
|
+
${descriptionCol}
|
|
49
|
+
</tr>`;
|
|
50
|
+
}
|
|
51
|
+
propRow(topmostTypeName, hasAnnotationsColumn, hasDescriptionColumn) {
|
|
52
|
+
return `
|
|
53
|
+
<tr class="property ${this.model.scope}">
|
|
54
|
+
<td class="attribute-name">${super.linkToSource(this.model.name, topmostTypeName)}</td>
|
|
55
|
+
<td>
|
|
56
|
+
<div class="attribute-signature">
|
|
57
|
+
${generator_utils_1.default.encodeText(this.model.nameLine)}
|
|
58
|
+
</div>
|
|
59
|
+
</td>
|
|
60
|
+
${hasAnnotationsColumn ? '<td>' + this.annotations('prop-annotations') + '</td>' : ''}
|
|
61
|
+
${hasDescriptionColumn ? this.description('attribute-description', 'td', true) : ''}
|
|
62
|
+
</tr>`;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.default = PropertyMarkupGenerator;
|
|
66
|
+
//# sourceMappingURL=property-markup-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-markup-generator.js","sourceRoot":"","sources":["../../../../../src/apexdoc/engine/generators/models/property-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,iFAAgD;AAChD,kFAAiD;AAEjD,gFAAgD;AAEhD,MAAM,uBAAwB,SAAQ,0BAA8B;IAClE,YAAsB,KAAoB,EAAE,MAAkC;QAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,MAAkB,EAAE,MAAkC;QAC3E,MAAM,UAAU,GAAG,kBAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,kBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAEpH,IAAI,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE5E,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;SACtF;QAED,MAAM,GAAG,qCAAqC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;0DACrB,MAAM,CAAC,IAAI;;sBAE/C,MAAM;;mBAET,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,MAAM,CAAC,oBAAoB,CAAC,SAAiB;QACrD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAES,MAAM,CAAC,oBAAoB,CAAC,SAAiB;QACrD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAES,MAAM,CAAC,SAAS,CAAC,UAAgC;QACzD,IAAI,cAAc,GAAG,EAAE,EACrB,cAAc,GAAG,EAAE,CAAC;QACtB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,OAAO;;;;kBAIO,cAAc;kBACd,cAAc;kBACd,CAAC;IACjB,CAAC;IAES,OAAO,CAAC,eAAuB,EAAE,oBAA6B,EAAE,oBAA6B;QACrG,OAAO;kCACuB,IAAI,CAAC,KAAK,CAAC,KAAK;6CACL,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;;;0BAGvE,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;;;kBAGtD,oBAAoB,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE;kBACnF,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;kBACjF,CAAC;IACjB,CAAC;CACF;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) NCR Terafina
|
|
3
|
+
**/
|
|
4
|
+
import MarkupGenerator from './markup-generator';
|
|
5
|
+
import { TopLevelModel } from '../../../common/models';
|
|
6
|
+
declare class SourceMarkupGenerator extends MarkupGenerator<TopLevelModel> {
|
|
7
|
+
protected constructor(model: TopLevelModel, models: Map<string, TopLevelModel>);
|
|
8
|
+
static generate(model: TopLevelModel, models: Map<string, TopLevelModel>): string;
|
|
9
|
+
}
|
|
10
|
+
export default SourceMarkupGenerator;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) NCR Terafina
|
|
6
|
+
**/
|
|
7
|
+
const markup_generator_1 = tslib_1.__importDefault(require("./markup-generator"));
|
|
8
|
+
const models_1 = require("../../../common/models");
|
|
9
|
+
class SourceMarkupGenerator extends markup_generator_1.default {
|
|
10
|
+
constructor(model, models) {
|
|
11
|
+
super(model, models);
|
|
12
|
+
}
|
|
13
|
+
static generate(model, models) {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
|
+
const generator = new SourceMarkupGenerator(model, models);
|
|
16
|
+
let markup = '';
|
|
17
|
+
if (model instanceof models_1.ClassModel) {
|
|
18
|
+
if (model.isInnerClass) {
|
|
19
|
+
return '';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const source = model.source.replace(/</g, '<').replace(/>/g, '>');
|
|
23
|
+
if (model.groupName === 'Pages') {
|
|
24
|
+
markup = `<div class="subsection code">
|
|
25
|
+
<h3 class="subsection-title code">${model.name} Code</h3>
|
|
26
|
+
<pre class="code-example"><code class="language-xml">${source}</code></pre>
|
|
27
|
+
</div>`;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
markup = `<div class="subsection code">
|
|
31
|
+
<h3 class="subsection-title code">${model.name} Code</h3>
|
|
32
|
+
<pre class="code-example"><code class="language-java">${source}</code></pre>
|
|
33
|
+
</div>`;
|
|
34
|
+
}
|
|
35
|
+
return markup;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.default = SourceMarkupGenerator;
|
|
39
|
+
//# sourceMappingURL=source-markup-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-markup-generator.js","sourceRoot":"","sources":["../../../../../src/apexdoc/engine/generators/models/source-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,kFAAiD;AACjD,mDAAmE;AAEnE,MAAM,qBAAsB,SAAQ,0BAA8B;IAChE,YAAsB,KAAoB,EAAE,MAAkC;QAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAoB,EAAE,MAAkC;QAC7E,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,mBAAU,EAAE;YAC/B,IAAI,KAAK,CAAC,YAAY,EAAE;gBACtB,OAAO,EAAE,CAAC;aACX;SACF;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE;YAC/B,MAAM,GAAG;gDACiC,KAAK,CAAC,IAAI;mEACS,MAAM;mBACtD,CAAC;SACf;aAAM;YACL,MAAM,GAAG;gDACiC,KAAK,CAAC,IAAI;oEACU,MAAM;mBACvD,CAAC;SACf;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import MarkupGenerator from './markup-generator';
|
|
2
|
+
import { TopLevelModel } from '../../../common/models';
|
|
3
|
+
declare class TopLevelMarkupGenerator extends MarkupGenerator<TopLevelModel> {
|
|
4
|
+
protected constructor(model: TopLevelModel, models: Map<string, TopLevelModel>);
|
|
5
|
+
static generate(model: TopLevelModel, models: Map<string, TopLevelModel>, additionalContent?: string): string;
|
|
6
|
+
protected markupTemplate(label: string, contents: string, titleClass?: string, contentClass?: string, tag?: string): string;
|
|
7
|
+
protected author(): string;
|
|
8
|
+
protected since(): string;
|
|
9
|
+
}
|
|
10
|
+
export default TopLevelMarkupGenerator;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) NCR Terafina
|
|
6
|
+
**/
|
|
7
|
+
const generator_utils_1 = tslib_1.__importDefault(require("../generator-utils"));
|
|
8
|
+
const markup_generator_1 = tslib_1.__importDefault(require("./markup-generator"));
|
|
9
|
+
class TopLevelMarkupGenerator extends markup_generator_1.default {
|
|
10
|
+
constructor(model, models) {
|
|
11
|
+
super(model, models);
|
|
12
|
+
}
|
|
13
|
+
static generate(model, models, additionalContent = '') {
|
|
14
|
+
const generator = new TopLevelMarkupGenerator(model, models);
|
|
15
|
+
let markup = '';
|
|
16
|
+
// add any additional content passed in from the caller. currently, only
|
|
17
|
+
// use case is the values table used when documenting class-level enums
|
|
18
|
+
markup += generator.description('class-description');
|
|
19
|
+
markup += generator.signature('class');
|
|
20
|
+
markup += additionalContent;
|
|
21
|
+
markup += generator.deprecated();
|
|
22
|
+
markup += generator.see();
|
|
23
|
+
markup += generator.author();
|
|
24
|
+
markup += generator.since();
|
|
25
|
+
markup += generator.example();
|
|
26
|
+
markup = `<div class="class-container">
|
|
27
|
+
${markup}
|
|
28
|
+
</div>`;
|
|
29
|
+
return markup;
|
|
30
|
+
}
|
|
31
|
+
markupTemplate(label, contents, titleClass = '', contentClass = 'class-subtitle-description', tag = 'div') {
|
|
32
|
+
titleClass = titleClass ? `class-subtitle ${titleClass}` : 'class-subtitle';
|
|
33
|
+
return super.markupTemplate(label, contents, titleClass, contentClass, tag);
|
|
34
|
+
}
|
|
35
|
+
author() {
|
|
36
|
+
if (!this.model.author) {
|
|
37
|
+
return '';
|
|
38
|
+
}
|
|
39
|
+
return `<br/>${generator_utils_1.default.encodeText(this.model.author, true, this.models)}`;
|
|
40
|
+
}
|
|
41
|
+
since() {
|
|
42
|
+
if (!this.model.since) {
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
return `<br/>${generator_utils_1.default.encodeText(this.model.since, true, this.models)}`;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = TopLevelMarkupGenerator;
|
|
49
|
+
//# sourceMappingURL=top-level-markup-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"top-level-markup-generator.js","sourceRoot":"","sources":["../../../../../src/apexdoc/engine/generators/models/top-level-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,iFAAgD;AAChD,kFAAiD;AAGjD,MAAM,uBAAwB,SAAQ,0BAA8B;IAClE,YAAsB,KAAoB,EAAE,MAAkC;QAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAoB,EAAE,MAAkC,EAAE,iBAAiB,GAAG,EAAE;QACrG,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,iBAAiB,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAE9B,MAAM,GAAG;kBACK,MAAM;mBACL,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,QAAgB,EAAE,UAAU,GAAG,EAAE,EAAE,YAAY,GAAG,4BAA4B,EAAE,GAAG,GAAG,KAAK;QACjI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC5E,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;IAES,MAAM;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,QAAQ,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACnF,CAAC;IAES,KAAK;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,QAAQ,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAClF,CAAC;CACF;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) NCR Terafina
|
|
3
|
+
**/
|
|
4
|
+
import * as Models from '../../common/models';
|
|
5
|
+
declare class SeeLinkGenerator {
|
|
6
|
+
private static isMarkdownURL;
|
|
7
|
+
private static markdownUrlToLink;
|
|
8
|
+
static makeLinks(models: Map<string, Models.TopLevelModel>, qualifiers: string[]): string[];
|
|
9
|
+
/**
|
|
10
|
+
* Search through methods for a match to the provided qualifier. If a match is made
|
|
11
|
+
* and an overload selector is provided, continue iterating to see if that overload
|
|
12
|
+
* exists, and match on it if it does. If it does not, report that no match is made.
|
|
13
|
+
*
|
|
14
|
+
* @param methods The methods to search for a match through
|
|
15
|
+
* @param matcher The user provided qualifier to match against a method name
|
|
16
|
+
* @param overloadSelector The user provided indicator of the method overload number
|
|
17
|
+
*/
|
|
18
|
+
private static methodMatcher;
|
|
19
|
+
}
|
|
20
|
+
export default SeeLinkGenerator;
|