@appium/universal-xml-plugin 1.0.0-beta.2 → 1.0.0-beta.7
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/LICENSE +2 -2
- package/README.md +1 -1
- package/build/lib/attr-map.d.ts +58 -0
- package/build/lib/attr-map.d.ts.map +1 -0
- package/build/lib/attr-map.js +47 -32
- package/build/lib/index.d.ts +5 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +49 -0
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +15 -5
- package/build/lib/node-map.d.ts +200 -0
- package/build/lib/node-map.d.ts.map +1 -0
- package/build/lib/node-map.js +146 -267
- package/build/lib/plugin.d.ts +9 -0
- package/build/lib/plugin.d.ts.map +1 -0
- package/build/lib/plugin.js +90 -93
- package/build/lib/source.d.ts +24 -0
- package/build/lib/source.d.ts.map +1 -0
- package/build/lib/source.js +202 -148
- package/build/lib/transformers.d.ts +8 -0
- package/build/lib/transformers.d.ts.map +1 -0
- package/build/lib/transformers.js +35 -26
- package/build/lib/xpath.d.ts +4 -0
- package/build/lib/xpath.d.ts.map +1 -0
- package/build/lib/xpath.js +46 -40
- package/build/tsconfig.tsbuildinfo +1 -0
- package/index.js +3 -17
- package/lib/index.js +19 -0
- package/lib/logger.js +1 -1
- package/lib/plugin.js +2 -10
- package/package.json +30 -21
- package/build/index.js +0 -25
- package/build/test/fixtures/android-transformed-path.xml +0 -39
- package/build/test/fixtures/android-transformed.xml +0 -39
- package/build/test/fixtures/android.xml +0 -39
- package/build/test/fixtures/index.js +0 -25
- package/build/test/fixtures/ios-edge.xml +0 -16
- package/build/test/fixtures/ios-transformed-edge.xml +0 -16
- package/build/test/fixtures/ios-transformed-path.xml +0 -54
- package/build/test/fixtures/ios-transformed.xml +0 -54
- package/build/test/fixtures/ios.xml +0 -51
- package/build/test/unit/plugin-specs.js +0 -76
- package/build/test/unit/source-specs.js +0 -82
- package/build/test/unit/xpath-specs.js +0 -46
- package/test/fixtures/android-transformed-path.xml +0 -39
- package/test/fixtures/android-transformed.xml +0 -39
- package/test/fixtures/android.xml +0 -39
- package/test/fixtures/index.js +0 -14
- package/test/fixtures/ios-edge.xml +0 -16
- package/test/fixtures/ios-transformed-edge.xml +0 -16
- package/test/fixtures/ios-transformed-path.xml +0 -54
- package/test/fixtures/ios-transformed.xml +0 -54
- package/test/fixtures/ios.xml +0 -51
- package/test/unit/plugin-specs.js +0 -57
- package/test/unit/source-specs.js +0 -79
- package/test/unit/xpath-specs.js +0 -43
- package/tsconfig.json +0 -15
package/build/lib/source.js
CHANGED
|
@@ -1,170 +1,224 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
13
7
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
8
|
+
exports.IDX_PREFIX = exports.IDX_PATH_PREFIX = exports.ATTR_PREFIX = void 0;
|
|
9
|
+
exports.getUniversalAttrName = getUniversalAttrName;
|
|
10
|
+
exports.getUniversalNodeName = getUniversalNodeName;
|
|
11
|
+
exports.transformAttrs = transformAttrs;
|
|
12
|
+
exports.transformChildNodes = transformChildNodes;
|
|
13
|
+
exports.transformNode = transformNode;
|
|
14
|
+
exports.transformSourceXml = transformSourceXml;
|
|
15
|
+
|
|
16
|
+
require("source-map-support/register");
|
|
17
|
+
|
|
18
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
19
|
+
|
|
20
|
+
var _fastXmlParser = _interopRequireWildcard(require("fast-xml-parser"));
|
|
21
|
+
|
|
22
|
+
var _nodeMap = _interopRequireDefault(require("./node-map"));
|
|
23
|
+
|
|
24
|
+
var _attrMap = require("./attr-map");
|
|
25
|
+
|
|
26
|
+
var _transformers = _interopRequireDefault(require("./transformers"));
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
31
32
|
const PARSE_OPTS = {
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
ignoreAttributes: false,
|
|
34
|
+
arrayMode: true
|
|
34
35
|
};
|
|
35
36
|
const GEN_OPTS = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
ignoreAttributes: false,
|
|
38
|
+
arrayMode: true,
|
|
39
|
+
format: true
|
|
39
40
|
};
|
|
40
|
-
|
|
41
|
-
exports.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
41
|
+
const ATTR_PREFIX = '@_';
|
|
42
|
+
exports.ATTR_PREFIX = ATTR_PREFIX;
|
|
43
|
+
const IDX_PATH_PREFIX = `${ATTR_PREFIX}indexPath`;
|
|
44
|
+
exports.IDX_PATH_PREFIX = IDX_PATH_PREFIX;
|
|
45
|
+
const IDX_PREFIX = `${ATTR_PREFIX}index`;
|
|
46
|
+
exports.IDX_PREFIX = IDX_PREFIX;
|
|
47
|
+
|
|
48
|
+
const isAttr = k => k.substring(0, 2) === ATTR_PREFIX;
|
|
49
|
+
|
|
50
|
+
const isNode = k => !isAttr(k);
|
|
51
|
+
|
|
52
|
+
function transformSourceXml(xmlStr, platform, {
|
|
53
|
+
metadata = {},
|
|
54
|
+
addIndexPath = false
|
|
55
|
+
} = {}) {
|
|
56
|
+
xmlStr = xmlStr.replace('<AppiumAUT>', '<AppiumAUT index="0">');
|
|
57
|
+
|
|
58
|
+
const xmlObj = _fastXmlParser.default.parse(xmlStr, PARSE_OPTS);
|
|
59
|
+
|
|
60
|
+
const unknowns = transformNode(xmlObj, platform, {
|
|
61
|
+
metadata,
|
|
62
|
+
addIndexPath,
|
|
63
|
+
parentPath: ''
|
|
64
|
+
});
|
|
65
|
+
const jParser = new _fastXmlParser.j2xParser(GEN_OPTS);
|
|
66
|
+
let transformedXml = jParser.parse(xmlObj).trim();
|
|
67
|
+
transformedXml = `<?xml version="1.0" encoding="UTF-8"?>\n${transformedXml}`;
|
|
68
|
+
return {
|
|
69
|
+
xml: transformedXml,
|
|
70
|
+
unknowns
|
|
71
|
+
};
|
|
55
72
|
}
|
|
56
|
-
|
|
73
|
+
|
|
57
74
|
function getUniversalName(nameMap, name, platform) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return translatedName;
|
|
66
|
-
}
|
|
75
|
+
for (const translatedName of Object.keys(nameMap)) {
|
|
76
|
+
var _nameMap$translatedNa;
|
|
77
|
+
|
|
78
|
+
const sourceNodes = (_nameMap$translatedNa = nameMap[translatedName]) === null || _nameMap$translatedNa === void 0 ? void 0 : _nameMap$translatedNa[platform];
|
|
79
|
+
|
|
80
|
+
if (_lodash.default.isArray(sourceNodes) && sourceNodes.includes(name)) {
|
|
81
|
+
return translatedName;
|
|
67
82
|
}
|
|
68
|
-
|
|
83
|
+
|
|
84
|
+
if (sourceNodes === name) {
|
|
85
|
+
return translatedName;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return null;
|
|
69
90
|
}
|
|
91
|
+
|
|
70
92
|
function getUniversalNodeName(nodeName, platform) {
|
|
71
|
-
|
|
93
|
+
return getUniversalName(_nodeMap.default, nodeName, platform);
|
|
72
94
|
}
|
|
73
|
-
|
|
95
|
+
|
|
74
96
|
function getUniversalAttrName(attrName, platform) {
|
|
75
|
-
|
|
97
|
+
return getUniversalName(_attrMap.ATTR_MAP, attrName, platform);
|
|
76
98
|
}
|
|
77
|
-
|
|
78
|
-
function transformNode(nodeObj, platform, {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
|
|
100
|
+
function transformNode(nodeObj, platform, {
|
|
101
|
+
metadata,
|
|
102
|
+
addIndexPath,
|
|
103
|
+
parentPath
|
|
104
|
+
}) {
|
|
105
|
+
const unknownNodes = [];
|
|
106
|
+
const unknownAttrs = [];
|
|
107
|
+
|
|
108
|
+
if (_lodash.default.isPlainObject(nodeObj)) {
|
|
109
|
+
var _TRANSFORMS$platform;
|
|
110
|
+
|
|
111
|
+
const keys = Object.keys(nodeObj);
|
|
112
|
+
const childNodeNames = keys.filter(isNode);
|
|
113
|
+
const attrs = keys.filter(isAttr);
|
|
114
|
+
let thisIndexPath = parentPath;
|
|
115
|
+
|
|
116
|
+
if (attrs.length && addIndexPath) {
|
|
117
|
+
if (!attrs.includes(IDX_PREFIX)) {
|
|
118
|
+
throw new Error(`Index path is required but node found with no 'index' attribute`);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
thisIndexPath = `${parentPath}/${nodeObj[IDX_PREFIX]}`;
|
|
122
|
+
nodeObj[IDX_PATH_PREFIX] = thisIndexPath;
|
|
101
123
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
124
|
+
|
|
125
|
+
(_TRANSFORMS$platform = _transformers.default[platform]) === null || _TRANSFORMS$platform === void 0 ? void 0 : _TRANSFORMS$platform.call(_transformers.default, nodeObj, metadata);
|
|
126
|
+
unknownAttrs.push(...transformAttrs(nodeObj, attrs, platform));
|
|
127
|
+
const unknowns = transformChildNodes(nodeObj, childNodeNames, platform, {
|
|
128
|
+
metadata,
|
|
129
|
+
addIndexPath,
|
|
130
|
+
parentPath: thisIndexPath
|
|
131
|
+
});
|
|
132
|
+
unknownAttrs.push(...unknowns.attrs);
|
|
133
|
+
unknownNodes.push(...unknowns.nodes);
|
|
134
|
+
} else if (_lodash.default.isArray(nodeObj)) {
|
|
135
|
+
for (const childObj of nodeObj) {
|
|
136
|
+
const {
|
|
137
|
+
nodes,
|
|
138
|
+
attrs
|
|
139
|
+
} = transformNode(childObj, platform, {
|
|
140
|
+
metadata,
|
|
141
|
+
addIndexPath,
|
|
142
|
+
parentPath
|
|
143
|
+
});
|
|
144
|
+
unknownNodes.push(...nodes);
|
|
145
|
+
unknownAttrs.push(...attrs);
|
|
110
146
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return {
|
|
150
|
+
nodes: _lodash.default.uniq(unknownNodes),
|
|
151
|
+
attrs: _lodash.default.uniq(unknownAttrs)
|
|
152
|
+
};
|
|
115
153
|
}
|
|
116
|
-
|
|
117
|
-
function transformChildNodes(nodeObj, childNodeNames, platform, {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
154
|
+
|
|
155
|
+
function transformChildNodes(nodeObj, childNodeNames, platform, {
|
|
156
|
+
metadata,
|
|
157
|
+
addIndexPath,
|
|
158
|
+
parentPath
|
|
159
|
+
}) {
|
|
160
|
+
const unknownNodes = [];
|
|
161
|
+
const unknownAttrs = [];
|
|
162
|
+
|
|
163
|
+
for (const nodeName of childNodeNames) {
|
|
164
|
+
const {
|
|
165
|
+
nodes,
|
|
166
|
+
attrs
|
|
167
|
+
} = transformNode(nodeObj[nodeName], platform, {
|
|
168
|
+
metadata,
|
|
169
|
+
addIndexPath,
|
|
170
|
+
parentPath
|
|
171
|
+
});
|
|
172
|
+
unknownNodes.push(...nodes);
|
|
173
|
+
unknownAttrs.push(...attrs);
|
|
174
|
+
const universalName = getUniversalNodeName(nodeName, platform);
|
|
175
|
+
|
|
176
|
+
if (universalName === null) {
|
|
177
|
+
unknownNodes.push(nodeName);
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (nodeObj[universalName]) {
|
|
182
|
+
nodeObj[universalName].push(...nodeObj[nodeName]);
|
|
183
|
+
} else {
|
|
184
|
+
nodeObj[universalName] = nodeObj[nodeName];
|
|
144
185
|
}
|
|
145
|
-
|
|
186
|
+
|
|
187
|
+
delete nodeObj[nodeName];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return {
|
|
191
|
+
nodes: unknownNodes,
|
|
192
|
+
attrs: unknownAttrs
|
|
193
|
+
};
|
|
146
194
|
}
|
|
147
|
-
|
|
195
|
+
|
|
148
196
|
function transformAttrs(nodeObj, attrs, platform) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
delete nodeObj[attr];
|
|
165
|
-
}
|
|
197
|
+
const unknownAttrs = [];
|
|
198
|
+
|
|
199
|
+
for (const attr of attrs) {
|
|
200
|
+
const cleanAttr = attr.substring(2);
|
|
201
|
+
|
|
202
|
+
if (_attrMap.REMOVE_ATTRS.includes(cleanAttr)) {
|
|
203
|
+
delete nodeObj[attr];
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
const universalAttr = getUniversalAttrName(cleanAttr, platform);
|
|
208
|
+
|
|
209
|
+
if (universalAttr === null) {
|
|
210
|
+
unknownAttrs.push(cleanAttr);
|
|
211
|
+
continue;
|
|
166
212
|
}
|
|
167
|
-
|
|
213
|
+
|
|
214
|
+
const newAttr = `${ATTR_PREFIX}${universalAttr}`;
|
|
215
|
+
|
|
216
|
+
if (newAttr !== attr) {
|
|
217
|
+
nodeObj[newAttr] = nodeObj[attr];
|
|
218
|
+
delete nodeObj[attr];
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return unknownAttrs;
|
|
168
223
|
}
|
|
169
|
-
exports.transformAttrs = transformAttrs;
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3NvdXJjZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQXVCO0FBQ3ZCLG1FQUFvRDtBQUNwRCwwREFBa0M7QUFDbEMseUNBQW9EO0FBQ3BELGtFQUF3QztBQUV4QyxNQUFNLFVBQVUsR0FBRztJQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRztJQUNmLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFFVyxRQUFBLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDbkIsUUFBQSxlQUFlLEdBQUcsR0FBRyxtQkFBVyxXQUFXLENBQUM7QUFDNUMsUUFBQSxVQUFVLEdBQUcsR0FBRyxtQkFBVyxPQUFPLENBQUM7QUFFaEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLG1CQUFXLENBQUM7QUFDeEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRWpDLFNBQWdCLGtCQUFrQixDQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBQyxRQUFRLEdBQUcsRUFBRSxFQUFFLFlBQVksR0FBRyxLQUFLLEVBQUMsR0FBRyxFQUFFO0lBQzlGLCtGQUErRjtJQUMvRiw0REFBNEQ7SUFDNUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcseUJBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVUs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
|
|
224
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9zb3VyY2UuanMiXSwibmFtZXMiOlsiUEFSU0VfT1BUUyIsImlnbm9yZUF0dHJpYnV0ZXMiLCJhcnJheU1vZGUiLCJHRU5fT1BUUyIsImZvcm1hdCIsIkFUVFJfUFJFRklYIiwiSURYX1BBVEhfUFJFRklYIiwiSURYX1BSRUZJWCIsImlzQXR0ciIsImsiLCJzdWJzdHJpbmciLCJpc05vZGUiLCJ0cmFuc2Zvcm1Tb3VyY2VYbWwiLCJ4bWxTdHIiLCJwbGF0Zm9ybSIsIm1ldGFkYXRhIiwiYWRkSW5kZXhQYXRoIiwicmVwbGFjZSIsInhtbE9iaiIsInBhcnNlciIsInBhcnNlIiwidW5rbm93bnMiLCJ0cmFuc2Zvcm1Ob2RlIiwicGFyZW50UGF0aCIsImpQYXJzZXIiLCJqMnhQYXJzZXIiLCJ0cmFuc2Zvcm1lZFhtbCIsInRyaW0iLCJ4bWwiLCJnZXRVbml2ZXJzYWxOYW1lIiwibmFtZU1hcCIsIm5hbWUiLCJ0cmFuc2xhdGVkTmFtZSIsIk9iamVjdCIsImtleXMiLCJzb3VyY2VOb2RlcyIsIl8iLCJpc0FycmF5IiwiaW5jbHVkZXMiLCJnZXRVbml2ZXJzYWxOb2RlTmFtZSIsIm5vZGVOYW1lIiwiTk9ERV9NQVAiLCJnZXRVbml2ZXJzYWxBdHRyTmFtZSIsImF0dHJOYW1lIiwiQVRUUl9NQVAiLCJub2RlT2JqIiwidW5rbm93bk5vZGVzIiwidW5rbm93bkF0dHJzIiwiaXNQbGFpbk9iamVjdCIsImNoaWxkTm9kZU5hbWVzIiwiZmlsdGVyIiwiYXR0cnMiLCJ0aGlzSW5kZXhQYXRoIiwibGVuZ3RoIiwiRXJyb3IiLCJwdXNoIiwidHJhbnNmb3JtQXR0cnMiLCJ0cmFuc2Zvcm1DaGlsZE5vZGVzIiwibm9kZXMiLCJjaGlsZE9iaiIsInVuaXEiLCJ1bml2ZXJzYWxOYW1lIiwiYXR0ciIsImNsZWFuQXR0ciIsIlJFTU9WRV9BVFRSUyIsInVuaXZlcnNhbEF0dHIiLCJuZXdBdHRyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztB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LFNBQXRCLENBQUosRUFBc0M7QUFDcEMsYUFBT2xCLE9BQU8sQ0FBQ2lCLElBQUQsQ0FBZDtBQUNBO0FBQ0Q7O0FBQ0QsVUFBTUcsYUFBYSxHQUFHdkIsb0JBQW9CLENBQUNxQixTQUFELEVBQVlqRCxRQUFaLENBQTFDOztBQUNBLFFBQUltRCxhQUFhLEtBQUssSUFBdEIsRUFBNEI7QUFDMUJsQixNQUFBQSxZQUFZLENBQUNRLElBQWIsQ0FBa0JRLFNBQWxCO0FBQ0E7QUFDRDs7QUFDRCxVQUFNRyxPQUFPLEdBQUksR0FBRTdELFdBQVksR0FBRTRELGFBQWMsRUFBL0M7O0FBQ0EsUUFBSUMsT0FBTyxLQUFLSixJQUFoQixFQUFzQjtBQUNwQmpCLE1BQUFBLE9BQU8sQ0FBQ3FCLE9BQUQsQ0FBUCxHQUFtQnJCLE9BQU8sQ0FBQ2lCLElBQUQsQ0FBMUI7QUFDQSxhQUFPakIsT0FBTyxDQUFDaUIsSUFBRCxDQUFkO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPZixZQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHBhcnNlciwgeyBqMnhQYXJzZXIgfSBmcm9tICdmYXN0LXhtbC1wYXJzZXInO1xuaW1wb3J0IE5PREVfTUFQIGZyb20gJy4vbm9kZS1tYXAnO1xuaW1wb3J0IHsgQVRUUl9NQVAsIFJFTU9WRV9BVFRSUyB9IGZyb20gJy4vYXR0ci1tYXAnO1xuaW1wb3J0IFRSQU5TRk9STVMgZnJvbSAnLi90cmFuc2Zvcm1lcnMnO1xuXG5jb25zdCBQQVJTRV9PUFRTID0ge1xuICBpZ25vcmVBdHRyaWJ1dGVzOiBmYWxzZSxcbiAgYXJyYXlNb2RlOiB0cnVlLFxufTtcblxuY29uc3QgR0VOX09QVFMgPSB7XG4gIGlnbm9yZUF0dHJpYnV0ZXM6IGZhbHNlLFxuICBhcnJheU1vZGU6IHRydWUsXG4gIGZvcm1hdDogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBBVFRSX1BSRUZJWCA9ICdAXyc7XG5leHBvcnQgY29uc3QgSURYX1BBVEhfUFJFRklYID0gYCR7QVRUUl9QUkVGSVh9aW5kZXhQYXRoYDtcbmV4cG9ydCBjb25zdCBJRFhfUFJFRklYID0gYCR7QVRUUl9QUkVGSVh9aW5kZXhgO1xuXG5jb25zdCBpc0F0dHIgPSAoaykgPT4gay5zdWJzdHJpbmcoMCwgMikgPT09IEFUVFJfUFJFRklYO1xuY29uc3QgaXNOb2RlID0gKGspID0+ICFpc0F0dHIoayk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Tb3VyY2VYbWwgKHhtbFN0ciwgcGxhdGZvcm0sIHttZXRhZGF0YSA9IHt9LCBhZGRJbmRleFBhdGggPSBmYWxzZX0gPSB7fSkge1xuICAvLyBmaXJzdCB0aGluZyB3ZSB3YW50IHRvIGRvIGlzIG1vZGlmeSB0aGUgaW9zIHNvdXJjZSByb290IG5vZGUsIGJlY2F1c2UgaXQgZG9lc24ndCBpbmNsdWRlIHRoZVxuICAvLyBuZWNlc3NhcnkgaW5kZXggYXR0cmlidXRlLCBzbyB3ZSBhZGQgaXQgaWYgaXQncyBub3QgdGhlcmVcbiAgeG1sU3RyID0geG1sU3RyLnJlcGxhY2UoJzxBcHBpdW1BVVQ+JywgJzxBcHBpdW1BVVQgaW5kZXg9XCIwXCI+Jyk7XG4gIGNvbnN0IHhtbE9iaiA9IHBhcnNlci5wYXJzZSh4bWxTdHIsIFBBUlNFX09QVFMpO1xuICBjb25zdCB1bmtub3ducyA9IHRyYW5zZm9ybU5vZGUoeG1sT2JqLCBwbGF0Zm9ybSwge21ldGFkYXRhLCBhZGRJbmRleFBhdGgsIHBhcmVudFBhdGg6ICcnfSk7XG4gIGNvbnN0IGpQYXJzZXIgPSBuZXcgajJ4UGFyc2VyKEdFTl9PUFRTKTtcbiAgbGV0IHRyYW5zZm9ybWVkWG1sID0galBhcnNlci5wYXJzZSh4bWxPYmopLnRyaW0oKTtcbiAgdHJhbnNmb3JtZWRYbWwgPSBgPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XFxuJHt0cmFuc2Zvcm1lZFhtbH1gO1xuICByZXR1cm4ge3htbDogdHJhbnNmb3JtZWRYbWwsIHVua25vd25zfTtcbn1cblxuZnVuY3Rpb24gZ2V0VW5pdmVyc2FsTmFtZSAobmFtZU1hcCwgbmFtZSwgcGxhdGZvcm0pIHtcbiAgZm9yIChjb25zdCB0cmFuc2xhdGVkTmFtZSBvZiBPYmplY3Qua2V5cyhuYW1lTWFwKSkge1xuICAgIGNvbnN0IHNvdXJjZU5vZGVzID0gbmFtZU1hcFt0cmFuc2xhdGVkTmFtZV0/LltwbGF0Zm9ybV07XG4gICAgaWYgKF8uaXNBcnJheShzb3VyY2VOb2RlcykgJiYgc291cmNlTm9kZXMuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cmFuc2xhdGVkTmFtZTtcbiAgICB9XG4gICAgaWYgKHNvdXJjZU5vZGVzID09PSBuYW1lKSB7XG4gICAgICByZXR1cm4gdHJhbnNsYXRlZE5hbWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5pdmVyc2FsTm9kZU5hbWUgKG5vZGVOYW1lLCBwbGF0Zm9ybSkge1xuICByZXR1cm4gZ2V0VW5pdmVyc2FsTmFtZShOT0RFX01BUCwgbm9kZU5hbWUsIHBsYXRmb3JtKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVuaXZlcnNhbEF0dHJOYW1lIChhdHRyTmFtZSwgcGxhdGZvcm0pIHtcbiAgcmV0dXJuIGdldFVuaXZlcnNhbE5hbWUoQVRUUl9NQVAsIGF0dHJOYW1lLCBwbGF0Zm9ybSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Ob2RlIChub2RlT2JqLCBwbGF0Zm9ybSwge21ldGFkYXRhLCBhZGRJbmRleFBhdGgsIHBhcmVudFBhdGh9KSB7XG4gIGNvbnN0IHVua25vd25Ob2RlcyA9IFtdO1xuICBjb25zdCB1bmtub3duQXR0cnMgPSBbXTtcbiAgaWYgKF8uaXNQbGFpbk9iamVjdChub2RlT2JqKSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhub2RlT2JqKTtcbiAgICBjb25zdCBjaGlsZE5vZGVOYW1lcyA9IGtleXMuZmlsdGVyKGlzTm9kZSk7XG4gICAgY29uc3QgYXR0cnMgPSBrZXlzLmZpbHRlcihpc0F0dHIpO1xuICAgIGxldCB0aGlzSW5kZXhQYXRoID0gcGFyZW50UGF0aDtcblxuICAgIGlmIChhdHRycy5sZW5ndGggJiYgYWRkSW5kZXhQYXRoKSB7XG4gICAgICBpZiAoIWF0dHJzLmluY2x1ZGVzKElEWF9QUkVGSVgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5kZXggcGF0aCBpcyByZXF1aXJlZCBidXQgbm9kZSBmb3VuZCB3aXRoIG5vICdpbmRleCcgYXR0cmlidXRlYCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXNJbmRleFBhdGggPSBgJHtwYXJlbnRQYXRofS8ke25vZGVPYmpbSURYX1BSRUZJWF19YDtcbiAgICAgIG5vZGVPYmpbSURYX1BBVEhfUFJFRklYXSA9IHRoaXNJbmRleFBhdGg7XG4gICAgfVxuXG4gICAgVFJBTlNGT1JNU1twbGF0Zm9ybV0/Lihub2RlT2JqLCBtZXRhZGF0YSk7XG4gICAgdW5rbm93bkF0dHJzLnB1c2goLi4udHJhbnNmb3JtQXR0cnMobm9kZU9iaiwgYXR0cnMsIHBsYXRmb3JtKSk7XG4gICAgY29uc3QgdW5rbm93bnMgPSB0cmFuc2Zvcm1DaGlsZE5vZGVzKG5vZGVPYmosIGNoaWxkTm9kZU5hbWVzLCBwbGF0Zm9ybSwge1xuICAgICAgbWV0YWRhdGEsIGFkZEluZGV4UGF0aCwgcGFyZW50UGF0aDogdGhpc0luZGV4UGF0aFxuICAgIH0pO1xuICAgIHVua25vd25BdHRycy5wdXNoKC4uLnVua25vd25zLmF0dHJzKTtcbiAgICB1bmtub3duTm9kZXMucHVzaCguLi51bmtub3ducy5ub2Rlcyk7XG4gIH0gZWxzZSBpZiAoXy5pc0FycmF5KG5vZGVPYmopKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZE9iaiBvZiBub2RlT2JqKSB7XG4gICAgICBjb25zdCB7bm9kZXMsIGF0dHJzfSA9IHRyYW5zZm9ybU5vZGUoY2hpbGRPYmosIHBsYXRmb3JtLCB7XG4gICAgICAgIG1ldGFkYXRhLCBhZGRJbmRleFBhdGgsIHBhcmVudFBhdGhcbiAgICAgIH0pO1xuICAgICAgdW5rbm93bk5vZGVzLnB1c2goLi4ubm9kZXMpO1xuICAgICAgdW5rbm93bkF0dHJzLnB1c2goLi4uYXR0cnMpO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIG5vZGVzOiBfLnVuaXEodW5rbm93bk5vZGVzKSxcbiAgICBhdHRyczogXy51bmlxKHVua25vd25BdHRycyksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1DaGlsZE5vZGVzIChub2RlT2JqLCBjaGlsZE5vZGVOYW1lcywgcGxhdGZvcm0sIHttZXRhZGF0YSwgYWRkSW5kZXhQYXRoLCBwYXJlbnRQYXRofSkge1xuICBjb25zdCB1bmtub3duTm9kZXMgPSBbXTtcbiAgY29uc3QgdW5rbm93bkF0dHJzID0gW107XG4gIGZvciAoY29uc3Qgbm9kZU5hbWUgb2YgY2hpbGROb2RlTmFtZXMpIHtcbiAgICAvLyBiZWZvcmUgbW9kaWZ5aW5nIHRoZSBuYW1lIG9mIHRoaXMgY2hpbGQgbm9kZSwgcmVjdXJzZSBkb3duIGFuZCBtb2RpZnkgdGhlIHN1YnRyZWVcbiAgICBjb25zdCB7bm9kZXMsIGF0dHJzfSA9IHRyYW5zZm9ybU5vZGUobm9kZU9ialtub2RlTmFtZV0sIHBsYXRmb3JtLCB7bWV0YWRhdGEsIGFkZEluZGV4UGF0aCwgcGFyZW50UGF0aH0pO1xuICAgIHVua25vd25Ob2Rlcy5wdXNoKC4uLm5vZGVzKTtcbiAgICB1bmtub3duQXR0cnMucHVzaCguLi5hdHRycyk7XG5cbiAgICAvLyBub3cgdHJhbnNsYXRlIHRoZSBub2RlIG5hbWUgYW5kIHJlcGxhY2UgdGhlIHN1YnRyZWUgd2l0aCB0aGlzIG5vZGVcbiAgICBjb25zdCB1bml2ZXJzYWxOYW1lID0gZ2V0VW5pdmVyc2FsTm9kZU5hbWUobm9kZU5hbWUsIHBsYXRmb3JtKTtcbiAgICBpZiAodW5pdmVyc2FsTmFtZSA9PT0gbnVsbCkge1xuICAgICAgdW5rbm93bk5vZGVzLnB1c2gobm9kZU5hbWUpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gc2luY2UgbXVsdGlwbGUgY2hpbGQgbm9kZSBuYW1lcyBjb3VsZCBtYXAgdG8gdGhlIHNhbWUgbmV3IHRyYW5zZm9ybWVkIG5vZGUgbmFtZSwgd2UgY2FuJ3RcbiAgICAvLyBzaW1wbHkgYXNzaWduIG5vZGVPYmpbdW5pdmVyc2FsTmFtZV0gPSBub2RlT2JqW25vZGVOYW1lXTsgd2UgbmVlZCB0byBiZSBzZW5zaXRpdmUgdG8gdGhlXG4gICAgLy8gc2l0dWF0aW9uIHdoZXJlIHRoZSBlbmQgcmVzdWx0IGlzIGFuIGFycmF5IG9mIGNoaWxkcmVuIGhhdmluZyB0aGUgc2FtZSBub2RlIG5hbWVcbiAgICBpZiAobm9kZU9ialt1bml2ZXJzYWxOYW1lXSkge1xuICAgICAgLy8gaWYgd2UgYWxyZWFkeSBoYXZlIGEgbm9kZSB3aXRoIHRoZSB1bml2ZXJzYWwgbmFtZSwgdGhhdCBtZWFucyB3ZSBhcmUgbWFwcGluZyBhIHNlY29uZFxuICAgICAgLy8gb3JpZ2luYWwgbm9kZSBuYW1lIHRvIHRoZSBzYW1lIHVuaXZlcnNhbCBub2RlIG5hbWUsIHNvIHdlIGp1c3QgcHVzaCBhbGwgaXRzIGNoaWxkcmVuIGludG9cbiAgICAgIC8vIHRoZSBsaXN0XG4gICAgICBub2RlT2JqW3VuaXZlcnNhbE5hbWVdLnB1c2goLi4ubm9kZU9ialtub2RlTmFtZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlT2JqW3VuaXZlcnNhbE5hbWVdID0gbm9kZU9ialtub2RlTmFtZV07XG4gICAgfVxuICAgIGRlbGV0ZSBub2RlT2JqW25vZGVOYW1lXTtcbiAgfVxuICByZXR1cm4ge25vZGVzOiB1bmtub3duTm9kZXMsIGF0dHJzOiB1bmtub3duQXR0cnN9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQXR0cnMgKG5vZGVPYmosIGF0dHJzLCBwbGF0Zm9ybSkge1xuICBjb25zdCB1bmtub3duQXR0cnMgPSBbXTtcbiAgZm9yIChjb25zdCBhdHRyIG9mIGF0dHJzKSB7XG4gICAgY29uc3QgY2xlYW5BdHRyID0gYXR0ci5zdWJzdHJpbmcoMik7XG4gICAgaWYgKFJFTU9WRV9BVFRSUy5pbmNsdWRlcyhjbGVhbkF0dHIpKSB7XG4gICAgICBkZWxldGUgbm9kZU9ialthdHRyXTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCB1bml2ZXJzYWxBdHRyID0gZ2V0VW5pdmVyc2FsQXR0ck5hbWUoY2xlYW5BdHRyLCBwbGF0Zm9ybSk7XG4gICAgaWYgKHVuaXZlcnNhbEF0dHIgPT09IG51bGwpIHtcbiAgICAgIHVua25vd25BdHRycy5wdXNoKGNsZWFuQXR0cik7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmV3QXR0ciA9IGAke0FUVFJfUFJFRklYfSR7dW5pdmVyc2FsQXR0cn1gO1xuICAgIGlmIChuZXdBdHRyICE9PSBhdHRyKSB7XG4gICAgICBub2RlT2JqW25ld0F0dHJdID0gbm9kZU9ialthdHRyXTtcbiAgICAgIGRlbGV0ZSBub2RlT2JqW2F0dHJdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5rbm93bkF0dHJzO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../lib/transformers.js"],"names":[],"mappings":";;;;;AAEA,wCAEC;AAED,4DAoBC"}
|
|
@@ -1,31 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
require("source-map-support/register");
|
|
9
|
+
|
|
10
|
+
var _source = require("./source");
|
|
11
|
+
|
|
12
|
+
function ios(nodeObj) {
|
|
13
|
+
return nodeObj;
|
|
6
14
|
}
|
|
15
|
+
|
|
7
16
|
function android(nodeObj, metadata) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
nodeObj[`${source_1.ATTR_PREFIX}height`] = height;
|
|
25
|
-
}
|
|
17
|
+
const resId = nodeObj[`${_source.ATTR_PREFIX}resource-id`];
|
|
18
|
+
|
|
19
|
+
if (resId && metadata.appPackage) {
|
|
20
|
+
nodeObj[`${_source.ATTR_PREFIX}resource-id`] = resId.replace(`${metadata.appPackage}:id/`, '');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (nodeObj[`${_source.ATTR_PREFIX}bounds`]) {
|
|
24
|
+
const boundsArray = nodeObj[`${_source.ATTR_PREFIX}bounds`].split(/\[|\]|,/).filter(str => str !== '');
|
|
25
|
+
const [x, y, x2, y2] = boundsArray;
|
|
26
|
+
const width = x2 - x;
|
|
27
|
+
const height = y2 - y;
|
|
28
|
+
nodeObj[`${_source.ATTR_PREFIX}x`] = x;
|
|
29
|
+
nodeObj[`${_source.ATTR_PREFIX}y`] = y;
|
|
30
|
+
nodeObj[`${_source.ATTR_PREFIX}width`] = width;
|
|
31
|
+
nodeObj[`${_source.ATTR_PREFIX}height`] = height;
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
|
|
35
|
+
var _default = {
|
|
36
|
+
ios,
|
|
37
|
+
android
|
|
30
38
|
};
|
|
31
|
-
|
|
39
|
+
exports.default = _default;
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90cmFuc2Zvcm1lcnMuanMiXSwibmFtZXMiOlsiaW9zIiwibm9kZU9iaiIsImFuZHJvaWQiLCJtZXRhZGF0YSIsInJlc0lkIiwiQVRUUl9QUkVGSVgiLCJhcHBQYWNrYWdlIiwicmVwbGFjZSIsImJvdW5kc0FycmF5Iiwic3BsaXQiLCJmaWx0ZXIiLCJzdHIiLCJ4IiwieSIsIngyIiwieTIiLCJ3aWR0aCIsImhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsU0FBU0EsR0FBVCxDQUFjQyxPQUFkLEVBQXFDO0FBQ25DLFNBQU9BLE9BQVA7QUFDRDs7QUFFRCxTQUFTQyxPQUFULENBQWtCRCxPQUFsQixFQUEyQkUsUUFBM0IsRUFBcUM7QUFFbkMsUUFBTUMsS0FBSyxHQUFHSCxPQUFPLENBQUUsR0FBRUksbUJBQVksYUFBaEIsQ0FBckI7O0FBQ0EsTUFBSUQsS0FBSyxJQUFJRCxRQUFRLENBQUNHLFVBQXRCLEVBQWtDO0FBQ2hDTCxJQUFBQSxPQUFPLENBQUUsR0FBRUksbUJBQVksYUFBaEIsQ0FBUCxHQUF1Q0QsS0FBSyxDQUFDRyxPQUFOLENBQWUsR0FBRUosUUFBUSxDQUFDRyxVQUFXLE1BQXJDLEVBQTRDLEVBQTVDLENBQXZDO0FBQ0Q7O0FBR0QsTUFBSUwsT0FBTyxDQUFFLEdBQUVJLG1CQUFZLFFBQWhCLENBQVgsRUFBcUM7QUFDbkMsVUFBTUcsV0FBVyxHQUFHUCxPQUFPLENBQUUsR0FBRUksbUJBQVksUUFBaEIsQ0FBUCxDQUNqQkksS0FEaUIsQ0FDWCxTQURXLEVBRWpCQyxNQUZpQixDQUVUQyxHQUFELElBQVNBLEdBQUcsS0FBSyxFQUZQLENBQXBCO0FBR0EsVUFBTSxDQUFDQyxDQUFELEVBQUlDLENBQUosRUFBT0MsRUFBUCxFQUFXQyxFQUFYLElBQWlCUCxXQUF2QjtBQUNBLFVBQU1RLEtBQUssR0FBR0YsRUFBRSxHQUFHRixDQUFuQjtBQUNBLFVBQU1LLE1BQU0sR0FBR0YsRUFBRSxHQUFHRixDQUFwQjtBQUNBWixJQUFBQSxPQUFPLENBQUUsR0FBRUksbUJBQVksR0FBaEIsQ0FBUCxHQUE2Qk8sQ0FBN0I7QUFDQVgsSUFBQUEsT0FBTyxDQUFFLEdBQUVJLG1CQUFZLEdBQWhCLENBQVAsR0FBNkJRLENBQTdCO0FBQ0FaLElBQUFBLE9BQU8sQ0FBRSxHQUFFSSxtQkFBWSxPQUFoQixDQUFQLEdBQWlDVyxLQUFqQztBQUNBZixJQUFBQSxPQUFPLENBQUUsR0FBRUksbUJBQVksUUFBaEIsQ0FBUCxHQUFrQ1ksTUFBbEM7QUFDRDtBQUNGOztlQUVjO0FBQ2JqQixFQUFBQSxHQURhO0FBRWJFLEVBQUFBO0FBRmEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFUVFJfUFJFRklYIH0gZnJvbSAnLi9zb3VyY2UnO1xuXG5mdW5jdGlvbiBpb3MgKG5vZGVPYmovKiwgbWV0YWRhdGEqLykge1xuICByZXR1cm4gbm9kZU9iajtcbn1cblxuZnVuY3Rpb24gYW5kcm9pZCAobm9kZU9iaiwgbWV0YWRhdGEpIHtcbiAgLy8gc3RyaXAgYW5kcm9pZDppZCBmcm9tIGZyb250IG9mIGlkXG4gIGNvbnN0IHJlc0lkID0gbm9kZU9ialtgJHtBVFRSX1BSRUZJWH1yZXNvdXJjZS1pZGBdO1xuICBpZiAocmVzSWQgJiYgbWV0YWRhdGEuYXBwUGFja2FnZSkge1xuICAgIG5vZGVPYmpbYCR7QVRUUl9QUkVGSVh9cmVzb3VyY2UtaWRgXSA9IHJlc0lkLnJlcGxhY2UoYCR7bWV0YWRhdGEuYXBwUGFja2FnZX06aWQvYCwgJycpO1xuICB9XG5cbiAgLy8gdHVybiBib3VuZHMgYXR0ciBpbnRvIHJlY3QtYmFzZWQgYXR0cnNcbiAgaWYgKG5vZGVPYmpbYCR7QVRUUl9QUkVGSVh9Ym91bmRzYF0pIHtcbiAgICBjb25zdCBib3VuZHNBcnJheSA9IG5vZGVPYmpbYCR7QVRUUl9QUkVGSVh9Ym91bmRzYF1cbiAgICAgIC5zcGxpdCgvXFxbfFxcXXwsLylcbiAgICAgIC5maWx0ZXIoKHN0cikgPT4gc3RyICE9PSAnJyk7XG4gICAgY29uc3QgW3gsIHksIHgyLCB5Ml0gPSBib3VuZHNBcnJheTtcbiAgICBjb25zdCB3aWR0aCA9IHgyIC0geDtcbiAgICBjb25zdCBoZWlnaHQgPSB5MiAtIHk7XG4gICAgbm9kZU9ialtgJHtBVFRSX1BSRUZJWH14YF0gPSB4O1xuICAgIG5vZGVPYmpbYCR7QVRUUl9QUkVGSVh9eWBdID0geTtcbiAgICBub2RlT2JqW2Ake0FUVFJfUFJFRklYfXdpZHRoYF0gPSB3aWR0aDtcbiAgICBub2RlT2JqW2Ake0FUVFJfUFJFRklYfWhlaWdodGBdID0gaGVpZ2h0O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaW9zLFxuICBhbmRyb2lkLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xpath.d.ts","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":"AAGA,mFAIC;AAED,sFA4BC;AAED,0DAMC"}
|
package/build/lib/xpath.js
CHANGED
|
@@ -1,48 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getNodeAttrVal = getNodeAttrVal;
|
|
7
|
+
exports.runQuery = runQuery;
|
|
8
|
+
exports.transformQuery = transformQuery;
|
|
9
|
+
|
|
10
|
+
require("source-map-support/register");
|
|
11
|
+
|
|
12
|
+
var _xpath = require("xpath");
|
|
13
|
+
|
|
14
|
+
var _xmldom = require("xmldom");
|
|
15
|
+
|
|
6
16
|
function runQuery(query, xmlStr) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
17
|
+
const dom = new _xmldom.DOMParser().parseFromString(xmlStr);
|
|
18
|
+
const nodes = (0, _xpath.select)(query, dom);
|
|
19
|
+
return nodes;
|
|
10
20
|
}
|
|
11
|
-
|
|
21
|
+
|
|
12
22
|
function transformQuery(query, xmlStr, multiple) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (newQueries.length) {
|
|
30
|
-
if (multiple) {
|
|
31
|
-
newSelector = newQueries.join(' | ');
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
newSelector = newQueries[0];
|
|
35
|
-
}
|
|
23
|
+
const nodes = runQuery(query, xmlStr);
|
|
24
|
+
const newQueries = nodes.map(node => {
|
|
25
|
+
const indexPath = getNodeAttrVal(node, 'indexPath');
|
|
26
|
+
let newQuery = indexPath.substring(1).split('/').map(indexStr => {
|
|
27
|
+
const xpathIndex = parseInt(indexStr, 10) + 1;
|
|
28
|
+
return `*[${xpathIndex}]`;
|
|
29
|
+
}).join('/');
|
|
30
|
+
return `/${newQuery}`;
|
|
31
|
+
});
|
|
32
|
+
let newSelector = null;
|
|
33
|
+
|
|
34
|
+
if (newQueries.length) {
|
|
35
|
+
if (multiple) {
|
|
36
|
+
newSelector = newQueries.join(' | ');
|
|
37
|
+
} else {
|
|
38
|
+
newSelector = newQueries[0];
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return newSelector;
|
|
38
43
|
}
|
|
39
|
-
|
|
44
|
+
|
|
40
45
|
function getNodeAttrVal(node, attr) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
+
const attrObjs = Object.values(node.attributes).filter(obj => obj.name === attr);
|
|
47
|
+
|
|
48
|
+
if (!attrObjs.length) {
|
|
49
|
+
throw new Error(`Tried to retrieve a node attribute '${attr}' but the node didn't have it`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return attrObjs[0].value;
|
|
46
53
|
}
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIveHBhdGguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQTZDO0FBQzdDLG1DQUFtQztBQUVuQyxTQUFnQixRQUFRLENBQUUsS0FBSyxFQUFFLE1BQU07SUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQkFBUyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELE1BQU0sS0FBSyxHQUFHLGNBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBSkQsNEJBSUM7QUFFRCxTQUFnQixjQUFjLENBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRO0lBQ3JELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEQsMERBQTBEO1FBQzFELElBQUksUUFBUSxHQUFHLFNBQVM7YUFDckIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFtQzthQUNoRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCO2FBQ2hDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sS0FBSyxVQUFVLEdBQUcsQ0FBQztRQUM1QixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZO1FBRTFCLGlGQUFpRjtRQUNqRixPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7SUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO1FBQ3JCLElBQUksUUFBUSxFQUFFO1lBQ1osV0FBVyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNMLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7S0FDRjtJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUE1QkQsd0NBNEJDO0FBRUQsU0FBZ0IsY0FBYyxDQUFFLElBQUksRUFBRSxJQUFJO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNuRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxJQUFJLCtCQUErQixDQUFDLENBQUM7S0FDN0Y7SUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQztBQU5ELHdDQU1DIn0=
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi94cGF0aC5qcyJdLCJuYW1lcyI6WyJydW5RdWVyeSIsInF1ZXJ5IiwieG1sU3RyIiwiZG9tIiwiRE9NUGFyc2VyIiwicGFyc2VGcm9tU3RyaW5nIiwibm9kZXMiLCJ0cmFuc2Zvcm1RdWVyeSIsIm11bHRpcGxlIiwibmV3UXVlcmllcyIsIm1hcCIsIm5vZGUiLCJpbmRleFBhdGgiLCJnZXROb2RlQXR0clZhbCIsIm5ld1F1ZXJ5Iiwic3Vic3RyaW5nIiwic3BsaXQiLCJpbmRleFN0ciIsInhwYXRoSW5kZXgiLCJwYXJzZUludCIsImpvaW4iLCJuZXdTZWxlY3RvciIsImxlbmd0aCIsImF0dHIiLCJhdHRyT2JqcyIsIk9iamVjdCIsInZhbHVlcyIsImF0dHJpYnV0ZXMiLCJmaWx0ZXIiLCJvYmoiLCJuYW1lIiwiRXJyb3IiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxTQUFTQSxRQUFULENBQW1CQyxLQUFuQixFQUEwQkMsTUFBMUIsRUFBa0M7QUFDdkMsUUFBTUMsR0FBRyxHQUFHLElBQUlDLGlCQUFKLEdBQWdCQyxlQUFoQixDQUFnQ0gsTUFBaEMsQ0FBWjtBQUNBLFFBQU1JLEtBQUssR0FBRyxtQkFBV0wsS0FBWCxFQUFrQkUsR0FBbEIsQ0FBZDtBQUNBLFNBQU9HLEtBQVA7QUFDRDs7QUFFTSxTQUFTQyxjQUFULENBQXlCTixLQUF6QixFQUFnQ0MsTUFBaEMsRUFBd0NNLFFBQXhDLEVBQWtEO0FBQ3ZELFFBQU1GLEtBQUssR0FBR04sUUFBUSxDQUFDQyxLQUFELEVBQVFDLE1BQVIsQ0FBdEI7QUFFQSxRQUFNTyxVQUFVLEdBQUdILEtBQUssQ0FBQ0ksR0FBTixDQUFXQyxJQUFELElBQVU7QUFDckMsVUFBTUMsU0FBUyxHQUFHQyxjQUFjLENBQUNGLElBQUQsRUFBTyxXQUFQLENBQWhDO0FBRUEsUUFBSUcsUUFBUSxHQUFHRixTQUFTLENBQ3JCRyxTQURZLENBQ0YsQ0FERSxFQUVaQyxLQUZZLENBRU4sR0FGTSxFQUdaTixHQUhZLENBR1BPLFFBQUQsSUFBYztBQUNqQixZQUFNQyxVQUFVLEdBQUdDLFFBQVEsQ0FBQ0YsUUFBRCxFQUFXLEVBQVgsQ0FBUixHQUF5QixDQUE1QztBQUNBLGFBQVEsS0FBSUMsVUFBVyxHQUF2QjtBQUNELEtBTlksRUFPWkUsSUFQWSxDQU9QLEdBUE8sQ0FBZjtBQVVBLFdBQVEsSUFBR04sUUFBUyxFQUFwQjtBQUNELEdBZGtCLENBQW5CO0FBZ0JBLE1BQUlPLFdBQVcsR0FBRyxJQUFsQjs7QUFDQSxNQUFJWixVQUFVLENBQUNhLE1BQWYsRUFBdUI7QUFDckIsUUFBSWQsUUFBSixFQUFjO0FBQ1phLE1BQUFBLFdBQVcsR0FBR1osVUFBVSxDQUFDVyxJQUFYLENBQWdCLEtBQWhCLENBQWQ7QUFDRCxLQUZELE1BRU87QUFDTEMsTUFBQUEsV0FBVyxHQUFHWixVQUFVLENBQUMsQ0FBRCxDQUF4QjtBQUNEO0FBQ0Y7O0FBQ0QsU0FBT1ksV0FBUDtBQUNEOztBQUVNLFNBQVNSLGNBQVQsQ0FBeUJGLElBQXpCLEVBQStCWSxJQUEvQixFQUFxQztBQUMxQyxRQUFNQyxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjZixJQUFJLENBQUNnQixVQUFuQixFQUErQkMsTUFBL0IsQ0FBdUNDLEdBQUQsSUFBU0EsR0FBRyxDQUFDQyxJQUFKLEtBQWFQLElBQTVELENBQWpCOztBQUNBLE1BQUksQ0FBQ0MsUUFBUSxDQUFDRixNQUFkLEVBQXNCO0FBQ3BCLFVBQU0sSUFBSVMsS0FBSixDQUFXLHVDQUFzQ1IsSUFBSywrQkFBdEQsQ0FBTjtBQUNEOztBQUNELFNBQU9DLFFBQVEsQ0FBQyxDQUFELENBQVIsQ0FBWVEsS0FBbkI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNlbGVjdCBhcyB4cGF0aFF1ZXJ5IH0gZnJvbSAneHBhdGgnO1xuaW1wb3J0IHsgRE9NUGFyc2VyIH0gZnJvbSAneG1sZG9tJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJ1blF1ZXJ5IChxdWVyeSwgeG1sU3RyKSB7XG4gIGNvbnN0IGRvbSA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeG1sU3RyKTtcbiAgY29uc3Qgbm9kZXMgPSB4cGF0aFF1ZXJ5KHF1ZXJ5LCBkb20pO1xuICByZXR1cm4gbm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1RdWVyeSAocXVlcnksIHhtbFN0ciwgbXVsdGlwbGUpIHtcbiAgY29uc3Qgbm9kZXMgPSBydW5RdWVyeShxdWVyeSwgeG1sU3RyKTtcblxuICBjb25zdCBuZXdRdWVyaWVzID0gbm9kZXMubWFwKChub2RlKSA9PiB7XG4gICAgY29uc3QgaW5kZXhQYXRoID0gZ2V0Tm9kZUF0dHJWYWwobm9kZSwgJ2luZGV4UGF0aCcpO1xuICAgIC8vIGF0IHRoaXMgcG9pbnQgaW5kZXhQYXRoIHdpbGwgbG9vayBsaWtlIC8wLzAvMS8xLzAvMS8wLzJcbiAgICBsZXQgbmV3UXVlcnkgPSBpbmRleFBhdGhcbiAgICAgIC5zdWJzdHJpbmcoMSkgLy8gcmVtb3ZlIGxlYWRpbmcgLyBzbyB3ZSBjYW4gc3BsaXRcbiAgICAgIC5zcGxpdCgnLycpIC8vIHNwbGl0IGludG8gaWRuZXhlc1xuICAgICAgLm1hcCgoaW5kZXhTdHIpID0+IHsgLy8gbWFwIHRvIHhwYXRoIG5vZGUgaW5kZXhlcyAoMS1iYXNlZClcbiAgICAgICAgY29uc3QgeHBhdGhJbmRleCA9IHBhcnNlSW50KGluZGV4U3RyLCAxMCkgKyAxO1xuICAgICAgICByZXR1cm4gYCpbJHt4cGF0aEluZGV4fV1gO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcvJyk7IC8vIHJlYXBwbHkgL1xuXG4gICAgLy8gbm93IHRvIG1ha2UgdGhpcyBhIHZhbGlkIHhwYXRoIGZyb20gdGhlIHJvb3QsIHByZXBlbmQgdGhlIC8gd2UgcmVtb3ZlZCBlYXJsaWVyXG4gICAgcmV0dXJuIGAvJHtuZXdRdWVyeX1gO1xuICB9KTtcblxuICBsZXQgbmV3U2VsZWN0b3IgPSBudWxsO1xuICBpZiAobmV3UXVlcmllcy5sZW5ndGgpIHtcbiAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgIG5ld1NlbGVjdG9yID0gbmV3UXVlcmllcy5qb2luKCcgfCAnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2VsZWN0b3IgPSBuZXdRdWVyaWVzWzBdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3U2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROb2RlQXR0clZhbCAobm9kZSwgYXR0cikge1xuICBjb25zdCBhdHRyT2JqcyA9IE9iamVjdC52YWx1ZXMobm9kZS5hdHRyaWJ1dGVzKS5maWx0ZXIoKG9iaikgPT4gb2JqLm5hbWUgPT09IGF0dHIpO1xuICBpZiAoIWF0dHJPYmpzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVHJpZWQgdG8gcmV0cmlldmUgYSBub2RlIGF0dHJpYnV0ZSAnJHthdHRyfScgYnV0IHRoZSBub2RlIGRpZG4ndCBoYXZlIGl0YCk7XG4gIH1cbiAgcmV0dXJuIGF0dHJPYmpzWzBdLnZhbHVlO1xufVxuIl19
|