@jjrawlins/cdk-diff-pr-github-action 1.9.1 → 1.9.2
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.
- package/.jsii +4 -4
- package/cdkdiffprgithubaction/go.mod +1 -1
- package/cdkdiffprgithubaction/jsii/jsii.go +2 -2
- package/cdkdiffprgithubaction/version +1 -1
- package/lib/CdkDiffIamTemplate.js +2 -2
- package/lib/CdkDiffIamTemplateStackSet.js +2 -2
- package/lib/CdkDiffStackWorkflow.js +1 -1
- package/lib/CdkDriftDetectionWorkflow.js +1 -1
- package/lib/CdkDriftIamTemplate.js +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/package.json +13 -13
- package/node_modules/@aws-sdk/core/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
- package/node_modules/@aws-sdk/nested-clients/package.json +12 -12
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +36 -19
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedTypeScriptVersion.js +9 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPaths.js +17 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +17 -12
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedTypeScriptVersion.d.ts +8 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPaths.d.ts +10 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedTypeScriptVersion.d.ts +3 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPaths.d.ts +3 -0
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +1 -0
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +1 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +23 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +15 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +3 -2
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +16 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +1 -26
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +87 -87
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +10 -10
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +23 -23
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +29 -29
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +39 -39
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +17 -17
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +22 -22
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +85 -85
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +34 -34
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +5 -284
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +2 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +27 -5
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +21 -21
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +38 -34
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +10 -10
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +2 -8
- package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +2 -8
- package/node_modules/@smithy/core/package.json +2 -2
- package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +18 -4
- package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +18 -4
- package/node_modules/@smithy/fetch-http-handler/package.json +1 -1
- package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
- package/node_modules/@smithy/middleware-retry/package.json +2 -2
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +21 -8
- package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +16 -0
- package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +3 -4
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +3 -4
- package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +9 -0
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +9 -0
- package/node_modules/@smithy/node-http-handler/package.json +1 -1
- package/node_modules/@smithy/smithy-client/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-stream/package.json +3 -3
- package/node_modules/fast-xml-builder/LICENSE +21 -0
- package/node_modules/fast-xml-builder/README.md +23 -0
- package/node_modules/fast-xml-builder/lib/builder.cjs +1 -0
- package/node_modules/fast-xml-builder/lib/builder.min.js +2 -0
- package/node_modules/fast-xml-builder/lib/builder.min.js.map +1 -0
- package/node_modules/fast-xml-builder/lib/fxb.d.cts +167 -0
- package/node_modules/fast-xml-builder/package.json +78 -0
- package/node_modules/fast-xml-builder/src/fxb.d.ts +156 -0
- package/node_modules/fast-xml-builder/src/fxb.js +285 -0
- package/node_modules/fast-xml-builder/src/ignoreAttributes.js +18 -0
- package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder → fast-xml-builder/src}/orderedJs2Xml.js +14 -3
- package/node_modules/fast-xml-builder/src/prettifyJs2Xml.js +0 -0
- package/package.json +2 -2
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPath.js +0 -14
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPath.d.ts +0 -9
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPath.d.ts +0 -1
- /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/prettifyJs2Xml.js → fast-xml-builder/CHANGELOG.md} +0 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
//parse Empty Node as self closing node
|
|
3
|
+
import buildFromOrderedJs from './orderedJs2Xml.js';
|
|
4
|
+
import getIgnoreAttributesFn from "./ignoreAttributes.js";
|
|
5
|
+
|
|
6
|
+
const defaultOptions = {
|
|
7
|
+
attributeNamePrefix: '@_',
|
|
8
|
+
attributesGroupName: false,
|
|
9
|
+
textNodeName: '#text',
|
|
10
|
+
ignoreAttributes: true,
|
|
11
|
+
cdataPropName: false,
|
|
12
|
+
format: false,
|
|
13
|
+
indentBy: ' ',
|
|
14
|
+
suppressEmptyNode: false,
|
|
15
|
+
suppressUnpairedNode: true,
|
|
16
|
+
suppressBooleanAttributes: true,
|
|
17
|
+
tagValueProcessor: function (key, a) {
|
|
18
|
+
return a;
|
|
19
|
+
},
|
|
20
|
+
attributeValueProcessor: function (attrName, a) {
|
|
21
|
+
return a;
|
|
22
|
+
},
|
|
23
|
+
preserveOrder: false,
|
|
24
|
+
commentPropName: false,
|
|
25
|
+
unpairedTags: [],
|
|
26
|
+
entities: [
|
|
27
|
+
{ regex: new RegExp("&", "g"), val: "&" },//it must be on top
|
|
28
|
+
{ regex: new RegExp(">", "g"), val: ">" },
|
|
29
|
+
{ regex: new RegExp("<", "g"), val: "<" },
|
|
30
|
+
{ regex: new RegExp("\'", "g"), val: "'" },
|
|
31
|
+
{ regex: new RegExp("\"", "g"), val: """ }
|
|
32
|
+
],
|
|
33
|
+
processEntities: true,
|
|
34
|
+
stopNodes: [],
|
|
35
|
+
// transformTagName: false,
|
|
36
|
+
// transformAttributeName: false,
|
|
37
|
+
oneListGroup: false
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default function Builder(options) {
|
|
41
|
+
this.options = Object.assign({}, defaultOptions, options);
|
|
42
|
+
if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {
|
|
43
|
+
this.isAttribute = function (/*a*/) {
|
|
44
|
+
return false;
|
|
45
|
+
};
|
|
46
|
+
} else {
|
|
47
|
+
this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)
|
|
48
|
+
this.attrPrefixLen = this.options.attributeNamePrefix.length;
|
|
49
|
+
this.isAttribute = isAttribute;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
this.processTextOrObjNode = processTextOrObjNode
|
|
53
|
+
|
|
54
|
+
if (this.options.format) {
|
|
55
|
+
this.indentate = indentate;
|
|
56
|
+
this.tagEndChar = '>\n';
|
|
57
|
+
this.newLine = '\n';
|
|
58
|
+
} else {
|
|
59
|
+
this.indentate = function () {
|
|
60
|
+
return '';
|
|
61
|
+
};
|
|
62
|
+
this.tagEndChar = '>';
|
|
63
|
+
this.newLine = '';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
Builder.prototype.build = function (jObj) {
|
|
68
|
+
if (this.options.preserveOrder) {
|
|
69
|
+
return buildFromOrderedJs(jObj, this.options);
|
|
70
|
+
} else {
|
|
71
|
+
if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {
|
|
72
|
+
jObj = {
|
|
73
|
+
[this.options.arrayNodeName]: jObj
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return this.j2x(jObj, 0, []).val;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
Builder.prototype.j2x = function (jObj, level, ajPath) {
|
|
81
|
+
let attrStr = '';
|
|
82
|
+
let val = '';
|
|
83
|
+
const jPath = ajPath.join('.')
|
|
84
|
+
for (let key in jObj) {
|
|
85
|
+
if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;
|
|
86
|
+
if (typeof jObj[key] === 'undefined') {
|
|
87
|
+
// supress undefined node only if it is not an attribute
|
|
88
|
+
if (this.isAttribute(key)) {
|
|
89
|
+
val += '';
|
|
90
|
+
}
|
|
91
|
+
} else if (jObj[key] === null) {
|
|
92
|
+
// null attribute should be ignored by the attribute list, but should not cause the tag closing
|
|
93
|
+
if (this.isAttribute(key)) {
|
|
94
|
+
val += '';
|
|
95
|
+
} else if (key === this.options.cdataPropName) {
|
|
96
|
+
val += '';
|
|
97
|
+
} else if (key[0] === '?') {
|
|
98
|
+
val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;
|
|
99
|
+
} else {
|
|
100
|
+
val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
101
|
+
}
|
|
102
|
+
// val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
103
|
+
} else if (jObj[key] instanceof Date) {
|
|
104
|
+
val += this.buildTextValNode(jObj[key], key, '', level);
|
|
105
|
+
} else if (typeof jObj[key] !== 'object') {
|
|
106
|
+
//premitive type
|
|
107
|
+
const attr = this.isAttribute(key);
|
|
108
|
+
if (attr && !this.ignoreAttributesFn(attr, jPath)) {
|
|
109
|
+
attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);
|
|
110
|
+
} else if (!attr) {
|
|
111
|
+
//tag value
|
|
112
|
+
if (key === this.options.textNodeName) {
|
|
113
|
+
let newval = this.options.tagValueProcessor(key, '' + jObj[key]);
|
|
114
|
+
val += this.replaceEntitiesValue(newval);
|
|
115
|
+
} else {
|
|
116
|
+
val += this.buildTextValNode(jObj[key], key, '', level);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
} else if (Array.isArray(jObj[key])) {
|
|
120
|
+
//repeated nodes
|
|
121
|
+
const arrLen = jObj[key].length;
|
|
122
|
+
let listTagVal = "";
|
|
123
|
+
let listTagAttr = "";
|
|
124
|
+
for (let j = 0; j < arrLen; j++) {
|
|
125
|
+
const item = jObj[key][j];
|
|
126
|
+
if (typeof item === 'undefined') {
|
|
127
|
+
// supress undefined node
|
|
128
|
+
} else if (item === null) {
|
|
129
|
+
if (key[0] === "?") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;
|
|
130
|
+
else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
131
|
+
// val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
132
|
+
} else if (typeof item === 'object') {
|
|
133
|
+
if (this.options.oneListGroup) {
|
|
134
|
+
const result = this.j2x(item, level + 1, ajPath.concat(key));
|
|
135
|
+
listTagVal += result.val;
|
|
136
|
+
if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {
|
|
137
|
+
listTagAttr += result.attrStr
|
|
138
|
+
}
|
|
139
|
+
} else {
|
|
140
|
+
listTagVal += this.processTextOrObjNode(item, key, level, ajPath)
|
|
141
|
+
}
|
|
142
|
+
} else {
|
|
143
|
+
if (this.options.oneListGroup) {
|
|
144
|
+
let textValue = this.options.tagValueProcessor(key, item);
|
|
145
|
+
textValue = this.replaceEntitiesValue(textValue);
|
|
146
|
+
listTagVal += textValue;
|
|
147
|
+
} else {
|
|
148
|
+
listTagVal += this.buildTextValNode(item, key, '', level);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (this.options.oneListGroup) {
|
|
153
|
+
listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);
|
|
154
|
+
}
|
|
155
|
+
val += listTagVal;
|
|
156
|
+
} else {
|
|
157
|
+
//nested node
|
|
158
|
+
if (this.options.attributesGroupName && key === this.options.attributesGroupName) {
|
|
159
|
+
const Ks = Object.keys(jObj[key]);
|
|
160
|
+
const L = Ks.length;
|
|
161
|
+
for (let j = 0; j < L; j++) {
|
|
162
|
+
attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);
|
|
163
|
+
}
|
|
164
|
+
} else {
|
|
165
|
+
val += this.processTextOrObjNode(jObj[key], key, level, ajPath)
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return { attrStr: attrStr, val: val };
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
Builder.prototype.buildAttrPairStr = function (attrName, val) {
|
|
173
|
+
val = this.options.attributeValueProcessor(attrName, '' + val);
|
|
174
|
+
val = this.replaceEntitiesValue(val);
|
|
175
|
+
if (this.options.suppressBooleanAttributes && val === "true") {
|
|
176
|
+
return ' ' + attrName;
|
|
177
|
+
} else return ' ' + attrName + '="' + val + '"';
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function processTextOrObjNode(object, key, level, ajPath) {
|
|
181
|
+
const result = this.j2x(object, level + 1, ajPath.concat(key));
|
|
182
|
+
if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {
|
|
183
|
+
return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);
|
|
184
|
+
} else {
|
|
185
|
+
return this.buildObjectNode(result.val, key, result.attrStr, level);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
Builder.prototype.buildObjectNode = function (val, key, attrStr, level) {
|
|
190
|
+
if (val === "") {
|
|
191
|
+
if (key[0] === "?") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
|
|
192
|
+
else {
|
|
193
|
+
return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;
|
|
194
|
+
}
|
|
195
|
+
} else {
|
|
196
|
+
|
|
197
|
+
let tagEndExp = '</' + key + this.tagEndChar;
|
|
198
|
+
let piClosingChar = "";
|
|
199
|
+
|
|
200
|
+
if (key[0] === "?") {
|
|
201
|
+
piClosingChar = "?";
|
|
202
|
+
tagEndExp = "";
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// attrStr is an empty string in case the attribute came as undefined or null
|
|
206
|
+
if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {
|
|
207
|
+
return (this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp);
|
|
208
|
+
} else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {
|
|
209
|
+
return this.indentate(level) + `<!--${val}-->` + this.newLine;
|
|
210
|
+
} else {
|
|
211
|
+
return (
|
|
212
|
+
this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +
|
|
213
|
+
val +
|
|
214
|
+
this.indentate(level) + tagEndExp);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
Builder.prototype.closeTag = function (key) {
|
|
220
|
+
let closeTag = "";
|
|
221
|
+
if (this.options.unpairedTags.indexOf(key) !== -1) { //unpaired
|
|
222
|
+
if (!this.options.suppressUnpairedNode) closeTag = "/"
|
|
223
|
+
} else if (this.options.suppressEmptyNode) { //empty
|
|
224
|
+
closeTag = "/";
|
|
225
|
+
} else {
|
|
226
|
+
closeTag = `></${key}`
|
|
227
|
+
}
|
|
228
|
+
return closeTag;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function buildEmptyObjNode(val, key, attrStr, level) {
|
|
232
|
+
if (val !== '') {
|
|
233
|
+
return this.buildObjectNode(val, key, attrStr, level);
|
|
234
|
+
} else {
|
|
235
|
+
if (key[0] === "?") return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
|
|
236
|
+
else {
|
|
237
|
+
return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;
|
|
238
|
+
// return this.buildTagStr(level,key, attrStr);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
Builder.prototype.buildTextValNode = function (val, key, attrStr, level) {
|
|
244
|
+
if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {
|
|
245
|
+
return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;
|
|
246
|
+
} else if (this.options.commentPropName !== false && key === this.options.commentPropName) {
|
|
247
|
+
return this.indentate(level) + `<!--${val}-->` + this.newLine;
|
|
248
|
+
} else if (key[0] === "?") {//PI tag
|
|
249
|
+
return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
|
|
250
|
+
} else {
|
|
251
|
+
let textValue = this.options.tagValueProcessor(key, val);
|
|
252
|
+
textValue = this.replaceEntitiesValue(textValue);
|
|
253
|
+
|
|
254
|
+
if (textValue === '') {
|
|
255
|
+
return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;
|
|
256
|
+
} else {
|
|
257
|
+
return this.indentate(level) + '<' + key + attrStr + '>' +
|
|
258
|
+
textValue +
|
|
259
|
+
'</' + key + this.tagEndChar;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
Builder.prototype.replaceEntitiesValue = function (textValue) {
|
|
265
|
+
if (textValue && textValue.length > 0 && this.options.processEntities) {
|
|
266
|
+
for (let i = 0; i < this.options.entities.length; i++) {
|
|
267
|
+
const entity = this.options.entities[i];
|
|
268
|
+
textValue = textValue.replace(entity.regex, entity.val);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return textValue;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
function indentate(level) {
|
|
275
|
+
return this.options.indentBy.repeat(level);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
function isAttribute(name /*, options*/) {
|
|
279
|
+
if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {
|
|
280
|
+
return name.substr(this.attrPrefixLen);
|
|
281
|
+
} else {
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default function getIgnoreAttributesFn(ignoreAttributes) {
|
|
2
|
+
if (typeof ignoreAttributes === 'function') {
|
|
3
|
+
return ignoreAttributes
|
|
4
|
+
}
|
|
5
|
+
if (Array.isArray(ignoreAttributes)) {
|
|
6
|
+
return (attrName) => {
|
|
7
|
+
for (const pattern of ignoreAttributes) {
|
|
8
|
+
if (typeof pattern === 'string' && attrName === pattern) {
|
|
9
|
+
return true
|
|
10
|
+
}
|
|
11
|
+
if (pattern instanceof RegExp && pattern.test(attrName)) {
|
|
12
|
+
return true
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return () => false
|
|
18
|
+
}
|
|
@@ -18,10 +18,21 @@ function arrToStr(arr, options, jPath, indentation) {
|
|
|
18
18
|
let xmlStr = "";
|
|
19
19
|
let isPreviousElementTag = false;
|
|
20
20
|
|
|
21
|
+
|
|
22
|
+
if (!Array.isArray(arr)) {
|
|
23
|
+
// Non-array values (e.g. string tag values) should be treated as text content
|
|
24
|
+
if (arr !== undefined && arr !== null) {
|
|
25
|
+
let text = arr.toString();
|
|
26
|
+
text = replaceEntitiesValue(text, options);
|
|
27
|
+
return text;
|
|
28
|
+
}
|
|
29
|
+
return "";
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
for (let i = 0; i < arr.length; i++) {
|
|
22
33
|
const tagObj = arr[i];
|
|
23
34
|
const tagName = propName(tagObj);
|
|
24
|
-
if(tagName === undefined) continue;
|
|
35
|
+
if (tagName === undefined) continue;
|
|
25
36
|
|
|
26
37
|
let newJPath = "";
|
|
27
38
|
if (jPath.length === 0) newJPath = tagName
|
|
@@ -92,7 +103,7 @@ function propName(obj) {
|
|
|
92
103
|
const keys = Object.keys(obj);
|
|
93
104
|
for (let i = 0; i < keys.length; i++) {
|
|
94
105
|
const key = keys[i];
|
|
95
|
-
if(!
|
|
106
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
|
|
96
107
|
if (key !== ":@") return key;
|
|
97
108
|
}
|
|
98
109
|
}
|
|
@@ -101,7 +112,7 @@ function attr_to_str(attrMap, options) {
|
|
|
101
112
|
let attrStr = "";
|
|
102
113
|
if (attrMap && !options.ignoreAttributes) {
|
|
103
114
|
for (let attr in attrMap) {
|
|
104
|
-
if(!
|
|
115
|
+
if (!Object.prototype.hasOwnProperty.call(attrMap, attr)) continue;
|
|
105
116
|
let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);
|
|
106
117
|
attrVal = replaceEntitiesValue(attrVal, options);
|
|
107
118
|
if (attrVal === true && options.suppressBooleanAttributes) {
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"constructs": ">=10.0.5 <11.0.0"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@aws-sdk/client-cloudformation": "^3.
|
|
72
|
+
"@aws-sdk/client-cloudformation": "^3.1001.0",
|
|
73
73
|
"@types/crypto-js": "^4.2.2",
|
|
74
74
|
"@types/js-yaml": "^4.0.9",
|
|
75
75
|
"crypto-js": "^4.2.0",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"publishConfig": {
|
|
111
111
|
"access": "public"
|
|
112
112
|
},
|
|
113
|
-
"version": "1.9.
|
|
113
|
+
"version": "1.9.2",
|
|
114
114
|
"jest": {
|
|
115
115
|
"coverageProvider": "v8",
|
|
116
116
|
"testMatch": [
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { join, normalize, sep } from "node:path";
|
|
2
|
-
export const getTypeScriptPackageJsonPath = (dirname = "") => {
|
|
3
|
-
let nodeModulesPath;
|
|
4
|
-
const normalizedPath = normalize(dirname);
|
|
5
|
-
const parts = normalizedPath.split(sep);
|
|
6
|
-
const nodeModulesIndex = parts.indexOf("node_modules");
|
|
7
|
-
if (nodeModulesIndex !== -1) {
|
|
8
|
-
nodeModulesPath = parts.slice(0, nodeModulesIndex).join(sep);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
nodeModulesPath = dirname;
|
|
12
|
-
}
|
|
13
|
-
return join(nodeModulesPath, "node_modules", "typescript", "package.json");
|
|
14
|
-
};
|
package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPath.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the path to the TypeScript package.json file relative to the given directory.
|
|
3
|
-
*
|
|
4
|
-
* @param dirname - The directory path to resolve from.
|
|
5
|
-
* @returns The path to the TypeScript package.json file.
|
|
6
|
-
*
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export declare const getTypeScriptPackageJsonPath: (dirname?: string) => string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getTypeScriptPackageJsonPath: (dirname?: string) => string;
|