@cdklabs/cdk-ecs-codedeploy 0.0.445 → 0.0.446

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 (201) hide show
  1. package/.jsii +3 -3
  2. package/lib/api-canary/index.js +1 -1
  3. package/lib/ecs-appspec/index.js +1 -1
  4. package/lib/ecs-deployment/index.js +1 -1
  5. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  6. package/node_modules/@aws-sdk/client-codedeploy/package.json +3 -3
  7. package/node_modules/@aws-sdk/core/package.json +2 -2
  8. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  9. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  10. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  11. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  12. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  13. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  14. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  15. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  16. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  17. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  18. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  19. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  20. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  21. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  22. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  23. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +1 -1
  24. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +233 -43
  25. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.browser.js +1 -1
  26. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +233 -43
  27. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-parser.d.ts +1 -1
  28. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-parser.d.ts +2 -1
  29. package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
  30. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.browser.js +355 -145
  31. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +456 -142
  32. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.native.js +355 -145
  33. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +5 -2
  34. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +30 -36
  35. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +54 -110
  36. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +30 -36
  37. package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js +27 -0
  38. package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js +21 -0
  39. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.browser.js +7 -1
  40. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.js +7 -1
  41. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.native.js +7 -1
  42. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js +92 -0
  43. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js +29 -0
  44. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js +179 -0
  45. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js +59 -0
  46. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js +71 -0
  47. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +4 -1
  48. package/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js +15 -0
  49. package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +2 -0
  50. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +2 -0
  51. package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +2 -0
  52. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js +4 -0
  53. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js +2 -1
  54. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js +12 -38
  55. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js +18 -33
  56. package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.browser.js +3 -0
  57. package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js +3 -0
  58. package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Js.d.ts +13 -0
  59. package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Node.d.ts +13 -0
  60. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.browser.d.ts +7 -1
  61. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.d.ts +7 -1
  62. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.native.d.ts +7 -1
  63. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Js.d.ts +19 -0
  64. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Node.d.ts +17 -0
  65. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Js.d.ts +28 -0
  66. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Node.d.ts +13 -0
  67. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256WebCrypto.d.ts +22 -0
  68. package/node_modules/@smithy/core/dist-types/submodules/serde/concatBytes.d.ts +6 -0
  69. package/node_modules/@smithy/core/dist-types/submodules/serde/index.browser.d.ts +2 -0
  70. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +2 -0
  71. package/node_modules/@smithy/core/dist-types/submodules/serde/index.native.d.ts +2 -0
  72. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/checksum/ChecksumStream.d.ts +9 -0
  73. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.browser.d.ts +8 -2
  74. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.d.ts +4 -1
  75. package/node_modules/@smithy/core/package.json +4 -3
  76. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  77. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +2 -55
  78. package/node_modules/@smithy/fetch-http-handler/dist-es/index.js +2 -2
  79. package/node_modules/@smithy/fetch-http-handler/dist-types/index.d.ts +2 -2
  80. package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
  81. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +3 -51
  82. package/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -3
  83. package/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -3
  84. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  85. package/node_modules/@smithy/signature-v4/package.json +2 -2
  86. package/package.json +2 -2
  87. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +0 -333
  88. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js +0 -332
  89. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-external/nodable_entities.d.ts +0 -66
  90. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-external/nodable_entities.d.ts +0 -65
  91. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +0 -827
  92. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/LICENSE +0 -21
  93. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +0 -202
  94. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +0 -2
  95. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +0 -1
  96. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +0 -1
  97. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +0 -770
  98. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +0 -2
  99. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +0 -1
  100. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +0 -2
  101. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +0 -1
  102. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +0 -2
  103. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +0 -1
  104. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +0 -93
  105. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/cli.js +0 -97
  106. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/man.js +0 -17
  107. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/read.js +0 -43
  108. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +0 -739
  109. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +0 -14
  110. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/ignoreAttributes.js +0 -18
  111. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +0 -61
  112. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +0 -16
  113. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +0 -106
  114. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +0 -61
  115. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +0 -69
  116. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +0 -103
  117. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +0 -100
  118. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +0 -154
  119. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +0 -94
  120. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
  121. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/TagPath.js +0 -81
  122. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +0 -13
  123. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +0 -83
  124. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +0 -235
  125. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +0 -210
  126. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +0 -111
  127. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +0 -116
  128. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +0 -121
  129. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +0 -105
  130. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +0 -22
  131. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +0 -19
  132. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +0 -38
  133. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +0 -13
  134. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +0 -14
  135. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +0 -6
  136. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +0 -425
  137. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +0 -6
  138. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +0 -407
  139. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +0 -163
  140. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +0 -840
  141. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +0 -71
  142. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +0 -177
  143. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +0 -40
  144. package/node_modules/@nodable/entities/README.md +0 -41
  145. package/node_modules/@nodable/entities/package.json +0 -57
  146. package/node_modules/@nodable/entities/src/EntityDecoder.js +0 -644
  147. package/node_modules/@nodable/entities/src/EntityEncoder.js +0 -194
  148. package/node_modules/@nodable/entities/src/entities.js +0 -1159
  149. package/node_modules/@nodable/entities/src/entityTries.js +0 -49
  150. package/node_modules/@nodable/entities/src/index.d.ts +0 -341
  151. package/node_modules/@nodable/entities/src/index.js +0 -29
  152. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/constants.js +0 -3
  153. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/md5.js +0 -168
  154. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/constants.d.ts +0 -12
  155. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/md5.d.ts +0 -16
  156. package/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js +0 -53
  157. package/node_modules/@smithy/fetch-http-handler/dist-types/stream-collector.d.ts +0 -2
  158. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
  159. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
  160. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
  161. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -7
  162. package/node_modules/anynum/LICENSE +0 -21
  163. package/node_modules/anynum/README.md +0 -142
  164. package/node_modules/anynum/anynum.js +0 -135
  165. package/node_modules/anynum/digitTable.js +0 -116
  166. package/node_modules/anynum/package.json +0 -42
  167. package/node_modules/fast-xml-builder/CHANGELOG.md +0 -40
  168. package/node_modules/fast-xml-builder/LICENSE +0 -21
  169. package/node_modules/fast-xml-builder/README.md +0 -74
  170. package/node_modules/fast-xml-builder/lib/fxb.cjs +0 -1
  171. package/node_modules/fast-xml-builder/lib/fxb.d.cts +0 -270
  172. package/node_modules/fast-xml-builder/lib/fxb.min.js +0 -2
  173. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +0 -1
  174. package/node_modules/fast-xml-builder/package.json +0 -81
  175. package/node_modules/fast-xml-builder/src/fxb.d.ts +0 -270
  176. package/node_modules/fast-xml-builder/src/fxb.js +0 -599
  177. package/node_modules/fast-xml-builder/src/ignoreAttributes.js +0 -18
  178. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +0 -359
  179. package/node_modules/fast-xml-builder/src/prettifyJs2Xml.js +0 -0
  180. package/node_modules/fast-xml-builder/src/util.js +0 -16
  181. package/node_modules/path-expression-matcher/LICENSE +0 -21
  182. package/node_modules/path-expression-matcher/README.md +0 -947
  183. package/node_modules/path-expression-matcher/lib/pem.cjs +0 -1
  184. package/node_modules/path-expression-matcher/lib/pem.d.cts +0 -715
  185. package/node_modules/path-expression-matcher/lib/pem.min.js +0 -2
  186. package/node_modules/path-expression-matcher/lib/pem.min.js.map +0 -1
  187. package/node_modules/path-expression-matcher/package.json +0 -79
  188. package/node_modules/path-expression-matcher/src/Expression.js +0 -232
  189. package/node_modules/path-expression-matcher/src/ExpressionSet.js +0 -225
  190. package/node_modules/path-expression-matcher/src/Matcher.js +0 -660
  191. package/node_modules/path-expression-matcher/src/index.d.ts +0 -589
  192. package/node_modules/path-expression-matcher/src/index.js +0 -29
  193. package/node_modules/strnum/CHANGELOG.md +0 -51
  194. package/node_modules/strnum/LICENSE +0 -21
  195. package/node_modules/strnum/README.md +0 -113
  196. package/node_modules/strnum/package.json +0 -36
  197. package/node_modules/strnum/strnum.js +0 -171
  198. package/node_modules/xml-naming/README.md +0 -189
  199. package/node_modules/xml-naming/package.json +0 -54
  200. package/node_modules/xml-naming/src/index.d.ts +0 -74
  201. package/node_modules/xml-naming/src/index.js +0 -270
@@ -1,333 +0,0 @@
1
- const XML = {
2
- amp: "&",
3
- apos: "'",
4
- gt: ">",
5
- lt: "<",
6
- quot: '"',
7
- };
8
- exports.XML = XML;
9
- exports.COMMON_HTML = {
10
- nbsp: "\u00a0",
11
- copy: "\u00a9",
12
- reg: "\u00ae",
13
- trade: "\u2122",
14
- mdash: "\u2014",
15
- ndash: "\u2013",
16
- hellip: "\u2026",
17
- laquo: "\u00ab",
18
- raquo: "\u00bb",
19
- lsquo: "\u2018",
20
- rsquo: "\u2019",
21
- ldquo: "\u201c",
22
- rdquo: "\u201d",
23
- bull: "\u2022",
24
- para: "\u00b6",
25
- sect: "\u00a7",
26
- deg: "\u00b0",
27
- frac12: "\u00bd",
28
- frac14: "\u00bc",
29
- frac34: "\u00be",
30
- };
31
- exports.CURRENCY = {
32
- cent: "\u00a2",
33
- pound: "\u00a3",
34
- curren: "\u00a4",
35
- yen: "\u00a5",
36
- euro: "\u20ac",
37
- dollar: "$",
38
- fnof: "\u0192",
39
- inr: "\u20b9",
40
- af: "\u060b",
41
- birr: "\u1265\u122d",
42
- peso: "\u20b1",
43
- rub: "\u20bd",
44
- won: "\u20a9",
45
- yuan: "\u00a5",
46
- cedil: "\u00b8",
47
- };
48
- const SPECIAL_CHARS = new Set("!?\\/[]$%{}^&*()<>|+");
49
- function validateEntityName(name) {
50
- if (name[0] === "#") {
51
- throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
52
- }
53
- for (const ch of name) {
54
- if (SPECIAL_CHARS.has(ch)) {
55
- throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
56
- }
57
- }
58
- return name;
59
- }
60
- function mergeEntityMaps(...maps) {
61
- const out = Object.create(null);
62
- for (const map of maps) {
63
- if (!map) {
64
- continue;
65
- }
66
- for (const key of Object.keys(map)) {
67
- const raw = map[key];
68
- if (typeof raw === "string") {
69
- out[key] = raw;
70
- }
71
- else if (raw && typeof raw === "object" && raw.val !== undefined) {
72
- const val = raw.val;
73
- if (typeof val === "string") {
74
- out[key] = val;
75
- }
76
- }
77
- }
78
- }
79
- return out;
80
- }
81
- const LIMIT_TIER_EXTERNAL = "external";
82
- const LIMIT_TIER_BASE = "base";
83
- const LIMIT_TIER_ALL = "all";
84
- function parseLimitTiers(raw) {
85
- if (!raw || raw === LIMIT_TIER_EXTERNAL) {
86
- return new Set([LIMIT_TIER_EXTERNAL]);
87
- }
88
- if (raw === LIMIT_TIER_ALL) {
89
- return new Set([LIMIT_TIER_ALL]);
90
- }
91
- if (raw === LIMIT_TIER_BASE) {
92
- return new Set([LIMIT_TIER_BASE]);
93
- }
94
- if (Array.isArray(raw)) {
95
- return new Set(raw);
96
- }
97
- return new Set([LIMIT_TIER_EXTERNAL]);
98
- }
99
- const NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
100
- const XML10_ALLOWED_C0 = new Set([0x09, 0x0a, 0x0d]);
101
- function parseNCRConfig(ncr) {
102
- if (!ncr) {
103
- return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
104
- }
105
- const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;
106
- const onLevel = NCR_LEVEL[ncr.onNCR ?? "allow"] ?? NCR_LEVEL.allow;
107
- const nullLevel = NCR_LEVEL[ncr.nullNCR ?? "remove"] ?? NCR_LEVEL.remove;
108
- const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
109
- return { xmlVersion, onLevel, nullLevel: clampedNull };
110
- }
111
- exports.EntityDecoderImpl = class EntityDecoderImpl {
112
- _limit;
113
- _maxTotalExpansions;
114
- _maxExpandedLength;
115
- _postCheck;
116
- _limitTiers;
117
- _numericAllowed;
118
- _baseMap;
119
- _externalMap;
120
- _inputMap;
121
- _totalExpansions;
122
- _expandedLength;
123
- _removeSet;
124
- _leaveSet;
125
- _ncrXmlVersion;
126
- _ncrOnLevel;
127
- _ncrNullLevel;
128
- constructor(options = {}) {
129
- this._limit = options.limit || {};
130
- this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
131
- this._maxExpandedLength = this._limit.maxExpandedLength || 0;
132
- this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
133
- this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
134
- this._numericAllowed = options.numericAllowed ?? true;
135
- this._baseMap = mergeEntityMaps(XML, options.namedEntities || null);
136
- this._externalMap = Object.create(null);
137
- this._inputMap = Object.create(null);
138
- this._totalExpansions = 0;
139
- this._expandedLength = 0;
140
- this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
141
- this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
142
- const ncrCfg = parseNCRConfig(options.ncr);
143
- this._ncrXmlVersion = ncrCfg.xmlVersion;
144
- this._ncrOnLevel = ncrCfg.onLevel;
145
- this._ncrNullLevel = ncrCfg.nullLevel;
146
- }
147
- setExternalEntities(map) {
148
- if (map) {
149
- for (const key of Object.keys(map)) {
150
- validateEntityName(key);
151
- }
152
- }
153
- this._externalMap = mergeEntityMaps(map);
154
- }
155
- addExternalEntity(key, value) {
156
- validateEntityName(key);
157
- if (typeof value === "string" && value.indexOf("&") === -1) {
158
- this._externalMap[key] = value;
159
- }
160
- }
161
- addInputEntities(map) {
162
- this._totalExpansions = 0;
163
- this._expandedLength = 0;
164
- this._inputMap = mergeEntityMaps(map);
165
- }
166
- reset() {
167
- this._inputMap = Object.create(null);
168
- this._totalExpansions = 0;
169
- this._expandedLength = 0;
170
- return this;
171
- }
172
- setXmlVersion(version) {
173
- this._ncrXmlVersion = version === "1.1" || version === 1.1 ? 1.1 : 1.0;
174
- }
175
- decode(str) {
176
- if (typeof str !== "string" || str.length === 0) {
177
- return str;
178
- }
179
- const original = str;
180
- const chunks = [];
181
- const len = str.length;
182
- let last = 0;
183
- let i = 0;
184
- const limitExpansions = this._maxTotalExpansions > 0;
185
- const limitLength = this._maxExpandedLength > 0;
186
- const checkLimits = limitExpansions || limitLength;
187
- while (i < len) {
188
- if (str.charCodeAt(i) !== 38) {
189
- i++;
190
- continue;
191
- }
192
- let j = i + 1;
193
- while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) {
194
- j++;
195
- }
196
- if (j >= len || str.charCodeAt(j) !== 59) {
197
- i++;
198
- continue;
199
- }
200
- const token = str.slice(i + 1, j);
201
- if (token.length === 0) {
202
- i++;
203
- continue;
204
- }
205
- let replacement;
206
- let tier;
207
- if (this._removeSet.has(token)) {
208
- replacement = "";
209
- if (tier === undefined) {
210
- tier = LIMIT_TIER_EXTERNAL;
211
- }
212
- }
213
- else if (this._leaveSet.has(token)) {
214
- i++;
215
- continue;
216
- }
217
- else if (token.charCodeAt(0) === 35) {
218
- const ncrResult = this._resolveNCR(token);
219
- if (ncrResult === undefined) {
220
- i++;
221
- continue;
222
- }
223
- replacement = ncrResult;
224
- tier = LIMIT_TIER_BASE;
225
- }
226
- else {
227
- const resolved = this._resolveName(token);
228
- replacement = resolved?.value;
229
- tier = resolved?.tier;
230
- }
231
- if (replacement === undefined) {
232
- i++;
233
- continue;
234
- }
235
- if (i > last) {
236
- chunks.push(str.slice(last, i));
237
- }
238
- chunks.push(replacement);
239
- last = j + 1;
240
- i = last;
241
- if (checkLimits && this._tierCounts(tier)) {
242
- if (limitExpansions) {
243
- this._totalExpansions++;
244
- if (this._totalExpansions > this._maxTotalExpansions) {
245
- throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ` +
246
- `${this._totalExpansions} > ${this._maxTotalExpansions}`);
247
- }
248
- }
249
- if (limitLength) {
250
- const delta = replacement.length - (token.length + 2);
251
- if (delta > 0) {
252
- this._expandedLength += delta;
253
- if (this._expandedLength > this._maxExpandedLength) {
254
- throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ` +
255
- `${this._expandedLength} > ${this._maxExpandedLength}`);
256
- }
257
- }
258
- }
259
- }
260
- }
261
- if (last < len) {
262
- chunks.push(str.slice(last));
263
- }
264
- const result = chunks.length === 0 ? str : chunks.join("");
265
- return this._postCheck(result, original);
266
- }
267
- _tierCounts(tier) {
268
- if (this._limitTiers.has(LIMIT_TIER_ALL)) {
269
- return true;
270
- }
271
- return this._limitTiers.has(tier);
272
- }
273
- _resolveName(name) {
274
- if (name in this._inputMap) {
275
- return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
276
- }
277
- if (name in this._externalMap) {
278
- return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
279
- }
280
- if (name in this._baseMap) {
281
- return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
282
- }
283
- return undefined;
284
- }
285
- _classifyNCR(cp) {
286
- if (cp === 0) {
287
- return this._ncrNullLevel;
288
- }
289
- if (cp >= 0xd800 && cp <= 0xdfff) {
290
- return NCR_LEVEL.remove;
291
- }
292
- if (this._ncrXmlVersion === 1.0) {
293
- if (cp >= 0x01 && cp <= 0x1f && !XML10_ALLOWED_C0.has(cp)) {
294
- return NCR_LEVEL.remove;
295
- }
296
- }
297
- return -1;
298
- }
299
- _applyNCRAction(action, token, cp) {
300
- switch (action) {
301
- case NCR_LEVEL.allow:
302
- return String.fromCodePoint(cp);
303
- case NCR_LEVEL.remove:
304
- return "";
305
- case NCR_LEVEL.leave:
306
- return undefined;
307
- case NCR_LEVEL.throw:
308
- throw new Error(`[EntityDecoder] Prohibited numeric character reference ` +
309
- `&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
310
- default:
311
- return String.fromCodePoint(cp);
312
- }
313
- }
314
- _resolveNCR(token) {
315
- const second = token.charCodeAt(1);
316
- let cp;
317
- if (second === 120 || second === 88) {
318
- cp = parseInt(token.slice(2), 16);
319
- }
320
- else {
321
- cp = parseInt(token.slice(1), 10);
322
- }
323
- if (Number.isNaN(cp) || cp < 0 || cp > 0x10ffff) {
324
- return undefined;
325
- }
326
- const minimum = this._classifyNCR(cp);
327
- if (!this._numericAllowed && minimum < NCR_LEVEL.remove) {
328
- return undefined;
329
- }
330
- const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
331
- return this._applyNCRAction(effective, token, cp);
332
- }
333
- };
@@ -1,332 +0,0 @@
1
- export const XML = {
2
- amp: "&",
3
- apos: "'",
4
- gt: ">",
5
- lt: "<",
6
- quot: '"',
7
- };
8
- export const COMMON_HTML = {
9
- nbsp: "\u00a0",
10
- copy: "\u00a9",
11
- reg: "\u00ae",
12
- trade: "\u2122",
13
- mdash: "\u2014",
14
- ndash: "\u2013",
15
- hellip: "\u2026",
16
- laquo: "\u00ab",
17
- raquo: "\u00bb",
18
- lsquo: "\u2018",
19
- rsquo: "\u2019",
20
- ldquo: "\u201c",
21
- rdquo: "\u201d",
22
- bull: "\u2022",
23
- para: "\u00b6",
24
- sect: "\u00a7",
25
- deg: "\u00b0",
26
- frac12: "\u00bd",
27
- frac14: "\u00bc",
28
- frac34: "\u00be",
29
- };
30
- export const CURRENCY = {
31
- cent: "\u00a2",
32
- pound: "\u00a3",
33
- curren: "\u00a4",
34
- yen: "\u00a5",
35
- euro: "\u20ac",
36
- dollar: "$",
37
- fnof: "\u0192",
38
- inr: "\u20b9",
39
- af: "\u060b",
40
- birr: "\u1265\u122d",
41
- peso: "\u20b1",
42
- rub: "\u20bd",
43
- won: "\u20a9",
44
- yuan: "\u00a5",
45
- cedil: "\u00b8",
46
- };
47
- const SPECIAL_CHARS = new Set("!?\\/[]$%{}^&*()<>|+");
48
- function validateEntityName(name) {
49
- if (name[0] === "#") {
50
- throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
51
- }
52
- for (const ch of name) {
53
- if (SPECIAL_CHARS.has(ch)) {
54
- throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
55
- }
56
- }
57
- return name;
58
- }
59
- function mergeEntityMaps(...maps) {
60
- const out = Object.create(null);
61
- for (const map of maps) {
62
- if (!map) {
63
- continue;
64
- }
65
- for (const key of Object.keys(map)) {
66
- const raw = map[key];
67
- if (typeof raw === "string") {
68
- out[key] = raw;
69
- }
70
- else if (raw && typeof raw === "object" && raw.val !== undefined) {
71
- const val = raw.val;
72
- if (typeof val === "string") {
73
- out[key] = val;
74
- }
75
- }
76
- }
77
- }
78
- return out;
79
- }
80
- const LIMIT_TIER_EXTERNAL = "external";
81
- const LIMIT_TIER_BASE = "base";
82
- const LIMIT_TIER_ALL = "all";
83
- function parseLimitTiers(raw) {
84
- if (!raw || raw === LIMIT_TIER_EXTERNAL) {
85
- return new Set([LIMIT_TIER_EXTERNAL]);
86
- }
87
- if (raw === LIMIT_TIER_ALL) {
88
- return new Set([LIMIT_TIER_ALL]);
89
- }
90
- if (raw === LIMIT_TIER_BASE) {
91
- return new Set([LIMIT_TIER_BASE]);
92
- }
93
- if (Array.isArray(raw)) {
94
- return new Set(raw);
95
- }
96
- return new Set([LIMIT_TIER_EXTERNAL]);
97
- }
98
- const NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
99
- const XML10_ALLOWED_C0 = new Set([0x09, 0x0a, 0x0d]);
100
- function parseNCRConfig(ncr) {
101
- if (!ncr) {
102
- return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
103
- }
104
- const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;
105
- const onLevel = NCR_LEVEL[ncr.onNCR ?? "allow"] ?? NCR_LEVEL.allow;
106
- const nullLevel = NCR_LEVEL[ncr.nullNCR ?? "remove"] ?? NCR_LEVEL.remove;
107
- const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
108
- return { xmlVersion, onLevel, nullLevel: clampedNull };
109
- }
110
- export const EntityDecoderImpl = class EntityDecoderImpl {
111
- _limit;
112
- _maxTotalExpansions;
113
- _maxExpandedLength;
114
- _postCheck;
115
- _limitTiers;
116
- _numericAllowed;
117
- _baseMap;
118
- _externalMap;
119
- _inputMap;
120
- _totalExpansions;
121
- _expandedLength;
122
- _removeSet;
123
- _leaveSet;
124
- _ncrXmlVersion;
125
- _ncrOnLevel;
126
- _ncrNullLevel;
127
- constructor(options = {}) {
128
- this._limit = options.limit || {};
129
- this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
130
- this._maxExpandedLength = this._limit.maxExpandedLength || 0;
131
- this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
132
- this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
133
- this._numericAllowed = options.numericAllowed ?? true;
134
- this._baseMap = mergeEntityMaps(XML, options.namedEntities || null);
135
- this._externalMap = Object.create(null);
136
- this._inputMap = Object.create(null);
137
- this._totalExpansions = 0;
138
- this._expandedLength = 0;
139
- this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
140
- this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
141
- const ncrCfg = parseNCRConfig(options.ncr);
142
- this._ncrXmlVersion = ncrCfg.xmlVersion;
143
- this._ncrOnLevel = ncrCfg.onLevel;
144
- this._ncrNullLevel = ncrCfg.nullLevel;
145
- }
146
- setExternalEntities(map) {
147
- if (map) {
148
- for (const key of Object.keys(map)) {
149
- validateEntityName(key);
150
- }
151
- }
152
- this._externalMap = mergeEntityMaps(map);
153
- }
154
- addExternalEntity(key, value) {
155
- validateEntityName(key);
156
- if (typeof value === "string" && value.indexOf("&") === -1) {
157
- this._externalMap[key] = value;
158
- }
159
- }
160
- addInputEntities(map) {
161
- this._totalExpansions = 0;
162
- this._expandedLength = 0;
163
- this._inputMap = mergeEntityMaps(map);
164
- }
165
- reset() {
166
- this._inputMap = Object.create(null);
167
- this._totalExpansions = 0;
168
- this._expandedLength = 0;
169
- return this;
170
- }
171
- setXmlVersion(version) {
172
- this._ncrXmlVersion = version === "1.1" || version === 1.1 ? 1.1 : 1.0;
173
- }
174
- decode(str) {
175
- if (typeof str !== "string" || str.length === 0) {
176
- return str;
177
- }
178
- const original = str;
179
- const chunks = [];
180
- const len = str.length;
181
- let last = 0;
182
- let i = 0;
183
- const limitExpansions = this._maxTotalExpansions > 0;
184
- const limitLength = this._maxExpandedLength > 0;
185
- const checkLimits = limitExpansions || limitLength;
186
- while (i < len) {
187
- if (str.charCodeAt(i) !== 38) {
188
- i++;
189
- continue;
190
- }
191
- let j = i + 1;
192
- while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) {
193
- j++;
194
- }
195
- if (j >= len || str.charCodeAt(j) !== 59) {
196
- i++;
197
- continue;
198
- }
199
- const token = str.slice(i + 1, j);
200
- if (token.length === 0) {
201
- i++;
202
- continue;
203
- }
204
- let replacement;
205
- let tier;
206
- if (this._removeSet.has(token)) {
207
- replacement = "";
208
- if (tier === undefined) {
209
- tier = LIMIT_TIER_EXTERNAL;
210
- }
211
- }
212
- else if (this._leaveSet.has(token)) {
213
- i++;
214
- continue;
215
- }
216
- else if (token.charCodeAt(0) === 35) {
217
- const ncrResult = this._resolveNCR(token);
218
- if (ncrResult === undefined) {
219
- i++;
220
- continue;
221
- }
222
- replacement = ncrResult;
223
- tier = LIMIT_TIER_BASE;
224
- }
225
- else {
226
- const resolved = this._resolveName(token);
227
- replacement = resolved?.value;
228
- tier = resolved?.tier;
229
- }
230
- if (replacement === undefined) {
231
- i++;
232
- continue;
233
- }
234
- if (i > last) {
235
- chunks.push(str.slice(last, i));
236
- }
237
- chunks.push(replacement);
238
- last = j + 1;
239
- i = last;
240
- if (checkLimits && this._tierCounts(tier)) {
241
- if (limitExpansions) {
242
- this._totalExpansions++;
243
- if (this._totalExpansions > this._maxTotalExpansions) {
244
- throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ` +
245
- `${this._totalExpansions} > ${this._maxTotalExpansions}`);
246
- }
247
- }
248
- if (limitLength) {
249
- const delta = replacement.length - (token.length + 2);
250
- if (delta > 0) {
251
- this._expandedLength += delta;
252
- if (this._expandedLength > this._maxExpandedLength) {
253
- throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ` +
254
- `${this._expandedLength} > ${this._maxExpandedLength}`);
255
- }
256
- }
257
- }
258
- }
259
- }
260
- if (last < len) {
261
- chunks.push(str.slice(last));
262
- }
263
- const result = chunks.length === 0 ? str : chunks.join("");
264
- return this._postCheck(result, original);
265
- }
266
- _tierCounts(tier) {
267
- if (this._limitTiers.has(LIMIT_TIER_ALL)) {
268
- return true;
269
- }
270
- return this._limitTiers.has(tier);
271
- }
272
- _resolveName(name) {
273
- if (name in this._inputMap) {
274
- return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
275
- }
276
- if (name in this._externalMap) {
277
- return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
278
- }
279
- if (name in this._baseMap) {
280
- return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
281
- }
282
- return undefined;
283
- }
284
- _classifyNCR(cp) {
285
- if (cp === 0) {
286
- return this._ncrNullLevel;
287
- }
288
- if (cp >= 0xd800 && cp <= 0xdfff) {
289
- return NCR_LEVEL.remove;
290
- }
291
- if (this._ncrXmlVersion === 1.0) {
292
- if (cp >= 0x01 && cp <= 0x1f && !XML10_ALLOWED_C0.has(cp)) {
293
- return NCR_LEVEL.remove;
294
- }
295
- }
296
- return -1;
297
- }
298
- _applyNCRAction(action, token, cp) {
299
- switch (action) {
300
- case NCR_LEVEL.allow:
301
- return String.fromCodePoint(cp);
302
- case NCR_LEVEL.remove:
303
- return "";
304
- case NCR_LEVEL.leave:
305
- return undefined;
306
- case NCR_LEVEL.throw:
307
- throw new Error(`[EntityDecoder] Prohibited numeric character reference ` +
308
- `&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`);
309
- default:
310
- return String.fromCodePoint(cp);
311
- }
312
- }
313
- _resolveNCR(token) {
314
- const second = token.charCodeAt(1);
315
- let cp;
316
- if (second === 120 || second === 88) {
317
- cp = parseInt(token.slice(2), 16);
318
- }
319
- else {
320
- cp = parseInt(token.slice(1), 10);
321
- }
322
- if (Number.isNaN(cp) || cp < 0 || cp > 0x10ffff) {
323
- return undefined;
324
- }
325
- const minimum = this._classifyNCR(cp);
326
- if (!this._numericAllowed && minimum < NCR_LEVEL.remove) {
327
- return undefined;
328
- }
329
- const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
330
- return this._applyNCRAction(effective, token, cp);
331
- }
332
- };