@appium/universal-xml-plugin 1.0.2 → 1.0.4

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 (71) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +1 -1
  3. package/build/lib/attr-map.d.ts +58 -0
  4. package/build/lib/attr-map.d.ts.map +1 -0
  5. package/build/lib/attr-map.js +1 -1
  6. package/build/lib/attr-map.js.map +1 -0
  7. package/build/lib/index.d.ts +5 -0
  8. package/build/lib/index.d.ts.map +1 -0
  9. package/build/lib/index.js +26 -0
  10. package/build/lib/index.js.map +1 -0
  11. package/build/lib/logger.d.ts +3 -0
  12. package/build/lib/logger.d.ts.map +1 -0
  13. package/build/lib/logger.js +2 -2
  14. package/build/lib/logger.js.map +1 -0
  15. package/build/lib/node-map.d.ts +200 -0
  16. package/build/lib/node-map.d.ts.map +1 -0
  17. package/build/lib/node-map.js +15 -57
  18. package/build/lib/node-map.js.map +1 -0
  19. package/build/lib/plugin.d.ts +8 -0
  20. package/build/lib/plugin.d.ts.map +1 -0
  21. package/build/lib/plugin.js +64 -73
  22. package/build/lib/plugin.js.map +1 -0
  23. package/build/lib/source.d.ts +24 -0
  24. package/build/lib/source.d.ts.map +1 -0
  25. package/build/lib/source.js +24 -10
  26. package/build/lib/source.js.map +1 -0
  27. package/build/lib/transformers.d.ts +8 -0
  28. package/build/lib/transformers.d.ts.map +1 -0
  29. package/build/lib/transformers.js +1 -1
  30. package/build/lib/transformers.js.map +1 -0
  31. package/build/lib/xpath.d.ts +4 -0
  32. package/build/lib/xpath.d.ts.map +1 -0
  33. package/build/lib/xpath.js +3 -2
  34. package/build/lib/xpath.js.map +1 -0
  35. package/build/tsconfig.tsbuildinfo +1 -0
  36. package/index.js +3 -17
  37. package/lib/attr-map.js +1 -1
  38. package/lib/index.js +19 -0
  39. package/lib/logger.js +1 -1
  40. package/lib/node-map.js +14 -58
  41. package/lib/plugin.js +36 -25
  42. package/lib/source.js +30 -13
  43. package/lib/transformers.js +3 -3
  44. package/lib/xpath.js +7 -6
  45. package/package.json +48 -23
  46. package/tsconfig.json +3 -11
  47. package/build/index.js +0 -25
  48. package/build/test/fixtures/android-transformed-path.xml +0 -39
  49. package/build/test/fixtures/android-transformed.xml +0 -39
  50. package/build/test/fixtures/android.xml +0 -39
  51. package/build/test/fixtures/index.js +0 -25
  52. package/build/test/fixtures/ios-edge.xml +0 -16
  53. package/build/test/fixtures/ios-transformed-edge.xml +0 -16
  54. package/build/test/fixtures/ios-transformed-path.xml +0 -54
  55. package/build/test/fixtures/ios-transformed.xml +0 -54
  56. package/build/test/fixtures/ios.xml +0 -51
  57. package/build/test/unit/plugin-specs.js +0 -76
  58. package/build/test/unit/source-specs.js +0 -82
  59. package/build/test/unit/xpath-specs.js +0 -46
  60. package/test/fixtures/android-transformed-path.xml +0 -39
  61. package/test/fixtures/android-transformed.xml +0 -39
  62. package/test/fixtures/android.xml +0 -39
  63. package/test/fixtures/index.js +0 -14
  64. package/test/fixtures/ios-edge.xml +0 -16
  65. package/test/fixtures/ios-transformed-edge.xml +0 -16
  66. package/test/fixtures/ios-transformed-path.xml +0 -54
  67. package/test/fixtures/ios-transformed.xml +0 -54
  68. package/test/fixtures/ios.xml +0 -51
  69. package/test/unit/plugin-specs.js +0 -57
  70. package/test/unit/source-specs.js +0 -79
  71. package/test/unit/xpath-specs.js +0 -43
@@ -1,95 +1,86 @@
1
1
  "use strict";
2
2
  /* eslint-disable no-case-declarations */
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
13
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
5
  };
15
6
  Object.defineProperty(exports, "__esModule", { value: true });
16
7
  exports.UniversalXMLPlugin = void 0;
17
- const base_plugin_1 = __importDefault(require("@appium/base-plugin"));
18
- const base_driver_1 = require("@appium/base-driver");
8
+ const plugin_1 = __importDefault(require("appium/plugin"));
9
+ const driver_1 = require("appium/driver");
19
10
  const source_1 = require("./source");
20
11
  const xpath_1 = require("./xpath");
21
12
  const logger_1 = __importDefault(require("./logger"));
22
- class UniversalXMLPlugin extends base_plugin_1.default {
13
+ class UniversalXMLPlugin extends plugin_1.default {
23
14
  constructor() {
24
15
  super(...arguments);
25
- this.commands = ['getPageSource', 'findElement', 'findElements', 'findElementFromElement',
26
- 'findElementsFromElement'];
16
+ this.commands = [
17
+ 'getPageSource',
18
+ 'findElement',
19
+ 'findElements',
20
+ 'findElementFromElement',
21
+ 'findElementsFromElement',
22
+ ];
27
23
  }
28
- getPageSource(next, driver, sessId, addIndexPath = false) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const source = next ? yield next() : yield driver.getPageSource();
31
- const metadata = {};
32
- const { platformName } = driver.caps;
33
- if (platformName.toLowerCase() === 'android') {
34
- metadata.appPackage = driver.opts.appPackage;
35
- }
36
- const { xml, unknowns } = (0, source_1.transformSourceXml)(source, platformName.toLowerCase(), { metadata, addIndexPath });
37
- if (unknowns.nodes.length) {
38
- logger_1.default.warn(`The XML mapper found ${unknowns.nodes.length} node(s) / ` +
39
- `tag name(s) that it didn't know about. These should be ` +
40
- `reported to improve the quality of the plugin: ` +
41
- unknowns.nodes.join(', '));
42
- }
43
- if (unknowns.attrs.length) {
44
- logger_1.default.warn(`The XML mapper found ${unknowns.attrs.length} attributes ` +
45
- `that it didn't know about. These should be reported to ` +
46
- `improve the quality of the plugin: ` +
47
- unknowns.attrs.join(', '));
48
- }
49
- return xml;
24
+ async getPageSource(next, driver, sessId, addIndexPath = false) {
25
+ const source = next ? await next() : await driver.getPageSource();
26
+ const metadata = {};
27
+ const { platformName } = driver.caps;
28
+ if (platformName.toLowerCase() === 'android') {
29
+ metadata.appPackage = driver.opts.appPackage;
30
+ }
31
+ const { xml, unknowns } = (0, source_1.transformSourceXml)(source, platformName.toLowerCase(), {
32
+ metadata,
33
+ addIndexPath,
50
34
  });
35
+ if (unknowns.nodes.length) {
36
+ logger_1.default.warn(`The XML mapper found ${unknowns.nodes.length} node(s) / ` +
37
+ `tag name(s) that it didn't know about. These should be ` +
38
+ `reported to improve the quality of the plugin: ` +
39
+ unknowns.nodes.join(', '));
40
+ }
41
+ if (unknowns.attrs.length) {
42
+ logger_1.default.warn(`The XML mapper found ${unknowns.attrs.length} attributes ` +
43
+ `that it didn't know about. These should be reported to ` +
44
+ `improve the quality of the plugin: ` +
45
+ unknowns.attrs.join(', '));
46
+ }
47
+ return xml;
51
48
  }
52
- findElement(...args) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- return yield this._find(false, ...args);
55
- });
49
+ async findElement(...args) {
50
+ return await this._find(false, ...args);
56
51
  }
57
- findElements(...args) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- return yield this._find(true, ...args);
60
- });
52
+ async findElements(...args) {
53
+ return await this._find(true, ...args);
61
54
  }
62
- _find(multiple, next, driver, strategy, selector) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- const { platformName } = driver.caps;
65
- if (strategy.toLowerCase() !== 'xpath') {
66
- return yield next();
67
- }
68
- const xml = yield this.getPageSource(null, driver, null, true);
69
- let newSelector = (0, xpath_1.transformQuery)(selector, xml, multiple);
70
- // if the selector was not able to be transformed, that means no elements were found that
71
- // matched, so do the appropriate thing based on element vs elements
72
- if (newSelector === null) {
73
- logger_1.default.warn(`Selector was not able to be translated to underlying XML. Either the requested ` +
74
- `element does not exist or there was an error in translation`);
75
- if (multiple) {
76
- return [];
77
- }
78
- throw new base_driver_1.errors.NoSuchElementError();
55
+ async _find(multiple, next, driver, strategy, selector) {
56
+ const { platformName } = driver.caps;
57
+ if (strategy.toLowerCase() !== 'xpath') {
58
+ return await next();
59
+ }
60
+ const xml = await this.getPageSource(null, driver, null, true);
61
+ let newSelector = (0, xpath_1.transformQuery)(selector, xml, multiple);
62
+ // if the selector was not able to be transformed, that means no elements were found that
63
+ // matched, so do the appropriate thing based on element vs elements
64
+ if (newSelector === null) {
65
+ logger_1.default.warn(`Selector was not able to be translated to underlying XML. Either the requested ` +
66
+ `element does not exist or there was an error in translation`);
67
+ if (multiple) {
68
+ return [];
79
69
  }
80
- if (platformName.toLowerCase() === 'ios') {
81
- // with the XCUITest driver, the <AppiumAUT> wrapper element is present in the source but is
82
- // not present in the source considered by WDA, so our index path based xpath queries will
83
- // not work with WDA as-is. We need to remove the first path segment.
84
- newSelector = newSelector.replace(/^\/\*\[1\]/, '');
85
- }
86
- logger_1.default.info(`Selector was translated to: ${newSelector}`);
87
- // otherwise just run the transformed query!
88
- const finder = multiple ? 'findElements' : 'findElement';
89
- return yield driver[finder](strategy, newSelector);
90
- });
70
+ throw new driver_1.errors.NoSuchElementError();
71
+ }
72
+ if (platformName.toLowerCase() === 'ios') {
73
+ // with the XCUITest driver, the <AppiumAUT> wrapper element is present in the source but is
74
+ // not present in the source considered by WDA, so our index path based xpath queries will
75
+ // not work with WDA as-is. We need to remove the first path segment.
76
+ newSelector = newSelector.replace(/^\/\*\[1\]/, '');
77
+ }
78
+ logger_1.default.info(`Selector was translated to: ${newSelector}`);
79
+ // otherwise just run the transformed query!
80
+ const finder = multiple ? 'findElements' : 'findElement';
81
+ return await driver[finder](strategy, newSelector);
91
82
  }
92
83
  }
93
84
  exports.default = UniversalXMLPlugin;
94
85
  exports.UniversalXMLPlugin = UniversalXMLPlugin;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3BsdWdpbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUNBQXlDOzs7Ozs7Ozs7Ozs7Ozs7QUFFekMsc0VBQTZDO0FBQzdDLHFEQUE2QztBQUM3QyxxQ0FBOEM7QUFDOUMsbUNBQXlDO0FBQ3pDLHNEQUEyQjtBQUUzQixNQUFxQixrQkFBbUIsU0FBUSxxQkFBVTtJQUExRDs7UUFFRSxhQUFRLEdBQUcsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSx3QkFBd0I7WUFDbEYseUJBQXlCLENBQUMsQ0FBQztJQWtFL0IsQ0FBQztJQWhFTyxhQUFhLENBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxHQUFHLEtBQUs7O1lBQzdELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbEUsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ25DLElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsRUFBRTtnQkFDNUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM5QztZQUNELE1BQU0sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFDLEdBQUcsSUFBQSwyQkFBa0IsRUFBQyxNQUFNLEVBQy9DLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLGdCQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sYUFBYTtvQkFDMUQseURBQXlEO29CQUN6RCxpREFBaUQ7b0JBQ2pELFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDckM7WUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN6QixnQkFBRyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLGNBQWM7b0JBQzNELHlEQUF5RDtvQkFDekQscUNBQXFDO29CQUNyQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO0tBQUE7SUFFSyxXQUFXLENBQUUsR0FBRyxJQUFJOztZQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUUsR0FBRyxJQUFJOztZQUN6QixPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7SUFFSyxLQUFLLENBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVE7O1lBQ3JELE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ25DLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sRUFBRTtnQkFDdEMsT0FBTyxNQUFNLElBQUksRUFBRSxDQUFDO2FBQ3JCO1lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9ELElBQUksV0FBVyxHQUFHLElBQUEsc0JBQWMsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRTFELHlGQUF5RjtZQUN6RixvRUFBb0U7WUFDcEUsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUN4QixnQkFBRyxDQUFDLElBQUksQ0FBQyxpRkFBaUY7b0JBQ2pGLDZEQUE2RCxDQUFDLENBQUM7Z0JBQ3hFLElBQUksUUFBUSxFQUFFO29CQUNaLE9BQU8sRUFBRSxDQUFDO2lCQUNYO2dCQUNELE1BQU0sSUFBSSxvQkFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDdkM7WUFFRCxJQUFJLFlBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLEVBQUU7Z0JBQ3hDLDRGQUE0RjtnQkFDNUYsMEZBQTBGO2dCQUMxRixxRUFBcUU7Z0JBQ3JFLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNyRDtZQUNELGdCQUFHLENBQUMsSUFBSSxDQUFDLCtCQUErQixXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBRXZELDRDQUE0QztZQUM1QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3pELE9BQU8sTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELENBQUM7S0FBQTtDQUVGO0FBckVELHFDQXFFQztBQUVRLGdEQUFrQiJ9
86
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export function transformSourceXml(xmlStr: any, platform: any, { metadata, addIndexPath }?: {
2
+ metadata?: {} | undefined;
3
+ addIndexPath?: boolean | undefined;
4
+ }): {
5
+ xml: any;
6
+ unknowns: any;
7
+ };
8
+ export function getUniversalNodeName(nodeName: any, platform: any): string | null;
9
+ export function getUniversalAttrName(attrName: any, platform: any): string | null;
10
+ export function transformNode(nodeObj: any, platform: any, { metadata, addIndexPath, parentPath }: {
11
+ metadata: any;
12
+ addIndexPath: any;
13
+ parentPath: any;
14
+ }): any;
15
+ export function transformChildNodes(nodeObj: any, childNodeNames: any, platform: any, { metadata, addIndexPath, parentPath }: {
16
+ metadata: any;
17
+ addIndexPath: any;
18
+ parentPath: any;
19
+ }): any;
20
+ export function transformAttrs(nodeObj: any, attrs: any, platform: any): any[];
21
+ export const ATTR_PREFIX: "@_";
22
+ export const IDX_PATH_PREFIX: string;
23
+ export const IDX_PREFIX: string;
24
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"AAwBA;;;;;;EAcC;AAeD,kFAEC;AAED,kFAEC;AAED;;;;QA0CC;AAED;;;;QAuCC;AAED,+EAoBC;AArJD,+BAAgC;AAChC,qCAAyD;AACzD,gCAAgD"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -47,7 +51,11 @@ function transformSourceXml(xmlStr, platform, { metadata = {}, addIndexPath = fa
47
51
  // necessary index attribute, so we add it if it's not there
48
52
  xmlStr = xmlStr.replace('<AppiumAUT>', '<AppiumAUT index="0">');
49
53
  const xmlObj = fast_xml_parser_1.default.parse(xmlStr, PARSE_OPTS);
50
- const unknowns = transformNode(xmlObj, platform, { metadata, addIndexPath, parentPath: '' });
54
+ const unknowns = transformNode(xmlObj, platform, {
55
+ metadata,
56
+ addIndexPath,
57
+ parentPath: '',
58
+ });
51
59
  const jParser = new fast_xml_parser_1.j2xParser(GEN_OPTS);
52
60
  let transformedXml = jParser.parse(xmlObj).trim();
53
61
  transformedXml = `<?xml version="1.0" encoding="UTF-8"?>\n${transformedXml}`;
@@ -55,9 +63,8 @@ function transformSourceXml(xmlStr, platform, { metadata = {}, addIndexPath = fa
55
63
  }
56
64
  exports.transformSourceXml = transformSourceXml;
57
65
  function getUniversalName(nameMap, name, platform) {
58
- var _a;
59
66
  for (const translatedName of Object.keys(nameMap)) {
60
- const sourceNodes = (_a = nameMap[translatedName]) === null || _a === void 0 ? void 0 : _a[platform];
67
+ const sourceNodes = nameMap[translatedName]?.[platform];
61
68
  if (lodash_1.default.isArray(sourceNodes) && sourceNodes.includes(name)) {
62
69
  return translatedName;
63
70
  }
@@ -76,7 +83,6 @@ function getUniversalAttrName(attrName, platform) {
76
83
  }
77
84
  exports.getUniversalAttrName = getUniversalAttrName;
78
85
  function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }) {
79
- var _a;
80
86
  const unknownNodes = [];
81
87
  const unknownAttrs = [];
82
88
  if (lodash_1.default.isPlainObject(nodeObj)) {
@@ -91,10 +97,12 @@ function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }
91
97
  thisIndexPath = `${parentPath}/${nodeObj[exports.IDX_PREFIX]}`;
92
98
  nodeObj[exports.IDX_PATH_PREFIX] = thisIndexPath;
93
99
  }
94
- (_a = transformers_1.default[platform]) === null || _a === void 0 ? void 0 : _a.call(transformers_1.default, nodeObj, metadata);
100
+ transformers_1.default[platform]?.(nodeObj, metadata);
95
101
  unknownAttrs.push(...transformAttrs(nodeObj, attrs, platform));
96
102
  const unknowns = transformChildNodes(nodeObj, childNodeNames, platform, {
97
- metadata, addIndexPath, parentPath: thisIndexPath
103
+ metadata,
104
+ addIndexPath,
105
+ parentPath: thisIndexPath,
98
106
  });
99
107
  unknownAttrs.push(...unknowns.attrs);
100
108
  unknownNodes.push(...unknowns.nodes);
@@ -102,7 +110,9 @@ function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }
102
110
  else if (lodash_1.default.isArray(nodeObj)) {
103
111
  for (const childObj of nodeObj) {
104
112
  const { nodes, attrs } = transformNode(childObj, platform, {
105
- metadata, addIndexPath, parentPath
113
+ metadata,
114
+ addIndexPath,
115
+ parentPath,
106
116
  });
107
117
  unknownNodes.push(...nodes);
108
118
  unknownAttrs.push(...attrs);
@@ -119,7 +129,11 @@ function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addI
119
129
  const unknownAttrs = [];
120
130
  for (const nodeName of childNodeNames) {
121
131
  // before modifying the name of this child node, recurse down and modify the subtree
122
- const { nodes, attrs } = transformNode(nodeObj[nodeName], platform, { metadata, addIndexPath, parentPath });
132
+ const { nodes, attrs } = transformNode(nodeObj[nodeName], platform, {
133
+ metadata,
134
+ addIndexPath,
135
+ parentPath,
136
+ });
123
137
  unknownNodes.push(...nodes);
124
138
  unknownAttrs.push(...attrs);
125
139
  // now translate the node name and replace the subtree with this node
@@ -167,4 +181,4 @@ function transformAttrs(nodeObj, attrs, platform) {
167
181
  return unknownAttrs;
168
182
  }
169
183
  exports.transformAttrs = transformAttrs;
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3NvdXJjZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQXVCO0FBQ3ZCLG1FQUFvRDtBQUNwRCwwREFBa0M7QUFDbEMseUNBQW9EO0FBQ3BELGtFQUF3QztBQUV4QyxNQUFNLFVBQVUsR0FBRztJQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRztJQUNmLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFFVyxRQUFBLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDbkIsUUFBQSxlQUFlLEdBQUcsR0FBRyxtQkFBVyxXQUFXLENBQUM7QUFDNUMsUUFBQSxVQUFVLEdBQUcsR0FBRyxtQkFBVyxPQUFPLENBQUM7QUFFaEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLG1CQUFXLENBQUM7QUFDeEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRWpDLFNBQWdCLGtCQUFrQixDQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBQyxRQUFRLEdBQUcsRUFBRSxFQUFFLFlBQVksR0FBRyxLQUFLLEVBQUMsR0FBRyxFQUFFO0lBQzlGLCtGQUErRjtJQUMvRiw0REFBNEQ7SUFDNUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcseUJBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQztJQUMzRixNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRCxjQUFjLEdBQUcsMkNBQTJDLGNBQWMsRUFBRSxDQUFDO0lBQzdFLE9BQU8sRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBQyxDQUFDO0FBQ3pDLENBQUM7QUFWRCxnREFVQztBQUVELFNBQVMsZ0JBQWdCLENBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFROztJQUNoRCxLQUFLLE1BQU0sY0FBYyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDakQsTUFBTSxXQUFXLEdBQUcsTUFBQSxPQUFPLENBQUMsY0FBYyxDQUFDLDBDQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksZ0JBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RCxPQUFPLGNBQWMsQ0FBQztTQUN2QjtRQUNELElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUN4QixPQUFPLGNBQWMsQ0FBQztTQUN2QjtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUUsUUFBUSxFQUFFLFFBQVE7SUFDdEQsT0FBTyxnQkFBZ0IsQ0FBQyxrQkFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsb0RBRUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBRSxRQUFRLEVBQUUsUUFBUTtJQUN0RCxPQUFPLGdCQUFnQixDQUFDLG1CQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFGRCxvREFFQztBQUVELFNBQWdCLGFBQWEsQ0FBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUM7O0lBQ3BGLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN4QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDeEIsSUFBSSxnQkFBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM1QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLGFBQWEsR0FBRyxVQUFVLENBQUM7UUFFL0IsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLFlBQVksRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxrQkFBVSxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsaUVBQWlFLENBQUMsQ0FBQzthQUNwRjtZQUVELGFBQWEsR0FBRyxHQUFHLFVBQVUsSUFBSSxPQUFPLENBQUMsa0JBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkQsT0FBTyxDQUFDLHVCQUFlLENBQUMsR0FBRyxhQUFhLENBQUM7U0FDMUM7UUFFRCxNQUFBLHNCQUFVLENBQUMsUUFBUSxDQUFDLCtDQUFwQixzQkFBVSxFQUFhLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRTtZQUN0RSxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhO1NBQ2xELENBQUMsQ0FBQztRQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN0QztTQUFNLElBQUksZ0JBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDN0IsS0FBSyxNQUFNLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDOUIsTUFBTSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRTtnQkFDdkQsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVO2FBQ25DLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDN0I7S0FDRjtJQUNELE9BQU87UUFDTCxLQUFLLEVBQUUsZ0JBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNCLEtBQUssRUFBRSxnQkFBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7S0FDNUIsQ0FBQztBQUNKLENBQUM7QUF0Q0Qsc0NBc0NDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBQztJQUMxRyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDeEIsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLEtBQUssTUFBTSxRQUFRLElBQUksY0FBYyxFQUFFO1FBQ3JDLG9GQUFvRjtRQUNwRixNQUFNLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO1FBQ3hHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFNUIscUVBQXFFO1FBQ3JFLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDMUIsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixTQUFTO1NBQ1Y7UUFFRCw0RkFBNEY7UUFDNUYsMkZBQTJGO1FBQzNGLG1GQUFtRjtRQUNuRixJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQix3RkFBd0Y7WUFDeEYsNEZBQTRGO1lBQzVGLFdBQVc7WUFDWCxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMxQjtJQUNELE9BQU8sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztBQUNwRCxDQUFDO0FBOUJELGtEQThCQztBQUVELFNBQWdCLGNBQWMsQ0FBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVE7SUFDdEQsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSx1QkFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixTQUFTO1NBQ1Y7UUFDRCxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsU0FBUztTQUNWO1FBQ0QsTUFBTSxPQUFPLEdBQUcsR0FBRyxtQkFBVyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQ2pELElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtZQUNwQixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO0tBQ0Y7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBcEJELHdDQW9CQyJ9
184
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
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;
8
+ //# sourceMappingURL=transformers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../lib/transformers.js"],"names":[],"mappings":";;;;;AAEA,wCAEC;AAED,4DAoBC"}
@@ -28,4 +28,4 @@ exports.default = {
28
28
  ios,
29
29
  android,
30
30
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3RyYW5zZm9ybWVycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFDQUF1QztBQUV2QyxTQUFTLEdBQUcsQ0FBRSxPQUFPLENBQUEsY0FBYztJQUNqQyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUUsT0FBTyxFQUFFLFFBQVE7SUFDakMsb0NBQW9DO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLG9CQUFXLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELElBQUksS0FBSyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDaEMsT0FBTyxDQUFDLEdBQUcsb0JBQVcsYUFBYSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztLQUN4RjtJQUVELHlDQUF5QztJQUN6QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLG9CQUFXLFFBQVEsQ0FBQyxFQUFFO1FBQ25DLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLG9CQUFXLFFBQVEsQ0FBQzthQUNoRCxLQUFLLENBQUMsU0FBUyxDQUFDO2FBQ2hCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxHQUFHLG9CQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixPQUFPLENBQUMsR0FBRyxvQkFBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsb0JBQVcsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLG9CQUFXLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQztLQUMxQztBQUNILENBQUM7QUFFRCxrQkFBZTtJQUNiLEdBQUc7SUFDSCxPQUFPO0NBQ1IsQ0FBQyJ9
31
+ //# sourceMappingURL=transformers.js.map
@@ -0,0 +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;QAChC,OAAO,CAAC,GAAG,oBAAW,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC;KACxF;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,oBAAW,QAAQ,CAAC,EAAE;QACnC,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;KAC1C;AACH,CAAC;AAED,kBAAe;IACb,GAAG;IACH,OAAO;CACR,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function runQuery(query: any, xmlStr: any): import("xpath").SelectedValue[];
2
+ export function transformQuery(query: any, xmlStr: any, multiple: any): string | null;
3
+ export function getNodeAttrVal(node: any, attr: any): any;
4
+ //# sourceMappingURL=xpath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpath.d.ts","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":"AAGA,mFAIC;AAED,sFA6BC;AAED,0DAMC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getNodeAttrVal = exports.transformQuery = exports.runQuery = void 0;
4
4
  const xpath_1 = require("xpath");
5
- const xmldom_1 = require("xmldom");
5
+ const xmldom_1 = require("@xmldom/xmldom");
6
6
  function runQuery(query, xmlStr) {
7
7
  const dom = new xmldom_1.DOMParser().parseFromString(xmlStr);
8
8
  const nodes = (0, xpath_1.select)(query, dom);
@@ -18,6 +18,7 @@ function transformQuery(query, xmlStr, multiple) {
18
18
  .substring(1) // remove leading / so we can split
19
19
  .split('/') // split into idnexes
20
20
  .map((indexStr) => {
21
+ // map to xpath node indexes (1-based)
21
22
  const xpathIndex = parseInt(indexStr, 10) + 1;
22
23
  return `*[${xpathIndex}]`;
23
24
  })
@@ -45,4 +46,4 @@ function getNodeAttrVal(node, attr) {
45
46
  return attrObjs[0].value;
46
47
  }
47
48
  exports.getNodeAttrVal = getNodeAttrVal;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIveHBhdGguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQTZDO0FBQzdDLG1DQUFtQztBQUVuQyxTQUFnQixRQUFRLENBQUUsS0FBSyxFQUFFLE1BQU07SUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQkFBUyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELE1BQU0sS0FBSyxHQUFHLElBQUEsY0FBVSxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFKRCw0QkFJQztBQUVELFNBQWdCLGNBQWMsQ0FBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVE7SUFDckQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRCwwREFBMEQ7UUFDMUQsSUFBSSxRQUFRLEdBQUcsU0FBUzthQUNyQixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DO2FBQ2hELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxxQkFBcUI7YUFDaEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUMsT0FBTyxLQUFLLFVBQVUsR0FBRyxDQUFDO1FBQzVCLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVk7UUFFMUIsaUZBQWlGO1FBQ2pGLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksV0FBVyxHQUFHLElBQUksQ0FBQztJQUN2QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7UUFDckIsSUFBSSxRQUFRLEVBQUU7WUFDWixXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3QjtLQUNGO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQTVCRCx3Q0E0QkM7QUFFRCxTQUFnQixjQUFjLENBQUUsSUFBSSxFQUFFLElBQUk7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ25GLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLElBQUksK0JBQStCLENBQUMsQ0FBQztLQUM3RjtJQUNELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDO0FBTkQsd0NBTUMifQ==
49
+ //# sourceMappingURL=xpath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":";;;AAAA,iCAA2C;AAC3C,2CAAyC;AAEzC,SAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACpC,MAAM,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAA,cAAU,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAJD,4BAIC;AAED,SAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEtC,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;QACrB,IAAI,QAAQ,EAAE;YACZ,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;aAAM;YACL,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7B;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AA7BD,wCA6BC;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;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,+BAA+B,CAAC,CAAC;KAC7F;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAND,wCAMC"}