XmlAttributeText.js
4.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
"use strict";
var __extends = (this && this.__extends) || (function () {
var 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 function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Copyright (C) 2016 Michael Kourlas
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var escape_1 = require("../escape");
var utils_1 = require("../utils");
var validate_1 = require("../validate");
var XmlNode_1 = require("./XmlNode");
/**
* Represents text in an XML attribute value.
*
* Restricted characters, such as the ampersand (`&`) and the opening angle
* bracket (`<`), are all automatically escaped.
*
* To create an character reference or entity reference, you should use
* {@link XmlCharRef} or {@link XmlEntityRef} respectively instead.
*
* XmlAttributeText nodes cannot have any children.
*/
var XmlAttributeText = (function (_super) {
__extends(XmlAttributeText, _super);
/**
* Initializes a new instance of the {@link XmlAttributeText} class.
*
* @param text Text.
*/
function XmlAttributeText(text) {
var _this = _super.call(this) || this;
_this.text = text;
return _this;
}
Object.defineProperty(XmlAttributeText.prototype, "text", {
/**
* Gets the text associated with this node.
*
* @returns The text associated with this node.
*/
get: function () {
return this._text;
},
/**
* Sets the text associated with this node.
*
* @param text Text.
*/
set: function (text) {
if (!utils_1.isString(text)) {
throw new TypeError("text should be a string");
}
else if (!validate_1.validateChar(text)) {
throw new Error("text should not contain characters not allowed"
+ " in XML");
}
this._text = text;
},
enumerable: true,
configurable: true
});
/**
* Throws an exception since {@link XmlAttributeText} nodes cannot have any
* children.
*
* @returns This method does not return.
*/
XmlAttributeText.prototype.children = function () {
throw new Error("XmlAttributeText nodes cannot have children");
};
/**
* Throws an exception since {@link XmlAttributeText} nodes cannot have any
* children.
*
* @param node This parameter is unused.
* @param index This parameter is unused.
*
* @returns This method does not return.
*/
XmlAttributeText.prototype.insertChild = function (node, index) {
throw new Error("XmlAttributeText nodes cannot have children");
};
/**
* Throws an exception since {@link XmlAttributeText} nodes cannot have any
* children.
*
* @param node This parameter is unused.
*
* @returns This method does not return.
*/
XmlAttributeText.prototype.removeChild = function (node) {
throw new Error("XmlAttributeText nodes cannot have children");
};
/**
* Throws an exception since {@link XmlAttributeText} nodes cannot have any
* children.
*
* @param index This parameter is unused.
*
* @returns This method does not return.
*/
XmlAttributeText.prototype.removeChildAtIndex = function (index) {
throw new Error("XmlAttributeText nodes cannot have children");
};
/**
* Returns an XML string representation of this node.
*
* @param options Formatting options for the string representation.
*
* @returns {string} An XML string representation of this node.
*/
XmlAttributeText.prototype.toString = function (options) {
if (options === void 0) { options = {}; }
var str = this.text;
str = escape_1.escapeAmpersands(str);
str = escape_1.escapeLeftAngleBrackets(str);
return str;
};
return XmlAttributeText;
}(XmlNode_1.default));
exports.default = XmlAttributeText;