@rgrove/parse-xml 3.0.0 → 4.0.1

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.
Files changed (103) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +72 -97
  3. package/dist/browser.js +774 -0
  4. package/dist/browser.js.map +7 -0
  5. package/dist/global.min.js +10 -0
  6. package/dist/global.min.js.map +7 -0
  7. package/dist/index.d.ts +24 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +50 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/lib/Parser.d.ts +218 -0
  12. package/dist/lib/Parser.d.ts.map +1 -0
  13. package/dist/lib/Parser.js +638 -0
  14. package/dist/lib/Parser.js.map +1 -0
  15. package/dist/lib/StringScanner.d.ts +97 -0
  16. package/dist/lib/StringScanner.d.ts.map +1 -0
  17. package/dist/lib/StringScanner.js +210 -0
  18. package/dist/lib/StringScanner.js.map +1 -0
  19. package/dist/lib/XmlCdata.d.ts +8 -0
  20. package/dist/lib/XmlCdata.d.ts.map +1 -0
  21. package/dist/lib/XmlCdata.js +15 -0
  22. package/dist/lib/XmlCdata.js.map +1 -0
  23. package/dist/lib/XmlComment.d.ts +16 -0
  24. package/dist/lib/XmlComment.d.ts.map +1 -0
  25. package/dist/lib/XmlComment.js +23 -0
  26. package/dist/lib/XmlComment.js.map +1 -0
  27. package/dist/lib/XmlDocument.d.ts +29 -0
  28. package/dist/lib/XmlDocument.d.ts.map +1 -0
  29. package/dist/lib/XmlDocument.js +47 -0
  30. package/dist/lib/XmlDocument.js.map +1 -0
  31. package/dist/lib/XmlElement.d.ts +40 -0
  32. package/dist/lib/XmlElement.d.ts.map +1 -0
  33. package/dist/lib/XmlElement.js +51 -0
  34. package/dist/lib/XmlElement.js.map +1 -0
  35. package/dist/lib/XmlNode.d.ts +74 -0
  36. package/dist/lib/XmlNode.d.ts.map +1 -0
  37. package/dist/lib/XmlNode.js +96 -0
  38. package/dist/lib/XmlNode.js.map +1 -0
  39. package/dist/lib/XmlProcessingInstruction.d.ts +22 -0
  40. package/dist/lib/XmlProcessingInstruction.d.ts.map +1 -0
  41. package/dist/lib/XmlProcessingInstruction.js +25 -0
  42. package/dist/lib/XmlProcessingInstruction.js.map +1 -0
  43. package/dist/lib/XmlText.d.ts +16 -0
  44. package/dist/lib/XmlText.d.ts.map +1 -0
  45. package/dist/lib/XmlText.js +23 -0
  46. package/dist/lib/XmlText.js.map +1 -0
  47. package/dist/lib/syntax.d.ts +69 -0
  48. package/dist/lib/syntax.d.ts.map +1 -0
  49. package/dist/lib/syntax.js +133 -0
  50. package/dist/lib/syntax.js.map +1 -0
  51. package/dist/lib/types.d.ts +5 -0
  52. package/dist/lib/types.d.ts.map +1 -0
  53. package/dist/lib/types.js +3 -0
  54. package/dist/lib/types.js.map +1 -0
  55. package/package.json +33 -26
  56. package/src/index.ts +30 -0
  57. package/src/lib/Parser.ts +819 -0
  58. package/src/lib/StringScanner.ts +254 -0
  59. package/src/lib/XmlCdata.ts +11 -0
  60. package/src/lib/XmlComment.ts +26 -0
  61. package/src/lib/XmlDocument.ts +57 -0
  62. package/src/lib/XmlElement.ts +81 -0
  63. package/src/lib/XmlNode.ts +107 -0
  64. package/src/lib/XmlProcessingInstruction.ts +35 -0
  65. package/src/lib/XmlText.ts +26 -0
  66. package/src/lib/syntax.ts +136 -0
  67. package/src/lib/types.ts +2 -0
  68. package/CHANGELOG.md +0 -162
  69. package/dist/types/index.d.ts +0 -68
  70. package/dist/types/index.d.ts.map +0 -1
  71. package/dist/types/lib/Parser.d.ts +0 -234
  72. package/dist/types/lib/Parser.d.ts.map +0 -1
  73. package/dist/types/lib/StringScanner.d.ts +0 -139
  74. package/dist/types/lib/StringScanner.d.ts.map +0 -1
  75. package/dist/types/lib/XmlCdata.d.ts +0 -11
  76. package/dist/types/lib/XmlCdata.d.ts.map +0 -1
  77. package/dist/types/lib/XmlComment.d.ts +0 -21
  78. package/dist/types/lib/XmlComment.d.ts.map +0 -1
  79. package/dist/types/lib/XmlDocument.d.ts +0 -42
  80. package/dist/types/lib/XmlDocument.d.ts.map +0 -1
  81. package/dist/types/lib/XmlElement.d.ts +0 -62
  82. package/dist/types/lib/XmlElement.d.ts.map +0 -1
  83. package/dist/types/lib/XmlNode.d.ts +0 -78
  84. package/dist/types/lib/XmlNode.d.ts.map +0 -1
  85. package/dist/types/lib/XmlProcessingInstruction.d.ts +0 -30
  86. package/dist/types/lib/XmlProcessingInstruction.d.ts.map +0 -1
  87. package/dist/types/lib/XmlText.d.ts +0 -21
  88. package/dist/types/lib/XmlText.d.ts.map +0 -1
  89. package/dist/types/lib/syntax.d.ts +0 -59
  90. package/dist/types/lib/syntax.d.ts.map +0 -1
  91. package/dist/umd/parse-xml.min.js +0 -2
  92. package/dist/umd/parse-xml.min.js.map +0 -1
  93. package/src/index.js +0 -67
  94. package/src/lib/Parser.js +0 -812
  95. package/src/lib/StringScanner.js +0 -312
  96. package/src/lib/XmlCdata.js +0 -17
  97. package/src/lib/XmlComment.js +0 -37
  98. package/src/lib/XmlDocument.js +0 -69
  99. package/src/lib/XmlElement.js +0 -101
  100. package/src/lib/XmlNode.js +0 -152
  101. package/src/lib/XmlProcessingInstruction.js +0 -48
  102. package/src/lib/XmlText.js +0 -37
  103. package/src/lib/syntax.js +0 -153
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- const XmlNode = require('./XmlNode');
4
-
5
- /**
6
- A processing instruction within an XML document.
7
-
8
- @public
9
- */
10
- class XmlProcessingInstruction extends XmlNode {
11
- /**
12
- @param {string} name
13
- @param {string} [content]
14
- */
15
- constructor(name, content = '') {
16
- super();
17
-
18
- /**
19
- Name of this processing instruction. Also sometimes referred to as the
20
- processing instruction "target".
21
-
22
- @type {string}
23
- @public
24
- */
25
- this.name = name;
26
-
27
- /**
28
- Content of this processing instruction.
29
-
30
- @type {string}
31
- @public
32
- */
33
- this.content = content;
34
- }
35
-
36
- get type() {
37
- return XmlNode.TYPE_PROCESSING_INSTRUCTION;
38
- }
39
-
40
- toJSON() {
41
- return Object.assign(XmlNode.prototype.toJSON.call(this), {
42
- name: this.name,
43
- content: this.content
44
- });
45
- }
46
- }
47
-
48
- module.exports = XmlProcessingInstruction;
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- const XmlNode = require('./XmlNode');
4
-
5
- /**
6
- Text content within an XML document.
7
-
8
- @public
9
- */
10
- class XmlText extends XmlNode {
11
- /**
12
- @param {string} [text]
13
- */
14
- constructor(text = '') {
15
- super();
16
-
17
- /**
18
- Text content of this node.
19
-
20
- @type {string}
21
- @public
22
- */
23
- this.text = text;
24
- }
25
-
26
- get type() {
27
- return XmlNode.TYPE_TEXT;
28
- }
29
-
30
- toJSON() {
31
- return Object.assign(XmlNode.prototype.toJSON.call(this), {
32
- text: this.text
33
- });
34
- }
35
- }
36
-
37
- module.exports = XmlText;
package/src/lib/syntax.js DELETED
@@ -1,153 +0,0 @@
1
- 'use strict';
2
-
3
- // -- Exported Constants -------------------------------------------------------
4
-
5
- /**
6
- Mapping of predefined entity names to their replacement values.
7
-
8
- @type {Readonly<{[name: string]: string}>}
9
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent
10
- */
11
- const predefinedEntities = Object.freeze(Object.assign(Object.create(null), {
12
- amp: '&',
13
- apos: "'",
14
- gt: '>',
15
- lt: '<',
16
- quot: '"'
17
- }));
18
-
19
- exports.predefinedEntities = predefinedEntities;
20
-
21
- // -- Exported Functions -------------------------------------------------------
22
-
23
- /**
24
- Returns `true` if _char_ is an XML `NameChar`, `false` if it isn't.
25
-
26
- @param {string} char
27
- @returns {boolean}
28
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-NameChar
29
- */
30
- function isNameChar(char) {
31
- if (isNameStartChar(char)) {
32
- return true;
33
- }
34
-
35
- let cp = getCodePoint(char);
36
-
37
- return cp === 0x2D // -
38
- || cp === 0x2E // .
39
- || (cp >= 0x30 && cp <= 0x39) // 0-9
40
- || cp === 0xB7
41
- || (cp >= 0x300 && cp <= 0x36F)
42
- || (cp >= 0x203F && cp <= 0x2040);
43
- }
44
-
45
- exports.isNameChar = isNameChar;
46
-
47
- /**
48
- Returns `true` if _char_ is an XML `NameStartChar`, `false` if it isn't.
49
-
50
- @param {string} char
51
- @returns {boolean}
52
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-NameStartChar
53
- */
54
- function isNameStartChar(char) {
55
- let cp = getCodePoint(char);
56
-
57
- return cp === 0x3A // :
58
- || cp === 0x5F // _
59
- || (cp >= 0x41 && cp <= 0x5A) // A-Z
60
- || (cp >= 0x61 && cp <= 0x7A) // a-z
61
- || (cp >= 0xC0 && cp <= 0xD6)
62
- || (cp >= 0xD8 && cp <= 0xF6)
63
- || (cp >= 0xF8 && cp <= 0x2FF)
64
- || (cp >= 0x370 && cp <= 0x37D)
65
- || (cp >= 0x37F && cp <= 0x1FFF)
66
- || (cp >= 0x200C && cp <= 0x200D)
67
- || (cp >= 0x2070 && cp <= 0x218F)
68
- || (cp >= 0x2C00 && cp <= 0x2FEF)
69
- || (cp >= 0x3001 && cp <= 0xD7FF)
70
- || (cp >= 0xF900 && cp <= 0xFDCF)
71
- || (cp >= 0xFDF0 && cp <= 0xFFFD)
72
- || (cp >= 0x10000 && cp <= 0xEFFFF);
73
- }
74
-
75
- exports.isNameStartChar = isNameStartChar;
76
-
77
- /**
78
- Returns `true` if _char_ is not a valid XML `Char`, `false` otherwise.
79
-
80
- @param {string} char
81
- @returns {boolean}
82
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char
83
- */
84
- function isNotXmlChar(char) {
85
- return !isXmlChar(char);
86
- }
87
-
88
- exports.isNotXmlChar = isNotXmlChar;
89
-
90
- /**
91
- Returns `true` if _char_ is a valid reference character (which may appear
92
- between `&` and `;` in a reference), `false` otherwise.
93
-
94
- @param {string} char
95
- @returns {boolean}
96
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-references
97
- */
98
- function isReferenceChar(char) {
99
- return char === '#' || isNameChar(char);
100
- }
101
-
102
- exports.isReferenceChar = isReferenceChar;
103
-
104
- /**
105
- Returns `true` if _char_ is an XML whitespace character, `false` otherwise.
106
-
107
- @param {string} char
108
- @returns {boolean}
109
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#white
110
- */
111
- function isWhitespace(char) {
112
- let cp = getCodePoint(char);
113
-
114
- return cp === 0x20
115
- || cp === 0x9
116
- || cp === 0xA
117
- || cp === 0xD;
118
- }
119
-
120
- exports.isWhitespace = isWhitespace;
121
-
122
- /**
123
- Returns `true` if _char_ is a valid XML `Char`, `false` otherwise.
124
-
125
- @param {string} char
126
- @returns {boolean}
127
- @see https://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char
128
- */
129
- function isXmlChar(char) {
130
- let cp = getCodePoint(char);
131
-
132
- return cp === 0x9
133
- || cp === 0xA
134
- || cp === 0xD
135
- || (cp >= 0x20 && cp <= 0xD7FF)
136
- || (cp >= 0xE000 && cp <= 0xFFFD)
137
- || (cp >= 0x10000 && cp <= 0x10FFFF);
138
- }
139
-
140
- exports.isXmlChar = isXmlChar;
141
-
142
- // -- Private Functions --------------------------------------------------------
143
-
144
- /**
145
- Returns the Unicode code point value of the given character, or `-1` if _char_
146
- is empty.
147
-
148
- @param {string} char
149
- @returns {number}
150
- */
151
- function getCodePoint(char) {
152
- return char.codePointAt(0) || -1;
153
- }