@appium/universal-xml-plugin 2.0.3 → 2.1.0

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 (50) hide show
  1. package/build/lib/attr-map.d.ts +3 -57
  2. package/build/lib/attr-map.d.ts.map +1 -1
  3. package/build/lib/attr-map.js +2 -5
  4. package/build/lib/attr-map.js.map +1 -1
  5. package/build/lib/index.d.ts +4 -3
  6. package/build/lib/index.d.ts.map +1 -1
  7. package/build/lib/index.js +20 -5
  8. package/build/lib/index.js.map +1 -1
  9. package/build/lib/node-map.d.ts +3 -199
  10. package/build/lib/node-map.d.ts.map +1 -1
  11. package/build/lib/node-map.js +2 -9
  12. package/build/lib/node-map.js.map +1 -1
  13. package/build/lib/plugin.d.ts +7 -6
  14. package/build/lib/plugin.d.ts.map +1 -1
  15. package/build/lib/plugin.js +16 -18
  16. package/build/lib/plugin.js.map +1 -1
  17. package/build/lib/source.d.ts +41 -47
  18. package/build/lib/source.d.ts.map +1 -1
  19. package/build/lib/source.js +104 -47
  20. package/build/lib/source.js.map +1 -1
  21. package/build/lib/transformers.d.ts +3 -7
  22. package/build/lib/transformers.d.ts.map +1 -1
  23. package/build/lib/transformers.js +9 -10
  24. package/build/lib/transformers.js.map +1 -1
  25. package/build/lib/types.d.ts +29 -0
  26. package/build/lib/types.d.ts.map +1 -0
  27. package/build/lib/types.js +3 -0
  28. package/build/lib/types.js.map +1 -0
  29. package/build/lib/xpath.d.ts +16 -7
  30. package/build/lib/xpath.d.ts.map +1 -1
  31. package/build/lib/xpath.js +19 -16
  32. package/build/lib/xpath.js.map +1 -1
  33. package/lib/{attr-map.js → attr-map.ts} +5 -5
  34. package/lib/{index.js → index.ts} +22 -4
  35. package/lib/{node-map.js → node-map.ts} +5 -1
  36. package/lib/plugin.ts +119 -0
  37. package/lib/source.ts +265 -0
  38. package/lib/{transformers.js → transformers.ts} +9 -12
  39. package/lib/types.ts +33 -0
  40. package/lib/{xpath.js → xpath.ts} +24 -20
  41. package/package.json +10 -10
  42. package/tsconfig.json +3 -2
  43. package/build/lib/logger.d.ts +0 -3
  44. package/build/lib/logger.d.ts.map +0 -1
  45. package/build/lib/logger.js +0 -6
  46. package/build/lib/logger.js.map +0 -1
  47. package/index.js +0 -7
  48. package/lib/logger.js +0 -3
  49. package/lib/plugin.js +0 -81
  50. package/lib/source.js +0 -226
@@ -1,69 +1,63 @@
1
+ import type { NodesAndAttributes, TransformSourceXmlOptions, TransformNodeOptions } from './types';
2
+ export declare const ATTR_PREFIX = "@_";
3
+ export declare const IDX_PATH_PREFIX = "@_indexPath";
4
+ export declare const IDX_PREFIX = "@_index";
1
5
  /**
6
+ * Transforms source XML to universal format
2
7
  *
3
- * @param {string} xmlStr
4
- * @param {string} platform
5
- * @param {{metadata?: Object, addIndexPath?: boolean}} opts
6
- * @returns {Promise<{xml: string, unknowns: NodesAndAttributes}>}
8
+ * @param xmlStr - The XML string to transform
9
+ * @param platform - The platform name ('ios' or 'android')
10
+ * @param opts - Transformation options
11
+ * @param opts.metadata - Optional metadata object
12
+ * @param opts.addIndexPath - Whether to add index path attributes
13
+ * @returns Promise resolving to transformed XML and unknown nodes/attributes
7
14
  */
8
- export function transformSourceXml(xmlStr: string, platform: string, { metadata, addIndexPath }?: {
9
- metadata?: any;
10
- addIndexPath?: boolean;
11
- }): Promise<{
15
+ export declare function transformSourceXml(xmlStr: string, platform: string, { metadata, addIndexPath }?: TransformSourceXmlOptions): Promise<{
12
16
  xml: string;
13
17
  unknowns: NodesAndAttributes;
14
18
  }>;
15
19
  /**
20
+ * Gets the universal node name for a platform-specific node name
16
21
  *
17
- * @param {any} nodeName
18
- * @param {string} platform
19
- * @returns {string?}
22
+ * @param nodeName - The platform-specific node name
23
+ * @param platform - The platform name
24
+ * @returns The universal node name or null if not found
20
25
  */
21
- export function getUniversalNodeName(nodeName: any, platform: string): string | null;
26
+ export declare function getUniversalNodeName(nodeName: string, platform: string): string | null;
22
27
  /**
28
+ * Gets the universal attribute name for a platform-specific attribute name
23
29
  *
24
- * @param {string} attrName
25
- * @param {string} platform
26
- * @returns {string?}
30
+ * @param attrName - The platform-specific attribute name
31
+ * @param platform - The platform name
32
+ * @returns The universal attribute name or null if not found
27
33
  */
28
- export function getUniversalAttrName(attrName: string, platform: string): string | null;
34
+ export declare function getUniversalAttrName(attrName: string, platform: string): string | null;
29
35
  /**
36
+ * Transforms a node object recursively
30
37
  *
31
- * @param {any} nodeObj
32
- * @param {string} platform
33
- * @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
34
- * @returns {NodesAndAttributes}
38
+ * @param nodeObj - The node object to transform
39
+ * @param platform - The platform name
40
+ * @param opts - Transformation options
41
+ * @returns Object containing unknown nodes and attributes
35
42
  */
36
- export function transformNode(nodeObj: any, platform: string, { metadata, addIndexPath, parentPath }: {
37
- metadata?: any;
38
- addIndexPath?: boolean;
39
- parentPath?: string;
40
- }): NodesAndAttributes;
43
+ export declare function transformNode(nodeObj: any, platform: string, { metadata, addIndexPath, parentPath }: TransformNodeOptions): NodesAndAttributes;
41
44
  /**
45
+ * Transforms child nodes of a node object
42
46
  *
43
- * @param {any} nodeObj
44
- * @param {string[]} childNodeNames
45
- * @param {string} platform
46
- * @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
47
- * @returns {NodesAndAttributes}
47
+ * @param nodeObj - The node object containing child nodes
48
+ * @param childNodeNames - Array of child node names
49
+ * @param platform - The platform name
50
+ * @param opts - Transformation options
51
+ * @returns Object containing unknown nodes and attributes
48
52
  */
49
- export function transformChildNodes(nodeObj: any, childNodeNames: string[], platform: string, { metadata, addIndexPath, parentPath }: {
50
- metadata?: any;
51
- addIndexPath?: boolean;
52
- parentPath?: string;
53
- }): NodesAndAttributes;
53
+ export declare function transformChildNodes(nodeObj: any, childNodeNames: string[], platform: string, { metadata, addIndexPath, parentPath }: TransformNodeOptions): NodesAndAttributes;
54
54
  /**
55
+ * Transforms attributes of a node object
55
56
  *
56
- * @param {any} nodeObj
57
- * @param {string[]} attrs
58
- * @param {string} platform
59
- * @returns {string[]}
57
+ * @param nodeObj - The node object containing attributes
58
+ * @param attrs - Array of attribute keys
59
+ * @param platform - The platform name
60
+ * @returns Array of unknown attribute names
60
61
  */
61
- export function transformAttrs(nodeObj: any, attrs: string[], platform: string): string[];
62
- export const ATTR_PREFIX: "@_";
63
- export const IDX_PATH_PREFIX: "@_indexPath";
64
- export const IDX_PREFIX: "@_index";
65
- export type NodesAndAttributes = {
66
- nodes: string[];
67
- attrs: string[];
68
- };
62
+ export declare function transformAttrs(nodeObj: any, attrs: string[], platform: string): string[];
69
63
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,2CALW,MAAM,YACN,MAAM,+BACN;IAAC,QAAQ,CAAC,MAAS;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAC,GACzC,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAC,CAAC,CAehE;AAsBD;;;;;GAKG;AACH,+CAJW,GAAG,YACH,MAAM,GACJ,MAAM,OAAC,CAInB;AAED;;;;;GAKG;AACH,+CAJW,MAAM,YACN,MAAM,GACJ,MAAM,OAAC,CAInB;AAED;;;;;;GAMG;AACH,uCALW,GAAG,YACH,MAAM,0CACN;IAAC,QAAQ,CAAC,MAAS;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,GAC9D,kBAAkB,CA4C9B;AAED;;;;;;;GAOG;AACH,6CANW,GAAG,kBACH,MAAM,EAAE,YACR,MAAM,0CACN;IAAC,QAAQ,CAAC,MAAS;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,GAC9D,kBAAkB,CAyC9B;AAED;;;;;;GAMG;AACH,wCALW,GAAG,SACH,MAAM,EAAE,YACR,MAAM,GACJ,MAAM,EAAE,CAsBpB;AApMD,0BAA2B,IAAI,CAAC;AAChC,4CAAyD;AACzD,mCAAgD;iCAyNnC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../lib/source.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EAGrB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,eAAe,gBAA4B,CAAC;AACzD,eAAO,MAAM,UAAU,YAAwB,CAAC;AAKhD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,EAAC,QAAkC,EAAE,YAAoB,EAAC,GAAE,yBAA8B,GACzF,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAC,CAAC,CAatD;AA2BD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEtF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEtF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,MAAM,EAChB,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAC,EAAE,oBAAoB,GACzD,kBAAkB,CA6CpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,MAAM,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAC,EAAE,oBAAoB,GACzD,kBAAkB,CA+CpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBxF"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -11,41 +44,46 @@ exports.transformNode = transformNode;
11
44
  exports.transformChildNodes = transformChildNodes;
12
45
  exports.transformAttrs = transformAttrs;
13
46
  const lodash_1 = __importDefault(require("lodash"));
47
+ const fast_xml_parser_1 = require("fast-xml-parser");
14
48
  const node_map_1 = __importDefault(require("./node-map"));
15
49
  const attr_map_1 = require("./attr-map");
16
- const transformers_1 = __importDefault(require("./transformers"));
50
+ const TRANSFORMS = __importStar(require("./transformers"));
17
51
  exports.ATTR_PREFIX = '@_';
18
52
  exports.IDX_PATH_PREFIX = `${exports.ATTR_PREFIX}indexPath`;
19
53
  exports.IDX_PREFIX = `${exports.ATTR_PREFIX}index`;
20
- const isAttr = (/** @type {string} */ k) => k.startsWith(exports.ATTR_PREFIX);
21
- const isNode = (/** @type {string} */ k) => !isAttr(k);
54
+ const isAttr = (k) => k.startsWith(exports.ATTR_PREFIX);
55
+ const isNode = (k) => !isAttr(k);
22
56
  /**
57
+ * Transforms source XML to universal format
23
58
  *
24
- * @param {string} xmlStr
25
- * @param {string} platform
26
- * @param {{metadata?: Object, addIndexPath?: boolean}} opts
27
- * @returns {Promise<{xml: string, unknowns: NodesAndAttributes}>}
59
+ * @param xmlStr - The XML string to transform
60
+ * @param platform - The platform name ('ios' or 'android')
61
+ * @param opts - Transformation options
62
+ * @param opts.metadata - Optional metadata object
63
+ * @param opts.addIndexPath - Whether to add index path attributes
64
+ * @returns Promise resolving to transformed XML and unknown nodes/attributes
28
65
  */
29
66
  async function transformSourceXml(xmlStr, platform, { metadata = {}, addIndexPath = false } = {}) {
30
67
  // first thing we want to do is modify the ios source root node, because it doesn't include the
31
68
  // necessary index attribute, so we add it if it's not there
32
69
  xmlStr = xmlStr.replace('<AppiumAUT>', '<AppiumAUT index="0">');
33
- const xmlObj = (await singletonXmlParser()).parse(xmlStr);
70
+ const xmlObj = singletonXmlParser().parse(xmlStr);
34
71
  const unknowns = transformNode(xmlObj, platform, {
35
72
  metadata,
36
73
  addIndexPath,
37
74
  parentPath: '',
38
75
  });
39
- let transformedXml = (await singletonXmlBuilder()).build(xmlObj).trim();
76
+ let transformedXml = singletonXmlBuilder().build(xmlObj).trim();
40
77
  transformedXml = `<?xml version="1.0" encoding="UTF-8"?>\n${transformedXml}`;
41
78
  return { xml: transformedXml, unknowns };
42
79
  }
43
80
  /**
81
+ * Gets the universal name for a platform-specific name from a name map
44
82
  *
45
- * @param {Object} nameMap
46
- * @param {string} name
47
- * @param {string} platform
48
- * @returns {string | null}
83
+ * @param nameMap - The name mapping object
84
+ * @param name - The platform-specific name
85
+ * @param platform - The platform name
86
+ * @returns The universal name or null if not found
49
87
  */
50
88
  function getUniversalName(nameMap, name, platform) {
51
89
  for (const translatedName of Object.keys(nameMap)) {
@@ -60,29 +98,32 @@ function getUniversalName(nameMap, name, platform) {
60
98
  return null;
61
99
  }
62
100
  /**
101
+ * Gets the universal node name for a platform-specific node name
63
102
  *
64
- * @param {any} nodeName
65
- * @param {string} platform
66
- * @returns {string?}
103
+ * @param nodeName - The platform-specific node name
104
+ * @param platform - The platform name
105
+ * @returns The universal node name or null if not found
67
106
  */
68
107
  function getUniversalNodeName(nodeName, platform) {
69
108
  return getUniversalName(node_map_1.default, nodeName, platform);
70
109
  }
71
110
  /**
111
+ * Gets the universal attribute name for a platform-specific attribute name
72
112
  *
73
- * @param {string} attrName
74
- * @param {string} platform
75
- * @returns {string?}
113
+ * @param attrName - The platform-specific attribute name
114
+ * @param platform - The platform name
115
+ * @returns The universal attribute name or null if not found
76
116
  */
77
117
  function getUniversalAttrName(attrName, platform) {
78
118
  return getUniversalName(attr_map_1.ATTR_MAP, attrName, platform);
79
119
  }
80
120
  /**
121
+ * Transforms a node object recursively
81
122
  *
82
- * @param {any} nodeObj
83
- * @param {string} platform
84
- * @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
85
- * @returns {NodesAndAttributes}
123
+ * @param nodeObj - The node object to transform
124
+ * @param platform - The platform name
125
+ * @param opts - Transformation options
126
+ * @returns Object containing unknown nodes and attributes
86
127
  */
87
128
  function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }) {
88
129
  const unknownNodes = [];
@@ -91,15 +132,18 @@ function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }
91
132
  const keys = Object.keys(nodeObj);
92
133
  const childNodeNames = keys.filter(isNode);
93
134
  const attrs = keys.filter(isAttr);
94
- let thisIndexPath = parentPath;
135
+ let thisIndexPath = parentPath || '';
95
136
  if (attrs.length && addIndexPath) {
96
137
  if (!attrs.includes(exports.IDX_PREFIX)) {
97
138
  throw new Error(`Index path is required but node found with no 'index' attribute`);
98
139
  }
99
- thisIndexPath = `${parentPath}/${nodeObj[exports.IDX_PREFIX]}`;
140
+ thisIndexPath = `${parentPath || ''}/${nodeObj[exports.IDX_PREFIX]}`;
100
141
  nodeObj[exports.IDX_PATH_PREFIX] = thisIndexPath;
101
142
  }
102
- transformers_1.default[platform]?.(nodeObj, metadata);
143
+ const transformFn = TRANSFORMS[platform];
144
+ if (transformFn) {
145
+ transformFn(nodeObj, metadata || {});
146
+ }
103
147
  unknownAttrs.push(...transformAttrs(nodeObj, attrs, platform));
104
148
  const unknowns = transformChildNodes(nodeObj, childNodeNames, platform, {
105
149
  metadata,
@@ -114,7 +158,7 @@ function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }
114
158
  const { nodes, attrs } = transformNode(childObj, platform, {
115
159
  metadata,
116
160
  addIndexPath,
117
- parentPath,
161
+ parentPath: parentPath || '',
118
162
  });
119
163
  unknownNodes.push(...nodes);
120
164
  unknownAttrs.push(...attrs);
@@ -126,12 +170,13 @@ function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }
126
170
  };
127
171
  }
128
172
  /**
173
+ * Transforms child nodes of a node object
129
174
  *
130
- * @param {any} nodeObj
131
- * @param {string[]} childNodeNames
132
- * @param {string} platform
133
- * @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
134
- * @returns {NodesAndAttributes}
175
+ * @param nodeObj - The node object containing child nodes
176
+ * @param childNodeNames - Array of child node names
177
+ * @param platform - The platform name
178
+ * @param opts - Transformation options
179
+ * @returns Object containing unknown nodes and attributes
135
180
  */
136
181
  function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addIndexPath, parentPath }) {
137
182
  const unknownNodes = [];
@@ -141,7 +186,7 @@ function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addI
141
186
  const { nodes, attrs } = transformNode(nodeObj[nodeName], platform, {
142
187
  metadata,
143
188
  addIndexPath,
144
- parentPath,
189
+ parentPath: parentPath || '',
145
190
  });
146
191
  unknownNodes.push(...nodes);
147
192
  unknownAttrs.push(...attrs);
@@ -158,7 +203,23 @@ function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addI
158
203
  // if we already have a node with the universal name, that means we are mapping a second
159
204
  // original node name to the same universal node name, so we just push all its children into
160
205
  // the list
161
- nodeObj[universalName].push(...nodeObj[nodeName]);
206
+ if (lodash_1.default.isArray(nodeObj[universalName])) {
207
+ if (lodash_1.default.isArray(nodeObj[nodeName])) {
208
+ nodeObj[universalName].push(...nodeObj[nodeName]);
209
+ }
210
+ else {
211
+ nodeObj[universalName].push(nodeObj[nodeName]);
212
+ }
213
+ }
214
+ else {
215
+ nodeObj[universalName] = [nodeObj[universalName]];
216
+ if (lodash_1.default.isArray(nodeObj[nodeName])) {
217
+ nodeObj[universalName].push(...nodeObj[nodeName]);
218
+ }
219
+ else {
220
+ nodeObj[universalName].push(nodeObj[nodeName]);
221
+ }
222
+ }
162
223
  }
163
224
  else {
164
225
  nodeObj[universalName] = nodeObj[nodeName];
@@ -168,11 +229,12 @@ function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addI
168
229
  return { nodes: unknownNodes, attrs: unknownAttrs };
169
230
  }
170
231
  /**
232
+ * Transforms attributes of a node object
171
233
  *
172
- * @param {any} nodeObj
173
- * @param {string[]} attrs
174
- * @param {string} platform
175
- * @returns {string[]}
234
+ * @param nodeObj - The node object containing attributes
235
+ * @param attrs - Array of attribute keys
236
+ * @param platform - The platform name
237
+ * @returns Array of unknown attribute names
176
238
  */
177
239
  function transformAttrs(nodeObj, attrs, platform) {
178
240
  const unknownAttrs = [];
@@ -195,25 +257,20 @@ function transformAttrs(nodeObj, attrs, platform) {
195
257
  }
196
258
  return unknownAttrs;
197
259
  }
198
- const singletonXmlBuilder = lodash_1.default.memoize(async function makeXmlBuilder() {
199
- const { XMLBuilder } = await import('fast-xml-parser');
200
- return new XMLBuilder({
260
+ const singletonXmlBuilder = lodash_1.default.memoize(function makeXmlBuilder() {
261
+ return new fast_xml_parser_1.XMLBuilder({
201
262
  ignoreAttributes: false,
202
263
  attributeNamePrefix: exports.ATTR_PREFIX,
203
264
  suppressBooleanAttributes: false,
204
265
  format: true,
205
266
  });
206
267
  });
207
- const singletonXmlParser = lodash_1.default.memoize(async function makeXmlParser() {
208
- const { XMLParser } = await import('fast-xml-parser');
209
- return new XMLParser({
268
+ const singletonXmlParser = lodash_1.default.memoize(function makeXmlParser() {
269
+ return new fast_xml_parser_1.XMLParser({
210
270
  ignoreAttributes: false,
211
271
  ignoreDeclaration: true,
212
272
  attributeNamePrefix: exports.ATTR_PREFIX,
213
273
  isArray: (name, jPath, isLeafNode, isAttribute) => !isAttribute,
214
274
  });
215
275
  });
216
- /**
217
- * @typedef {{nodes: string[], attrs: string[]}} NodesAndAttributes
218
- */
219
276
  //# sourceMappingURL=source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../lib/source.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
- declare namespace _default {
2
- export { ios };
3
- export { android };
4
- }
5
- export default _default;
6
- declare function ios(nodeObj: any): any;
7
- declare function android(nodeObj: any, metadata: any): void;
1
+ import type { TransformMetadata } from './types';
2
+ export declare function ios(_nodeObj: any): void;
3
+ export declare function android(nodeObj: any, metadata: TransformMetadata): void;
8
4
  //# sourceMappingURL=transformers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../lib/transformers.js"],"names":[],"mappings":";;;;;AAEA,wCAEC;AAED,4DAoBC"}
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../lib/transformers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAG/C,wBAAgB,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAEvC;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAoBvE"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ios = ios;
4
+ exports.android = android;
3
5
  const source_1 = require("./source");
4
- function ios(nodeObj /*, metadata*/) {
5
- return nodeObj;
6
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
+ function ios(_nodeObj) {
8
+ // iOS transformer does nothing
6
9
  }
7
10
  function android(nodeObj, metadata) {
8
11
  // strip android:id from front of id
@@ -16,16 +19,12 @@ function android(nodeObj, metadata) {
16
19
  .split(/\[|\]|,/)
17
20
  .filter((str) => str !== '');
18
21
  const [x, y, x2, y2] = boundsArray;
19
- const width = x2 - x;
20
- const height = y2 - y;
22
+ const width = parseInt(x2, 10) - parseInt(x, 10);
23
+ const height = parseInt(y2, 10) - parseInt(y, 10);
21
24
  nodeObj[`${source_1.ATTR_PREFIX}x`] = x;
22
25
  nodeObj[`${source_1.ATTR_PREFIX}y`] = y;
23
- nodeObj[`${source_1.ATTR_PREFIX}width`] = width;
24
- nodeObj[`${source_1.ATTR_PREFIX}height`] = height;
26
+ nodeObj[`${source_1.ATTR_PREFIX}width`] = width.toString();
27
+ nodeObj[`${source_1.ATTR_PREFIX}height`] = height.toString();
25
28
  }
26
29
  }
27
- exports.default = {
28
- ios,
29
- android,
30
- };
31
30
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../lib/transformers.js"],"names":[],"mappings":";;AAAA,qCAAqC;AAErC,SAAS,GAAG,CAAC,OAAO,CAAC,cAAc;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,OAAO,CAAC,OAAO,EAAE,QAAQ;IAChC,oCAAoC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,oBAAW,aAAa,CAAC,CAAC;IACnD,IAAI,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,oBAAW,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC;aAChD,KAAK,CAAC,SAAS,CAAC;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC;QACnC,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,oBAAW,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,oBAAW,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,oBAAW,OAAO,CAAC,GAAG,KAAK,CAAC;QACvC,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,kBAAe;IACb,GAAG;IACH,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../lib/transformers.ts"],"names":[],"mappings":";;AAIA,kBAEC;AAED,0BAoBC;AA5BD,qCAAqC;AAGrC,6DAA6D;AAC7D,SAAgB,GAAG,CAAC,QAAa;IAC/B,+BAA+B;AACjC,CAAC;AAED,SAAgB,OAAO,CAAC,OAAY,EAAE,QAA2B;IAC/D,oCAAoC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,oBAAW,aAAa,CAAC,CAAC;IACnD,IAAI,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,oBAAW,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC;aAChD,KAAK,CAAC,SAAS,CAAC;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,oBAAW,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,oBAAW,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,oBAAW,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ export interface NodesAndAttributes {
2
+ nodes: string[];
3
+ attrs: string[];
4
+ }
5
+ /**
6
+ * Metadata used for XML transformations
7
+ */
8
+ export interface TransformMetadata {
9
+ appPackage?: string;
10
+ [key: string]: any;
11
+ }
12
+ export interface TransformSourceXmlOptions {
13
+ metadata?: TransformMetadata;
14
+ addIndexPath?: boolean;
15
+ }
16
+ export interface TransformNodeOptions extends TransformSourceXmlOptions {
17
+ parentPath?: string;
18
+ }
19
+ /**
20
+ * Type for platform-specific name mappings
21
+ * Values can be a string or an array of strings (for many-to-one mappings)
22
+ */
23
+ export type PlatformNameMap = Record<string, string | readonly string[]>;
24
+ /**
25
+ * Type for universal name maps
26
+ * Keys are universal names, values are platform-specific mappings
27
+ */
28
+ export type UniversalNameMap = Record<string, Partial<PlatformNameMap>>;
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":""}
@@ -1,11 +1,20 @@
1
- export function runQuery(query: any, xmlStr: any): ((string | number | boolean | Node | Node[]) & (string | number | boolean | Node)) | null;
1
+ export declare function runQuery(query: string, xmlStr: string): any[];
2
2
  /**
3
+ * Transforms an XPath query to work with the original platform-specific XML
3
4
  *
4
- * @param {string} query
5
- * @param {string} xmlStr
6
- * @param {boolean} multiple
7
- * @returns {string|null}
5
+ * @param query - The XPath query to transform
6
+ * @param xmlStr - The transformed XML string
7
+ * @param multiple - Whether to return multiple matches
8
+ * @returns The transformed query string or null if no matches found
8
9
  */
9
- export function transformQuery(query: string, xmlStr: string, multiple: boolean): string | null;
10
- export function getNodeAttrVal(node: any, attr: any): any;
10
+ export declare function transformQuery(query: string, xmlStr: string, multiple: boolean): string | null;
11
+ /**
12
+ * Gets the value of a node attribute
13
+ *
14
+ * @param node - The XML node
15
+ * @param attr - The attribute name
16
+ * @returns The attribute value
17
+ * @throws {Error} If the attribute doesn't exist
18
+ */
19
+ export declare function getNodeAttrVal(node: any, attr: string): string;
11
20
  //# sourceMappingURL=xpath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xpath.d.ts","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":"AAIA,6IAMC;AAED;;;;;;GAMG;AACH,sCALW,MAAM,UACN,MAAM,YACN,OAAO,GACL,MAAM,GAAC,IAAI,CAkCvB;AAED,0DAMC"}
1
+ {"version":3,"file":"xpath.d.ts","sourceRoot":"","sources":["../../lib/xpath.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAM7D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA2B9F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9D"}
@@ -17,11 +17,12 @@ function runQuery(query, xmlStr) {
17
17
  return nodes;
18
18
  }
19
19
  /**
20
+ * Transforms an XPath query to work with the original platform-specific XML
20
21
  *
21
- * @param {string} query
22
- * @param {string} xmlStr
23
- * @param {boolean} multiple
24
- * @returns {string|null}
22
+ * @param query - The XPath query to transform
23
+ * @param xmlStr - The transformed XML string
24
+ * @param multiple - Whether to return multiple matches
25
+ * @returns The transformed query string or null if no matches found
25
26
  */
26
27
  function transformQuery(query, xmlStr, multiple) {
27
28
  const nodes = runQuery(query, xmlStr);
@@ -31,9 +32,9 @@ function transformQuery(query, xmlStr, multiple) {
31
32
  const newQueries = nodes.map((node) => {
32
33
  const indexPath = getNodeAttrVal(node, 'indexPath');
33
34
  // at this point indexPath will look like /0/0/1/1/0/1/0/2
34
- let newQuery = indexPath
35
+ const newQuery = indexPath
35
36
  .substring(1) // remove leading / so we can split
36
- .split('/') // split into idnexes
37
+ .split('/') // split into indexes
37
38
  .map((indexStr) => {
38
39
  // map to xpath node indexes (1-based)
39
40
  const xpathIndex = parseInt(indexStr, 10) + 1;
@@ -43,19 +44,21 @@ function transformQuery(query, xmlStr, multiple) {
43
44
  // now to make this a valid xpath from the root, prepend the / we removed earlier
44
45
  return `/${newQuery}`;
45
46
  });
46
- let newSelector = null;
47
- if (newQueries.length) {
48
- if (multiple) {
49
- newSelector = newQueries.join(' | ');
50
- }
51
- else {
52
- newSelector = newQueries[0];
53
- }
47
+ if (newQueries.length === 0) {
48
+ return null;
54
49
  }
55
- return newSelector;
50
+ return multiple ? newQueries.join(' | ') : newQueries[0];
56
51
  }
52
+ /**
53
+ * Gets the value of a node attribute
54
+ *
55
+ * @param node - The XML node
56
+ * @param attr - The attribute name
57
+ * @returns The attribute value
58
+ * @throws {Error} If the attribute doesn't exist
59
+ */
57
60
  function getNodeAttrVal(node, attr) {
58
- const attrObjs = Object.values(node.attributes).filter((obj) => obj.name === attr);
61
+ const attrObjs = Object.values(node.attributes || {}).filter((obj) => obj.name === attr);
59
62
  if (!attrObjs.length) {
60
63
  throw new Error(`Tried to retrieve a node attribute '${attr}' but the node didn't have it`);
61
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":";;;;;AAIA,4BAMC;AASD,wCAgCC;AAED,wCAMC;AA3DD,iCAA2C;AAC3C,2CAAoD;AACpD,oDAAuB;AAEvB,SAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACpC,MAAM,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAS,CAAC,QAAQ,CAAC,CAAC;IACxE,2DAA2D;IAC3D,8CAA8C;IAC9C,MAAM,KAAK,GAAG,IAAA,cAAU,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,0DAA0D;QAC1D,IAAI,QAAQ,GAAG,SAAS;aACrB,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAmC;aAChD,KAAK,CAAC,GAAG,CAAC,CAAC,qBAAqB;aAChC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,sCAAsC;YACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,UAAU,GAAG,CAAC;QAC5B,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAE1B,iFAAiF;QACjF,OAAO,IAAI,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,cAAc,CAAC,IAAI,EAAE,IAAI;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,+BAA+B,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../lib/xpath.ts"],"names":[],"mappings":";;;;;AAIA,4BAMC;AAUD,wCA2BC;AAUD,wCAMC;AA/DD,iCAA2C;AAC3C,2CAAoD;AACpD,oDAAuB;AAEvB,SAAgB,QAAQ,CAAC,KAAa,EAAE,MAAc;IACpD,MAAM,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAS,CAAC,QAAQ,CAAC,CAAC;IACxE,2DAA2D;IAC3D,8CAA8C;IAC9C,MAAM,KAAK,GAAG,IAAA,cAAU,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAc,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,QAAiB;IAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,SAAS;aACvB,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAmC;aAChD,KAAK,CAAC,GAAG,CAAC,CAAC,qBAAqB;aAChC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,sCAAsC;YACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,UAAU,GAAG,CAAC;QAC5B,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAE1B,iFAAiF;QACjF,OAAO,IAAI,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,IAAS,EAAE,IAAY;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9F,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,+BAA+B,CAAC,CAAC;IAC9F,CAAC;IACD,OAAQ,QAAQ,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC;AACpC,CAAC"}