appium-ios-remotexpc 5.14.4 → 5.14.5
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [5.14.5](https://github.com/appium/appium-ios-remotexpc/compare/v5.14.4...v5.14.5) (2026-08-20)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **plist:** only read direct-child keys when parsing a dict ([#295](https://github.com/appium/appium-ios-remotexpc/issues/295)) ([7d8c5c3](https://github.com/appium/appium-ios-remotexpc/commit/7d8c5c3a22f4f8197b0634cd1253108523717b7b))
|
|
6
|
+
|
|
1
7
|
## [5.14.4](https://github.com/appium/appium-ios-remotexpc/compare/v5.14.3...v5.14.4) (2026-08-12)
|
|
2
8
|
|
|
3
9
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plist-parser.d.ts","sourceRoot":"","sources":["../../../../src/lib/plist/plist-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAa,eAAe,EAAa,MAAM,aAAa,CAAC;AAezE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"plist-parser.d.ts","sourceRoot":"","sources":["../../../../src/lib/plist/plist-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAa,eAAe,EAAa,MAAM,aAAa,CAAC;AAezE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAyIpE"}
|
|
@@ -85,18 +85,27 @@ export function parsePlist(xmlData) {
|
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* Parse a plist `<dict>` element into a JavaScript object.
|
|
88
|
+
* Only direct-child `<key>` elements are considered: getElementsByTagName
|
|
89
|
+
* is recursive and would flatten keys of nested dicts into the parent.
|
|
88
90
|
*/
|
|
89
91
|
function parseDict(dictNode) {
|
|
90
92
|
const obj = {};
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
|
|
93
|
+
let childNode = dictNode.firstChild;
|
|
94
|
+
while (childNode) {
|
|
95
|
+
const keyNode = childNode;
|
|
96
|
+
childNode = childNode.nextSibling;
|
|
97
|
+
if (keyNode.nodeType !== Node.ELEMENT_NODE || keyNode.nodeName !== 'key') {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const keyName = keyNode.textContent || '';
|
|
101
|
+
let valueNode = keyNode.nextSibling;
|
|
95
102
|
while (valueNode && valueNode.nodeType !== Node.ELEMENT_NODE) {
|
|
96
103
|
valueNode = valueNode.nextSibling;
|
|
97
104
|
}
|
|
98
105
|
if (valueNode) {
|
|
99
106
|
obj[keyName] = parseNode(valueNode);
|
|
107
|
+
// Skip ahead of the parsed value so the loop doesn't re-visit it
|
|
108
|
+
childNode = valueNode.nextSibling;
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
111
|
return obj;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plist-parser.js","sourceRoot":"","sources":["../../../../src/lib/plist/plist-parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plist-parser.js","sourceRoot":"","sources":["../../../../src/lib/plist/plist-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -111,14 +111,23 @@ export function parsePlist(xmlData: string | Buffer): PlistDictionary {
|
|
|
111
111
|
|
|
112
112
|
/**
|
|
113
113
|
* Parse a plist `<dict>` element into a JavaScript object.
|
|
114
|
+
* Only direct-child `<key>` elements are considered: getElementsByTagName
|
|
115
|
+
* is recursive and would flatten keys of nested dicts into the parent.
|
|
114
116
|
*/
|
|
115
117
|
function parseDict(dictNode: Element): PlistDictionary {
|
|
116
118
|
const obj: PlistDictionary = {};
|
|
117
|
-
|
|
119
|
+
let childNode = dictNode.firstChild;
|
|
118
120
|
|
|
119
|
-
|
|
120
|
-
const
|
|
121
|
-
|
|
121
|
+
while (childNode) {
|
|
122
|
+
const keyNode = childNode;
|
|
123
|
+
childNode = childNode.nextSibling;
|
|
124
|
+
|
|
125
|
+
if (keyNode.nodeType !== Node.ELEMENT_NODE || keyNode.nodeName !== 'key') {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const keyName = keyNode.textContent || '';
|
|
130
|
+
let valueNode = keyNode.nextSibling;
|
|
122
131
|
|
|
123
132
|
while (valueNode && valueNode.nodeType !== Node.ELEMENT_NODE) {
|
|
124
133
|
valueNode = valueNode.nextSibling;
|
|
@@ -126,6 +135,8 @@ export function parsePlist(xmlData: string | Buffer): PlistDictionary {
|
|
|
126
135
|
|
|
127
136
|
if (valueNode) {
|
|
128
137
|
obj[keyName] = parseNode(valueNode as Element);
|
|
138
|
+
// Skip ahead of the parsed value so the loop doesn't re-visit it
|
|
139
|
+
childNode = valueNode.nextSibling;
|
|
129
140
|
}
|
|
130
141
|
}
|
|
131
142
|
|