@cdk8s/awscdk-resolver 0.0.608 → 0.0.610

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 (145) hide show
  1. package/.jsii +3 -3
  2. package/lib/resolve.js +1 -1
  3. package/node_modules/@aws-sdk/client-cloudformation/package.json +3 -3
  4. package/node_modules/@aws-sdk/core/package.json +2 -2
  5. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  6. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  7. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  8. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  9. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  10. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  11. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  12. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  13. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  14. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  15. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  16. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  17. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  18. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  19. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  20. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +1 -1
  21. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +233 -43
  22. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.browser.js +1 -1
  23. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +233 -43
  24. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-parser.d.ts +1 -1
  25. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-parser.d.ts +2 -1
  26. package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
  27. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +518 -371
  28. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +1 -1
  29. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js +326 -269
  30. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js +192 -103
  31. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor.js +4 -2
  32. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js +1 -1
  33. package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor-decode.d.ts +4 -0
  34. package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor-encode.d.ts +8 -4
  35. package/node_modules/@smithy/core/package.json +1 -1
  36. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  37. package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
  38. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  39. package/node_modules/@smithy/signature-v4/package.json +2 -2
  40. package/package.json +6 -6
  41. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +0 -333
  42. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js +0 -332
  43. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-external/nodable_entities.d.ts +0 -66
  44. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-external/nodable_entities.d.ts +0 -65
  45. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +0 -827
  46. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/LICENSE +0 -21
  47. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +0 -202
  48. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +0 -2
  49. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +0 -1
  50. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +0 -1
  51. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +0 -770
  52. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +0 -2
  53. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +0 -1
  54. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +0 -2
  55. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +0 -1
  56. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +0 -2
  57. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +0 -1
  58. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +0 -93
  59. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/cli.js +0 -97
  60. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/man.js +0 -17
  61. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/read.js +0 -43
  62. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +0 -739
  63. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +0 -14
  64. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/ignoreAttributes.js +0 -18
  65. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +0 -61
  66. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +0 -16
  67. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +0 -106
  68. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +0 -61
  69. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +0 -69
  70. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +0 -103
  71. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +0 -100
  72. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +0 -154
  73. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +0 -94
  74. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
  75. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/TagPath.js +0 -81
  76. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +0 -13
  77. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +0 -83
  78. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +0 -235
  79. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +0 -210
  80. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +0 -111
  81. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +0 -116
  82. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +0 -121
  83. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +0 -105
  84. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +0 -22
  85. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +0 -19
  86. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +0 -38
  87. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +0 -13
  88. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +0 -14
  89. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +0 -6
  90. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +0 -425
  91. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +0 -6
  92. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +0 -407
  93. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +0 -163
  94. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +0 -840
  95. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +0 -71
  96. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +0 -177
  97. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +0 -40
  98. package/node_modules/@nodable/entities/README.md +0 -41
  99. package/node_modules/@nodable/entities/package.json +0 -57
  100. package/node_modules/@nodable/entities/src/EntityDecoder.js +0 -644
  101. package/node_modules/@nodable/entities/src/EntityEncoder.js +0 -194
  102. package/node_modules/@nodable/entities/src/entities.js +0 -1159
  103. package/node_modules/@nodable/entities/src/entityTries.js +0 -49
  104. package/node_modules/@nodable/entities/src/index.d.ts +0 -341
  105. package/node_modules/@nodable/entities/src/index.js +0 -29
  106. package/node_modules/anynum/LICENSE +0 -21
  107. package/node_modules/anynum/README.md +0 -142
  108. package/node_modules/anynum/anynum.js +0 -135
  109. package/node_modules/anynum/digitTable.js +0 -116
  110. package/node_modules/anynum/package.json +0 -42
  111. package/node_modules/fast-xml-builder/CHANGELOG.md +0 -40
  112. package/node_modules/fast-xml-builder/LICENSE +0 -21
  113. package/node_modules/fast-xml-builder/README.md +0 -74
  114. package/node_modules/fast-xml-builder/lib/fxb.cjs +0 -1
  115. package/node_modules/fast-xml-builder/lib/fxb.d.cts +0 -270
  116. package/node_modules/fast-xml-builder/lib/fxb.min.js +0 -2
  117. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +0 -1
  118. package/node_modules/fast-xml-builder/package.json +0 -81
  119. package/node_modules/fast-xml-builder/src/fxb.d.ts +0 -270
  120. package/node_modules/fast-xml-builder/src/fxb.js +0 -599
  121. package/node_modules/fast-xml-builder/src/ignoreAttributes.js +0 -18
  122. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +0 -359
  123. package/node_modules/fast-xml-builder/src/prettifyJs2Xml.js +0 -0
  124. package/node_modules/fast-xml-builder/src/util.js +0 -16
  125. package/node_modules/path-expression-matcher/LICENSE +0 -21
  126. package/node_modules/path-expression-matcher/README.md +0 -947
  127. package/node_modules/path-expression-matcher/lib/pem.cjs +0 -1
  128. package/node_modules/path-expression-matcher/lib/pem.d.cts +0 -715
  129. package/node_modules/path-expression-matcher/lib/pem.min.js +0 -2
  130. package/node_modules/path-expression-matcher/lib/pem.min.js.map +0 -1
  131. package/node_modules/path-expression-matcher/package.json +0 -79
  132. package/node_modules/path-expression-matcher/src/Expression.js +0 -232
  133. package/node_modules/path-expression-matcher/src/ExpressionSet.js +0 -225
  134. package/node_modules/path-expression-matcher/src/Matcher.js +0 -660
  135. package/node_modules/path-expression-matcher/src/index.d.ts +0 -589
  136. package/node_modules/path-expression-matcher/src/index.js +0 -29
  137. package/node_modules/strnum/CHANGELOG.md +0 -51
  138. package/node_modules/strnum/LICENSE +0 -21
  139. package/node_modules/strnum/README.md +0 -113
  140. package/node_modules/strnum/package.json +0 -36
  141. package/node_modules/strnum/strnum.js +0 -171
  142. package/node_modules/xml-naming/README.md +0 -189
  143. package/node_modules/xml-naming/package.json +0 -54
  144. package/node_modules/xml-naming/src/index.d.ts +0 -74
  145. package/node_modules/xml-naming/src/index.js +0 -270
@@ -1,71 +0,0 @@
1
- import { buildOptions } from './OptionsBuilder.js';
2
- import OrderedObjParser from './OrderedObjParser.js';
3
- import prettify from './node2json.js';
4
- import { validate } from "../validator.js";
5
- import XmlNode from './xmlNode.js';
6
-
7
- export default class XMLParser {
8
-
9
- constructor(options) {
10
- this.externalEntities = {};
11
- this.options = buildOptions(options);
12
-
13
- }
14
- /**
15
- * Parse XML dats to JS object
16
- * @param {string|Uint8Array} xmlData
17
- * @param {boolean|Object} validationOption
18
- */
19
- parse(xmlData, validationOption) {
20
- if (typeof xmlData !== "string" && xmlData.toString) {
21
- xmlData = xmlData.toString();
22
- } else if (typeof xmlData !== "string") {
23
- throw new Error("XML data is accepted in String or Bytes[] form.")
24
- }
25
-
26
- if (validationOption) {
27
- if (validationOption === true) validationOption = {}; //validate with default options
28
-
29
- const result = validate(xmlData, validationOption);
30
- if (result !== true) {
31
- throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`)
32
- }
33
- }
34
- const orderedObjParser = new OrderedObjParser(this.options, this.externalEntities);
35
- // orderedObjParser.entityDecoder.setExternalEntities(this.externalEntities);
36
- const orderedResult = orderedObjParser.parseXml(xmlData);
37
- if (this.options.preserveOrder || orderedResult === undefined) return orderedResult;
38
- else return prettify(orderedResult, this.options, orderedObjParser.matcher, orderedObjParser.readonlyMatcher);
39
- }
40
-
41
- /**
42
- * Add Entity which is not by default supported by this library
43
- * @param {string} key
44
- * @param {string} value
45
- */
46
- addEntity(key, value) {
47
- if (value.indexOf("&") !== -1) {
48
- throw new Error("Entity value can't have '&'")
49
- } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) {
50
- throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'")
51
- } else if (value === "&") {
52
- throw new Error("An entity with value '&' is not permitted");
53
- } else {
54
- this.externalEntities[key] = value;
55
- }
56
- }
57
-
58
- /**
59
- * Returns a Symbol that can be used to access the metadata
60
- * property on a node.
61
- *
62
- * If Symbol is not available in the environment, an ordinary property is used
63
- * and the name of the property is here returned.
64
- *
65
- * The XMLMetaData property is only present when `captureMetaData`
66
- * is true in the options.
67
- */
68
- static getMetaDataSymbol() {
69
- return XmlNode.getMetaDataSymbol();
70
- }
71
- }
@@ -1,177 +0,0 @@
1
- 'use strict';
2
-
3
- import XmlNode from './xmlNode.js';
4
- import { Matcher } from 'path-expression-matcher';
5
-
6
- const METADATA_SYMBOL = XmlNode.getMetaDataSymbol();
7
-
8
- /**
9
- * Helper function to strip attribute prefix from attribute map
10
- * @param {object} attrs - Attributes with prefix (e.g., {"@_class": "code"})
11
- * @param {string} prefix - Attribute prefix to remove (e.g., "@_")
12
- * @returns {object} Attributes without prefix (e.g., {"class": "code"})
13
- */
14
- function stripAttributePrefix(attrs, prefix) {
15
- if (!attrs || typeof attrs !== 'object') return {};
16
- if (!prefix) return attrs;
17
-
18
- const rawAttrs = {};
19
- for (const key in attrs) {
20
- if (key.startsWith(prefix)) {
21
- const rawName = key.substring(prefix.length);
22
- rawAttrs[rawName] = attrs[key];
23
- } else {
24
- // Attribute without prefix (shouldn't normally happen, but be safe)
25
- rawAttrs[key] = attrs[key];
26
- }
27
- }
28
- return rawAttrs;
29
- }
30
-
31
- /**
32
- *
33
- * @param {array} node
34
- * @param {any} options
35
- * @param {Matcher} matcher - Path matcher instance
36
- * @returns
37
- */
38
- export default function prettify(node, options, matcher, readonlyMatcher) {
39
- return compress(node, options, matcher, readonlyMatcher);
40
- }
41
-
42
- /**
43
- * @param {array} arr
44
- * @param {object} options
45
- * @param {Matcher} matcher - Path matcher instance
46
- * @returns object
47
- */
48
- function compress(arr, options, matcher, readonlyMatcher) {
49
- let text;
50
- const compressedObj = {}; //This is intended to be a plain object
51
- for (let i = 0; i < arr.length; i++) {
52
- const tagObj = arr[i];
53
- const property = propName(tagObj);
54
-
55
- // Push current property to matcher WITH RAW ATTRIBUTES (no prefix)
56
- if (property !== undefined && property !== options.textNodeName) {
57
- const rawAttrs = stripAttributePrefix(
58
- tagObj[":@"] || {},
59
- options.attributeNamePrefix
60
- );
61
- matcher.push(property, rawAttrs);
62
- }
63
-
64
- if (property === options.textNodeName) {
65
- if (text === undefined) text = tagObj[property];
66
- else text += "" + tagObj[property];
67
- } else if (property === undefined) {
68
- continue;
69
- } else if (tagObj[property]) {
70
-
71
- let val = compress(tagObj[property], options, matcher, readonlyMatcher);
72
- const isLeaf = isLeafTag(val, options);
73
-
74
- if (Object.keys(val).length === 0 && options.alwaysCreateTextNode) {
75
- val[options.textNodeName] = "";
76
- }
77
-
78
- if (tagObj[":@"]) {
79
- assignAttributes(val, tagObj[":@"], readonlyMatcher, options);
80
- } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode) {
81
- val = val[options.textNodeName];
82
- } else if (Object.keys(val).length === 0) {
83
- if (options.alwaysCreateTextNode) val[options.textNodeName] = "";
84
- else val = "";
85
- }
86
-
87
- if (tagObj[METADATA_SYMBOL] !== undefined && typeof val === "object" && val !== null) {
88
- val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata
89
- }
90
-
91
-
92
- if (compressedObj[property] !== undefined && Object.prototype.hasOwnProperty.call(compressedObj, property)) {
93
- if (!Array.isArray(compressedObj[property])) {
94
- compressedObj[property] = [compressedObj[property]];
95
- }
96
- compressedObj[property].push(val);
97
- } else {
98
- //TODO: if a node is not an array, then check if it should be an array
99
- //also determine if it is a leaf node
100
-
101
- // Pass jPath string or readonlyMatcher based on options.jPath setting
102
- const jPathOrMatcher = options.jPath ? readonlyMatcher.toString() : readonlyMatcher;
103
- if (options.isArray(property, jPathOrMatcher, isLeaf)) {
104
- compressedObj[property] = [val];
105
- } else {
106
- compressedObj[property] = val;
107
- }
108
- }
109
-
110
- // Pop property from matcher after processing
111
- if (property !== undefined && property !== options.textNodeName) {
112
- matcher.pop();
113
- }
114
- }
115
-
116
- }
117
- // if(text && text.length > 0) compressedObj[options.textNodeName] = text;
118
- if (typeof text === "string") {
119
- if (text.length > 0) compressedObj[options.textNodeName] = text;
120
- } else if (text !== undefined) compressedObj[options.textNodeName] = text;
121
-
122
-
123
- return compressedObj;
124
- }
125
-
126
- function propName(obj) {
127
- const keys = Object.keys(obj);
128
- for (let i = 0; i < keys.length; i++) {
129
- const key = keys[i];
130
- if (key !== ":@") return key;
131
- }
132
- }
133
-
134
- function assignAttributes(obj, attrMap, readonlyMatcher, options) {
135
- if (attrMap) {
136
- const keys = Object.keys(attrMap);
137
- const len = keys.length; //don't make it inline
138
- for (let i = 0; i < len; i++) {
139
- const atrrName = keys[i]; // This is the PREFIXED name (e.g., "@_class")
140
-
141
- // Strip prefix for matcher path (for isArray callback)
142
- const rawAttrName = atrrName.startsWith(options.attributeNamePrefix)
143
- ? atrrName.substring(options.attributeNamePrefix.length)
144
- : atrrName;
145
-
146
- // For attributes, we need to create a temporary path
147
- // Pass jPath string or matcher based on options.jPath setting
148
- const jPathOrMatcher = options.jPath
149
- ? readonlyMatcher.toString() + "." + rawAttrName
150
- : readonlyMatcher;
151
-
152
- if (options.isArray(atrrName, jPathOrMatcher, true, true)) {
153
- obj[atrrName] = [attrMap[atrrName]];
154
- } else {
155
- obj[atrrName] = attrMap[atrrName];
156
- }
157
- }
158
- }
159
- }
160
-
161
- function isLeafTag(obj, options) {
162
- const { textNodeName } = options;
163
- const propCount = Object.keys(obj).length;
164
-
165
- if (propCount === 0) {
166
- return true;
167
- }
168
-
169
- if (
170
- propCount === 1 &&
171
- (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)
172
- ) {
173
- return true;
174
- }
175
-
176
- return false;
177
- }
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- let METADATA_SYMBOL;
4
-
5
- if (typeof Symbol !== "function") {
6
- METADATA_SYMBOL = "@@xmlMetadata";
7
- } else {
8
- METADATA_SYMBOL = Symbol("XML Node Metadata");
9
- }
10
-
11
- export default class XmlNode {
12
- constructor(tagname) {
13
- this.tagname = tagname;
14
- this.child = []; //nested tags, text, cdata, comments in order
15
- this[":@"] = Object.create(null); //attributes map
16
- }
17
- add(key, val) {
18
- // this.child.push( {name : key, val: val, isCdata: isCdata });
19
- if (key === "__proto__") key = "#__proto__";
20
- this.child.push({ [key]: val });
21
- }
22
- addChild(node, startIndex) {
23
- if (node.tagname === "__proto__") node.tagname = "#__proto__";
24
- if (node[":@"] && Object.keys(node[":@"]).length > 0) {
25
- this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] });
26
- } else {
27
- this.child.push({ [node.tagname]: node.child });
28
- }
29
- // if requested, add the startIndex
30
- if (startIndex !== undefined) {
31
- // Note: for now we just overwrite the metadata. If we had more complex metadata,
32
- // we might need to do an object append here: metadata = { ...metadata, startIndex }
33
- this.child[this.child.length - 1][METADATA_SYMBOL] = { startIndex };
34
- }
35
- }
36
- /** symbol used for metadata */
37
- static getMetaDataSymbol() {
38
- return METADATA_SYMBOL;
39
- }
40
- }
@@ -1,41 +0,0 @@
1
- # @nodable/entities
2
-
3
- Fast, zero-dependency XML/HTML entity encoder and decoder for Node.js.
4
-
5
- ## Install
6
-
7
- ```bash
8
- npm install @nodable/entities
9
- ```
10
-
11
- ## Quick start
12
-
13
- ```js
14
- import { EntityEncoder, EntityDecoder, ALL_ENTITIES } from '@nodable/entities';
15
-
16
- // Encode: plain text → entity references
17
- const enc = new EntityEncoder();
18
- enc.encode('Hello © 2024 & <stuff>');
19
- // → 'Hello &copy; 2024 &amp; &lt;stuff&gt;'
20
-
21
- // Decode: entity references → plain text
22
- const dec = new EntityDecoder({ namedEntities: ALL_ENTITIES });
23
- dec.decode('Hello &copy; 2024 &amp; &lt;stuff&gt;');
24
- // → 'Hello © 2024 & <stuff>'
25
- ```
26
-
27
- ## Performance
28
-
29
- | | encode | decode |
30
- |---|---|---|
31
- | `entities` (npm) | 3.65 M req/s | 1.76 M req/s |
32
- | `@nodable/entities` | 3.33 M req/s | **5.19 M req/s** |
33
-
34
- ## Documentation
35
-
36
- - [EntityEncoder](docs/EntityEncoder.md) — options, API, recipes
37
- - [EntityDecoder](docs/EntityDecoder.md) — options, API, security limits, entity sets
38
-
39
- ## License
40
-
41
- MIT
@@ -1,57 +0,0 @@
1
- {
2
- "name": "@nodable/entities",
3
- "version": "2.2.0",
4
- "description": "Entity parser for XML, HTML, External entites with security and NCR control",
5
- "main": "./src/index.js",
6
- "type": "module",
7
- "sideEffects": false,
8
- "types": "./src/index.d.ts",
9
- "scripts": {
10
- "test": "node --experimental-vm-modules node_modules/.bin/jest",
11
- "test:watch": "node --experimental-vm-modules node_modules/.bin/jest --watch",
12
- "test:coverage": "node --experimental-vm-modules node_modules/.bin/jest --coverage",
13
- "lint": "eslint src/ test/"
14
- },
15
- "files": [
16
- "src",
17
- "README.md"
18
- ],
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/nodable/val-parsers.git"
22
- },
23
- "keywords": [
24
- "fast",
25
- "xml",
26
- "html",
27
- "entity",
28
- "entities",
29
- "stringify",
30
- "encode",
31
- "decode",
32
- "ncr",
33
- "security",
34
- "safe",
35
- "performance"
36
- ],
37
- "author": "Amit Gupta (https://solothought.com)",
38
- "license": "MIT",
39
- "publishConfig": {
40
- "access": "public"
41
- },
42
- "devDependencies": {
43
- "jest": "^29.7.0"
44
- },
45
- "funding": [
46
- {
47
- "type": "github",
48
- "url": "https://github.com/sponsors/nodable"
49
- }
50
- ],
51
- "jest": {
52
- "testMatch": [
53
- "**/?(*.)+(spec|test).[jt]s?(x)",
54
- "**/*_spec.[jt]s?(x)"
55
- ]
56
- }
57
- }