Skip to content
This repository was archived by the owner on Jun 23, 2019. It is now read-only.

Commit 6c75976

Browse files
committed
docs: Add element documentation coverage
1 parent 7b087d6 commit 6c75976

14 files changed

+301
-1
lines changed

Diff for: src/elements/asset.js

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
11
export default function (namespace) {
2+
/**
3+
* @class Asset
4+
*
5+
* @param {string} content
6+
* @param meta
7+
* @param attributes
8+
*
9+
* @extends Element
10+
*/
211
class Asset extends namespace.Element {
312
constructor(...args) {
413
super(...args);
514
this.element = 'asset';
615
}
716

17+
/**
18+
* @name contentType
19+
* @type StringElement
20+
* @memberof Asset.prototype
21+
*/
822
get contentType() {
923
return this.attributes.get('contentType');
1024
}
1125

1226
set contentType(value) {
1327
this.attributes.set('contentType', value);
1428
}
15-
29+
/**
30+
* @name href
31+
* @type StringElement
32+
* @memberof Asset.prototype
33+
*/
1634
get href() {
1735
return this.attributes.get('href');
1836
}

Diff for: src/elements/auth-scheme.js

+19
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,35 @@
11
export default function (namespace) {
22
const ArrayElement = namespace.getElementClass('array');
33

4+
/**
5+
* @class AuthScheme
6+
*
7+
* @param {Array} content
8+
* @param meta
9+
* @param attributes
10+
*
11+
* @extends ArrayElement
12+
*/
413
class AuthScheme extends ArrayElement {
514
constructor(...args) {
615
super(...args);
716
this.element = 'authScheme';
817
}
918

19+
/**
20+
* @name transitions
21+
* @type ArraySlice
22+
* @memberof HttpMessagePayload.prototype
23+
*/
1024
get transitions() {
1125
return this.children.filter(item => item.element === 'transition');
1226
}
1327

28+
/**
29+
* @name members
30+
* @type ArraySlice
31+
* @memberof HttpMessagePayload.prototype
32+
*/
1433
get members() {
1534
return this.children.filter(item => item.element === 'member');
1635
}

Diff for: src/elements/category.js

+39
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,35 @@
11
export default function (namespace) {
22
const ArrayElement = namespace.getElementClass('array');
33

4+
/**
5+
* @class Category
6+
*
7+
* @param {Array} content
8+
* @param meta
9+
* @param attributes
10+
*
11+
* @extends ArrayElement
12+
*/
413
class Category extends ArrayElement {
514
constructor(...args) {
615
super(...args);
716
this.element = 'category';
817
}
918

19+
/**
20+
* @name resourceGroups
21+
* @type ArraySlice
22+
* @memberof Category.prototype
23+
*/
1024
get resourceGroups() {
1125
return this.children.filter(item => item.classes.contains('resourceGroup'));
1226
}
1327

28+
/**
29+
* @name dataStructures
30+
* @type ArraySlice
31+
* @memberof Category.prototype
32+
*/
1433
get dataStructures() {
1534
return this.children.filter(item => item.classes.contains('dataStructures'));
1635
}
@@ -23,18 +42,38 @@ export default function (namespace) {
2342
return this.children.filter(item => item.classes.contains('transitions'));
2443
}
2544

45+
/**
46+
* @name authSchemes
47+
* @type ArraySlice
48+
* @memberof Category.prototype
49+
*/
2650
get authSchemeGroups() {
2751
return this.children.filter(item => item.classes.contains('authSchemes'));
2852
}
2953

54+
/**
55+
* @name resources
56+
* @type ArraySlice
57+
* @memberof Category.prototype
58+
*/
3059
get resources() {
3160
return this.children.filter(item => item.element === 'resource');
3261
}
3362

63+
/**
64+
* @name transitions
65+
* @type ArraySlice
66+
* @memberof Category.prototype
67+
*/
3468
get transitions() {
3569
return this.children.filter(item => item.element === 'transition');
3670
}
3771

72+
/**
73+
* @name authSchemes
74+
* @type ArraySlice
75+
* @memberof Category.prototype
76+
*/
3877
get authSchemes() {
3978
const schemes = ['Basic Authentication Scheme', 'Token Authentication Scheme', 'OAuth2 Scheme'];
4079
return this.children.filter(item => schemes.indexOf(item.element) !== -1);

Diff for: src/elements/copy.js

+19
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ export default function (namespace) {
22
const StringElement = namespace.getElementClass('string');
33
const ArrayElement = namespace.getElementClass('array');
44

5+
/**
6+
* @name copy
7+
* @type Copy
8+
* @memberof Element.prototype
9+
*/
510
if (!Object.getOwnPropertyNames(ArrayElement.prototype).includes('copy')) {
611
Object.defineProperty(ArrayElement.prototype, 'copy', {
712
get() {
@@ -10,12 +15,26 @@ export default function (namespace) {
1015
});
1116
}
1217

18+
/**
19+
* @class Copy
20+
*
21+
* @param {string} content
22+
* @param meta
23+
* @param attributes
24+
*
25+
* @extends StringElement
26+
*/
1327
class Copy extends StringElement {
1428
constructor(...args) {
1529
super(...args);
1630
this.element = 'copy';
1731
}
1832

33+
/**
34+
* @name contentType
35+
* @type StringElement
36+
* @memberof Copy.prototype
37+
*/
1938
get contentType() {
2039
return this.attributes.get('contentType');
2140
}

Diff for: src/elements/data-structure.js

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
export default function (namespace) {
2+
/**
3+
* @class DataStructure
4+
*
5+
* @param {Element} content
6+
* @param meta
7+
* @param attributes
8+
*
9+
* @extends Element
10+
*/
211
class DataStructure extends namespace.Element {
312
constructor(...args) {
413
super(...args);

Diff for: src/elements/enum.js

+14
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
11
export default function (namespace) {
22
const ArrayElement = namespace.getElementClass('array');
33

4+
/**
5+
* @class Enum
6+
*
7+
* @param {Element} content
8+
* @param meta
9+
* @param attributes
10+
*
11+
* @extends Element
12+
*/
413
class Enum extends namespace.Element {
514
constructor(content, meta, attributes) {
615
super(namespace.toElement(content), meta, attributes);
716
this.element = 'enum';
817
}
918

19+
/**
20+
* @name enumerations
21+
* @type ArrayElement
22+
* @memberof Enum.prototype
23+
*/
1024
get enumerations() {
1125
return this.attributes.get('enumerations');
1226
}

Diff for: src/elements/href-variables.js

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
export default function (namespace) {
22
const ObjectElement = namespace.getElementClass('object');
33

4+
/**
5+
* @class HrefVariables
6+
*
7+
* @param {Array} content
8+
* @param meta
9+
* @param attributes
10+
*
11+
* @extends ObjectElement
12+
*/
413
class HrefVariables extends ObjectElement {
514
constructor(...args) {
615
super(...args);

Diff for: src/elements/http-headers.js

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
export default function (namespace) {
22
const ArrayElement = namespace.getElementClass('array');
33

4+
/**
5+
* @class HttpHeaders
6+
*
7+
* @param {Array} content
8+
* @param meta
9+
* @param attributes
10+
*
11+
* @extends ArrayElement
12+
*/
413
class HttpHeaders extends ArrayElement {
514
constructor(...args) {
615
super(...args);

Diff for: src/elements/http-message-payload.js

+34
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,21 @@ import httpResponse from './http-response';
44
export default function (namespace) {
55
const ArrayElement = namespace.getElementClass('array');
66

7+
/**
8+
* @class HttpMessagePayload
9+
*
10+
* @param {Array} content
11+
* @param meta
12+
* @param attributes
13+
*
14+
* @extends ArrayElement
15+
*/
716
class HttpMessagePayload extends ArrayElement {
17+
/**
18+
* @name headers
19+
* @type HttpHeaders
20+
* @memberof HttpMessagePayload.prototype
21+
*/
822
get headers() {
923
return this.attributes.get('headers');
1024
}
@@ -24,6 +38,11 @@ export default function (namespace) {
2438
return header;
2539
}
2640

41+
/**
42+
* @name contentType
43+
* @type StringElement
44+
* @memberof HttpMessagePayload.prototype
45+
*/
2746
get contentType() {
2847
const header = this.header('Content-Type');
2948

@@ -34,16 +53,31 @@ export default function (namespace) {
3453
return this.content && this.content.contentType;
3554
}
3655

56+
/**
57+
* @name dataStructure
58+
* @type Asset
59+
* @memberof HttpMessagePayload.prototype
60+
*/
3761
get dataStructure() {
3862
return this.findByElement('dataStructure').first;
3963
}
4064

65+
/**
66+
* @name messageBody
67+
* @type Asset
68+
* @memberof HttpMessagePayload.prototype
69+
*/
4170
get messageBody() {
4271
// Returns the *first* message body. Only one should be defined according
4372
// to the spec, but it's possible to include more.
4473
return this.filter(item => item.element === 'asset' && item.classes.contains('messageBody')).first;
4574
}
4675

76+
/**
77+
* @name messageBodySchema
78+
* @type Asset
79+
* @memberof HttpMessagePayload.prototype
80+
*/
4781
get messageBodySchema() {
4882
// Returns the *first* message body schema. Only one should be defined
4983
// according to the spec, but it's possible to include more.

Diff for: src/elements/http-request.js

+19
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
11
export default function (namespace, HttpMessagePayload) {
2+
/**
3+
* @class HttpRequest
4+
*
5+
* @param content
6+
* @param meta
7+
* @param attributes
8+
*
9+
* @extends HttpMessagePayload
10+
*/
211
class HttpRequest extends HttpMessagePayload {
312
constructor(...args) {
413
super(...args);
514
this.element = 'httpRequest';
615
}
716

17+
/**
18+
* @name method
19+
* @type StringElement
20+
* @memberof HttpRequest.prototype
21+
*/
822
get method() {
923
return this.attributes.get('method');
1024
}
@@ -13,6 +27,11 @@ export default function (namespace, HttpMessagePayload) {
1327
this.attributes.set('method', value);
1428
}
1529

30+
/**
31+
* @name href
32+
* @type StringElement
33+
* @memberof HttpRequest.prototype
34+
*/
1635
get href() {
1736
return this.attributes.get('href');
1837
}

Diff for: src/elements/http-response.js

+14
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
11
export default function (namespace, HttpMessagePayload) {
2+
/**
3+
* @class HttpResponse
4+
*
5+
* @param content
6+
* @param meta
7+
* @param attributes
8+
*
9+
* @extends HttpMessagePayload
10+
*/
211
class HttpResponse extends HttpMessagePayload {
312
constructor(...args) {
413
super(...args);
514
this.element = 'httpResponse';
615
}
716

17+
/**
18+
* @name statusCode
19+
* @type NumberElement
20+
* @memberof HttpResponse.prototype
21+
*/
822
get statusCode() {
923
return this.attributes.get('statusCode');
1024
}

0 commit comments

Comments
 (0)