172 lines
6.6 KiB
JavaScript
172 lines
6.6 KiB
JavaScript
|
var __extends = (this && this.__extends) || (function () {
|
||
|
var extendStatics = function (d, b) {
|
||
|
extendStatics = Object.setPrototypeOf ||
|
||
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
||
|
return extendStatics(d, b);
|
||
|
};
|
||
|
return function (d, b) {
|
||
|
extendStatics(d, b);
|
||
|
function __() { this.constructor = d; }
|
||
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||
|
};
|
||
|
})();
|
||
|
import { DocNode, DocNodeKind } from './DocNode';
|
||
|
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
|
||
|
/**
|
||
|
* Represents an HTML attribute inside a DocHtmlStartTag or DocHtmlEndTag.
|
||
|
*
|
||
|
* Example: `href="#"` inside `<a href="#" />`
|
||
|
*/
|
||
|
var DocHtmlAttribute = /** @class */ (function (_super) {
|
||
|
__extends(DocHtmlAttribute, _super);
|
||
|
/**
|
||
|
* Don't call this directly. Instead use {@link TSDocParser}
|
||
|
* @internal
|
||
|
*/
|
||
|
function DocHtmlAttribute(parameters) {
|
||
|
var _this = _super.call(this, parameters) || this;
|
||
|
if (DocNode.isParsedParameters(parameters)) {
|
||
|
_this._nameExcerpt = new DocExcerpt({
|
||
|
configuration: _this.configuration,
|
||
|
excerptKind: ExcerptKind.HtmlAttribute_Name,
|
||
|
content: parameters.nameExcerpt
|
||
|
});
|
||
|
if (parameters.spacingAfterNameExcerpt) {
|
||
|
_this._spacingAfterNameExcerpt = new DocExcerpt({
|
||
|
configuration: _this.configuration,
|
||
|
excerptKind: ExcerptKind.Spacing,
|
||
|
content: parameters.spacingAfterNameExcerpt
|
||
|
});
|
||
|
}
|
||
|
_this._equalsExcerpt = new DocExcerpt({
|
||
|
configuration: _this.configuration,
|
||
|
excerptKind: ExcerptKind.HtmlAttribute_Equals,
|
||
|
content: parameters.equalsExcerpt
|
||
|
});
|
||
|
if (parameters.spacingAfterEqualsExcerpt) {
|
||
|
_this._spacingAfterEqualsExcerpt = new DocExcerpt({
|
||
|
configuration: _this.configuration,
|
||
|
excerptKind: ExcerptKind.Spacing,
|
||
|
content: parameters.spacingAfterEqualsExcerpt
|
||
|
});
|
||
|
}
|
||
|
_this._valueExcerpt = new DocExcerpt({
|
||
|
configuration: _this.configuration,
|
||
|
excerptKind: ExcerptKind.HtmlAttribute_Value,
|
||
|
content: parameters.valueExcerpt
|
||
|
});
|
||
|
if (parameters.spacingAfterValueExcerpt) {
|
||
|
_this._spacingAfterValueExcerpt = new DocExcerpt({
|
||
|
configuration: _this.configuration,
|
||
|
excerptKind: ExcerptKind.Spacing,
|
||
|
content: parameters.spacingAfterValueExcerpt
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
_this._name = parameters.name;
|
||
|
_this._spacingAfterName = parameters.spacingAfterName;
|
||
|
_this._spacingAfterEquals = parameters.spacingAfterEquals;
|
||
|
_this._value = parameters.value;
|
||
|
_this._spacingAfterValue = parameters.spacingAfterValue;
|
||
|
}
|
||
|
return _this;
|
||
|
}
|
||
|
Object.defineProperty(DocHtmlAttribute.prototype, "kind", {
|
||
|
/** @override */
|
||
|
get: function () {
|
||
|
return DocNodeKind.HtmlAttribute;
|
||
|
},
|
||
|
enumerable: false,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(DocHtmlAttribute.prototype, "name", {
|
||
|
/**
|
||
|
* The HTML attribute name.
|
||
|
*/
|
||
|
get: function () {
|
||
|
if (this._name === undefined) {
|
||
|
this._name = this._nameExcerpt.content.toString();
|
||
|
}
|
||
|
return this._name;
|
||
|
},
|
||
|
enumerable: false,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(DocHtmlAttribute.prototype, "spacingAfterName", {
|
||
|
/**
|
||
|
* Explicit whitespace that a renderer should insert after the HTML attribute name.
|
||
|
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
|
||
|
*/
|
||
|
get: function () {
|
||
|
if (this._spacingAfterName === undefined) {
|
||
|
if (this._spacingAfterNameExcerpt !== undefined) {
|
||
|
this._spacingAfterName = this._spacingAfterNameExcerpt.content.toString();
|
||
|
}
|
||
|
}
|
||
|
return this._spacingAfterName;
|
||
|
},
|
||
|
enumerable: false,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(DocHtmlAttribute.prototype, "spacingAfterEquals", {
|
||
|
/**
|
||
|
* Explicit whitespace that a renderer should insert after the "=".
|
||
|
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
|
||
|
*/
|
||
|
get: function () {
|
||
|
if (this._spacingAfterEquals === undefined) {
|
||
|
if (this._spacingAfterEqualsExcerpt !== undefined) {
|
||
|
this._spacingAfterEquals = this._spacingAfterEqualsExcerpt.content.toString();
|
||
|
}
|
||
|
}
|
||
|
return this._spacingAfterEquals;
|
||
|
},
|
||
|
enumerable: false,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(DocHtmlAttribute.prototype, "value", {
|
||
|
/**
|
||
|
* The HTML attribute value.
|
||
|
*/
|
||
|
get: function () {
|
||
|
if (this._value === undefined) {
|
||
|
this._value = this._valueExcerpt.content.toString();
|
||
|
}
|
||
|
return this._value;
|
||
|
},
|
||
|
enumerable: false,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(DocHtmlAttribute.prototype, "spacingAfterValue", {
|
||
|
/**
|
||
|
* Explicit whitespace that a renderer should insert after the HTML attribute name.
|
||
|
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
|
||
|
*/
|
||
|
get: function () {
|
||
|
if (this._spacingAfterValue === undefined) {
|
||
|
if (this._spacingAfterValueExcerpt !== undefined) {
|
||
|
this._spacingAfterValue = this._spacingAfterValueExcerpt.content.toString();
|
||
|
}
|
||
|
}
|
||
|
return this._spacingAfterValue;
|
||
|
},
|
||
|
enumerable: false,
|
||
|
configurable: true
|
||
|
});
|
||
|
/** @override */
|
||
|
DocHtmlAttribute.prototype.onGetChildNodes = function () {
|
||
|
return [
|
||
|
this._nameExcerpt,
|
||
|
this._spacingAfterNameExcerpt,
|
||
|
this._equalsExcerpt,
|
||
|
this._spacingAfterEqualsExcerpt,
|
||
|
this._valueExcerpt,
|
||
|
this._spacingAfterValueExcerpt
|
||
|
];
|
||
|
};
|
||
|
return DocHtmlAttribute;
|
||
|
}(DocNode));
|
||
|
export { DocHtmlAttribute };
|
||
|
//# sourceMappingURL=DocHtmlAttribute.js.map
|