appium-xcuitest-driver 7.2.0 → 7.3.1

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 (96) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/lib/app-utils.js.map +1 -1
  3. package/build/lib/commands/alert.js.map +1 -1
  4. package/build/lib/commands/app-management.d.ts +2 -2
  5. package/build/lib/commands/app-management.d.ts.map +1 -1
  6. package/build/lib/commands/app-management.js +4 -1
  7. package/build/lib/commands/app-management.js.map +1 -1
  8. package/build/lib/commands/appearance.js.map +1 -1
  9. package/build/lib/commands/certificate.js.map +1 -1
  10. package/build/lib/commands/condition.js.map +1 -1
  11. package/build/lib/commands/context.d.ts.map +1 -1
  12. package/build/lib/commands/context.js +41 -49
  13. package/build/lib/commands/context.js.map +1 -1
  14. package/build/lib/commands/deviceInfo.js.map +1 -1
  15. package/build/lib/commands/element.js.map +1 -1
  16. package/build/lib/commands/execute.js.map +1 -1
  17. package/build/lib/commands/file-movement.js.map +1 -1
  18. package/build/lib/commands/find.js.map +1 -1
  19. package/build/lib/commands/general.js.map +1 -1
  20. package/build/lib/commands/gesture.js.map +1 -1
  21. package/build/lib/commands/index.d.ts +2 -0
  22. package/build/lib/commands/index.d.ts.map +1 -1
  23. package/build/lib/commands/index.js +2 -0
  24. package/build/lib/commands/index.js.map +1 -1
  25. package/build/lib/commands/iohid.js.map +1 -1
  26. package/build/lib/commands/keyboard.js.map +1 -1
  27. package/build/lib/commands/localization.js.map +1 -1
  28. package/build/lib/commands/location.js.map +1 -1
  29. package/build/lib/commands/lock.js.map +1 -1
  30. package/build/lib/commands/log.js +1 -1
  31. package/build/lib/commands/log.js.map +1 -1
  32. package/build/lib/commands/memory.js.map +1 -1
  33. package/build/lib/commands/navigation.js.map +1 -1
  34. package/build/lib/commands/notifications.js.map +1 -1
  35. package/build/lib/commands/pasteboard.js.map +1 -1
  36. package/build/lib/commands/pcap.js.map +1 -1
  37. package/build/lib/commands/performance.js.map +1 -1
  38. package/build/lib/commands/permissions.js.map +1 -1
  39. package/build/lib/commands/proxy-helper.js.map +1 -1
  40. package/build/lib/commands/record-audio.js.map +1 -1
  41. package/build/lib/commands/recordscreen.js.map +1 -1
  42. package/build/lib/commands/screenshots.js.map +1 -1
  43. package/build/lib/commands/source.js.map +1 -1
  44. package/build/lib/commands/timeouts.js.map +1 -1
  45. package/build/lib/commands/web.js +7 -7
  46. package/build/lib/commands/web.js.map +1 -1
  47. package/build/lib/commands/xctest-record-screen.d.ts +94 -0
  48. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -0
  49. package/build/lib/commands/xctest-record-screen.js +193 -0
  50. package/build/lib/commands/xctest-record-screen.js.map +1 -0
  51. package/build/lib/commands/xctest.js.map +1 -1
  52. package/build/lib/cookies.js.map +1 -1
  53. package/build/lib/css-converter.js.map +1 -1
  54. package/build/lib/device-connections-factory.js.map +1 -1
  55. package/build/lib/device-log/ios-crash-log.js.map +1 -1
  56. package/build/lib/device-log/ios-device-log.js.map +1 -1
  57. package/build/lib/device-log/ios-log.js.map +1 -1
  58. package/build/lib/device-log/ios-performance-log.js.map +1 -1
  59. package/build/lib/device-log/ios-simulator-log.js.map +1 -1
  60. package/build/lib/device-log/rotating-log.d.ts +1 -1
  61. package/build/lib/device-log/rotating-log.d.ts.map +1 -1
  62. package/build/lib/device-log/rotating-log.js.map +1 -1
  63. package/build/lib/device-log/safari-console-log.js.map +1 -1
  64. package/build/lib/device-log/safari-network-log.js.map +1 -1
  65. package/build/lib/devicectl.d.ts +72 -0
  66. package/build/lib/devicectl.d.ts.map +1 -1
  67. package/build/lib/devicectl.js +72 -2
  68. package/build/lib/devicectl.js.map +1 -1
  69. package/build/lib/doctor/optional-checks.js.map +1 -1
  70. package/build/lib/doctor/required-checks.js.map +1 -1
  71. package/build/lib/doctor/utils.js.map +1 -1
  72. package/build/lib/driver.d.ts +20 -2
  73. package/build/lib/driver.d.ts.map +1 -1
  74. package/build/lib/driver.js +12 -6
  75. package/build/lib/driver.js.map +1 -1
  76. package/build/lib/execute-method-map.d.ts +15 -0
  77. package/build/lib/execute-method-map.d.ts.map +1 -1
  78. package/build/lib/execute-method-map.js +15 -0
  79. package/build/lib/execute-method-map.js.map +1 -1
  80. package/build/lib/ios-deploy.js.map +1 -1
  81. package/build/lib/ios-fs-helpers.js.map +1 -1
  82. package/build/lib/py-ios-device-client.js.map +1 -1
  83. package/build/lib/real-device-management.js.map +1 -1
  84. package/build/lib/simulator-management.js.map +1 -1
  85. package/build/lib/utils.js.map +1 -1
  86. package/build/lib/xcrun.js.map +1 -1
  87. package/lib/commands/app-management.js +4 -1
  88. package/lib/commands/context.js +40 -52
  89. package/lib/commands/index.js +2 -0
  90. package/lib/commands/log.js +1 -1
  91. package/lib/commands/xctest-record-screen.js +206 -0
  92. package/lib/devicectl.js +76 -1
  93. package/lib/driver.js +9 -2
  94. package/lib/execute-method-map.ts +15 -0
  95. package/npm-shrinkwrap.json +57 -50
  96. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"simulator-management.js","sourceRoot":"","sources":["../../lib/simulator-management.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulator-management.js","sourceRoot":"","sources":["../../lib/simulator-management.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":";;;;;;AAAA,yDAA4C;AAC5C,gEAAiC;AACjC,0CAAqC;AACrC,4CAA6C;AAC7C,wDAAyB;AACzB,oDAAuB;AACvB,sDAAyB;AACzB,0DAA6B;AAC7B,wDAA2B;AAC3B,oDAA4B;AAC5B,+CAAkC;AAClC,sFAA4D;AAC5D,sDAA2B;AAC3B,iDAAqE;AAExD,QAAA,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAC7C,MAAM,mBAAmB,GAAG,SAAS,CAAC;AA6epC,kDAAmB;AA5erB,MAAM,yBAAyB,GAAG;IAChC,wCAAwC;IACxC,wCAAwC;CACzC,CAAC;AACF,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AAE9D,KAAK,UAAU,UAAU;IACvB,gBAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,6BAAS,CAAC,mBAAmB,EAAE,CAAC;IACpD,IAAI,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,gBAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,gBAAG,CAAC,IAAI,CAAC,aAAa,IAAI,kEAAkE,CAAC,CAAC;KAC/F;IACD,gBAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAidC,gCAAU;AA/cZ;;;GAGG;AACH,KAAK,UAAU,uBAAuB;IACpC,2BAA2B;IAC3B,IAAI,OAAO,CAAC;IACZ,IAAI;QACF,OAAO,GAAG,2BAA2B,CAAC,CAAC,MAAM,sBAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KACtE;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KACtE;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,YAAY,GAAG,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG,SAAS,OAAO,CAAC,aAAa,4DAA4D,CAAC;QACvG,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;KACtB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AA2bC,0DAAuB;AAzbzB,KAAK,UAAU,wBAAwB;IACrC,IAAI;QACF,OAAO,MAAM,sBAAK,CAAC,YAAY,EAAE,CAAC;KACnC;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAG,CAAC,aAAa,CAAC,wCAAwC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AAobC,4DAAwB;AAlb1B;;;;;;;GAOG;AACH,SAAS,gCAAgC,CAAC,eAAe,EAAE,UAAU;IACnE,MAAM,iBAAiB,GAAG,gCAAoB,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;IAED,8EAA8E;IAC9E,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAC7C,cAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;QAC7F,IAAI,cAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE;YAC/E,MAAM;SACP;QACD,MAAM,GAAG,YAAY,CAAC;KACvB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,eAAe,EAAE,UAAU;IACtD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,UAAU,CAAC;KACnB;IACD,MAAM,oBAAoB,GAAG,gCAAgC,CAC3D,eAAe,EACf,GAAG,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CACrC,CAAC;IACF,IAAI,CAAC,oBAAoB,EAAE;QACzB,OAAO,UAAU,CAAC;KACnB;IAED,gBAAG,CAAC,KAAK,CAAC,6BAA6B,UAAU,SAAS,oBAAoB,GAAG,CAAC,CAAC;IACnF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AA6YC,kDAAmB;AA3YrB,KAAK,UAAU,SAAS,CAAC,SAAS;IAChC,gBAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAChC,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;YAChC,SAAS;SACV;QAED,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,IAAI,CAAC;YACT,IAAI;gBACF,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACrD,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;YAAC,OAAO,GAAG,EAAE,GAAE;YAChB,IAAI;gBACF,gBAAG,CAAC,KAAK,CAAC,aAAa,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,MAAM,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAC3B;YAAC,OAAO,GAAG,EAAE;gBACZ,gBAAG,CAAC,IAAI,CAAC,qBAAqB,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;aAC5D;QACH,CAAC,CAAC,EAAE,CACL,CAAC;KACH;IACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC/B,MAAM,kBAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC9B;IACD,gBAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC3C,CAAC;AAyXC,8BAAS;AAvXX,sDAAsD;AACtD,mDAAmD;AACnD,wCAAwC;AACxC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;AAE5C,KAAK,UAAU,yBAAyB,CAAC,GAAG;IAC1C,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,EAAE;QAClD,gBAAG,CAAC,IAAI,CACN,sFAAsF,CACvF,CAAC;QACF,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC3C,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxD;IACD,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AA6VC,8DAAyB;AA3V3B,KAAK,UAAU,gBAAgB,CAAC,GAAG;IACjC,uEAAuE;IACvE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,EAAE;QAClD,gBAAG,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QACtF,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC3C,IAAI,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,gBAAG,CAAC,IAAI,CACN,iBAAiB,QAAQ,sEAAsE,CAChG,CAAC;YACF,OAAO;SACR;KACF;IACD,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE3C,kGAAkG;IAClG,MAAM,WAAW,GAAG,GAAG,iBAAE,CAAC,MAAM,EAAE,IAAI,+BAA+B,IAAI,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACzB,gBAAG,CAAC,KAAK,CAAC,mDAAmD,WAAW,GAAG,CAAC,CAAC;KAC9E;SAAM;QACL,qCAAqC;QACrC,wBAAwB;QACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC1B,IAAI;oBACF,MAAM,YAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;wBACpD,IAAI,KAAK,EAAE;4BACT,OAAO;yBACR;wBACD,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACzC,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;4BAC3D,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;yBACrB;oBACH,CAAC,CAAC,CAAC;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACV,gBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACnB,gBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,EAAE,CAAC;YACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxB;QACD,gBAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,GAAG,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,MAAM,kBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;KACF;IAED,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC7B,gBAAG,CAAC,IAAI,CAAC,0BAA0B,QAAQ,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5B,OAAO;KACR;IACD,gBAAG,CAAC,IAAI,CAAC,eAAe,QAAQ,gCAAgC,CAAC,CAAC;AACpE,CAAC;AA2RC,4CAAgB;AAzRlB,KAAK,UAAU,eAAe,CAAC,GAAG;IAChC,gBAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,sCAAsC,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;QAC3B,gBAAG,CAAC,aAAa,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;KACrD;IACD,gBAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC9B,CAAC;AAiRC,0CAAe;AA/QjB;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,gBAAC,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB;IAClE,IAAI,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACxD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,UAAU,EAAE;QAClB,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI;YACF,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;oBACjC,OAAO,QAAQ,CAAC;iBACjB;aACF;SACF;QAAC,OAAO,GAAG,EAAE,GAAE;QAChB,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;KACnE;IACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,iBAAiB,CAAC,CAAC;AAC3F,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,gBAAC,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa;IAC1D,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,kBAAC,CAAC,GAAG,CAAC;QACnC,YAAE,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,iBAAiB,EAAE;KACpB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC,CAAC,CAAC;AAqOD,sCAAa;AAnOf,SAAS,wBAAwB,CAAC,KAAK;IACrC,kCAAkC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,gFAAgF;IAChF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACzB,MAAM,CAAC,mBAAmB,CAAC,GAAG,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;KACf;IAED,gDAAgD;IAChD,IAAI;QACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,EAAE,CAAC;SACnB;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAG,CAAC,aAAa,CACf,gEAAgE,KAAK,qBAAqB,CAC3F,CAAC;KACH;IACD,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC5C,IAAI,CAAC,gBAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE;YACzC,gBAAG,CAAC,aAAa,CACf,oBAAoB,GAAG,wDAAwD,OAAO,qBAAqB,CAC5G,CAAC;SACH;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAsMC,4DAAwB;AApM1B,KAAK,UAAU,SAAS;IACtB,IAAI;QACF,IAAI,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,QAAQ,CAAC,CAAC;QACpC,gBAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAG,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KACpE;AACH,CAAC;AAgMC,8BAAS;AA9LX;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAC9D,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI;QACF,4CAA4C;QAC5C,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,MAAM,CAAC;KACf;IAED,IAAI,CAAC,gBAAC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC;KACf;IACD,OAAO,MAAM,kBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9D,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAiKC,wDAAsB;AA/JxB;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,aAAa,GAAG,EAAE;IAClF,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;QACjC,gBAAG,CAAC,aAAa,CAAC,gBAAgB,SAAS,uCAAuC,CAAC,CAAC;KACrF;IAED,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACzB,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,gBAAG,CAAC,KAAK,CAAC,2BAA2B,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,cAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC5D;IAED,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAC,GAAG,aAAa,CAAC;IAC/E,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,MAAM,IAAI,KAAK;QACvB,OAAO;QACP,aAAa;QACb,UAAU;KACX,CAAC;IACF,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,OAAO,CAAC,IAAI,GAAG,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;KAC7B;IACD,MAAM,aAAG,CAAC,UAAU,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC;AACZ,CAAC;AAgHC,oDAAoB;AA9GtB;;;;;;;GAOG;AACH,KAAK,UAAU,iCAAiC,CAAC,MAAM,EAAE,SAAS;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;QACzD,OAAO;KACR;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpE,KAAK,MAAM,QAAQ,IAAI,gBAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QAC7C,MAAM,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;KAC/C;AACH,CAAC;AA8FC,8EAAiC;AA5FnC;;;;GAIG;AACH,SAAS,WAAW,CAAC,SAAS;IAC5B,IAAI;QACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,kBAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACjF;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAG,CAAC,IAAI,CAAC,IAAI,SAAS,mCAAmC,CAAC,CAAC;KAC5D;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAgFC,kCAAW;AA9Eb;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,eAAe;IAC/C,MAAM,iBAAiB,GAAG,gBAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,eAAe,oCAAoC,CAAC,CAAC;KAC/F;IACD,OAAO,GAAG,iBAAiB,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,EAAE,CAAC;AACjE,CAAC;AAkEC,4DAAwB;AAhE1B;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;IACtC,KAAK,MAAM,OAAO,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QACjE,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACzB,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,IAAI,OAAO,6BAA6B,CAAC,CAAC;SACjF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoDC,kCAAW;AAlDb;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAAM,EAAE,MAAM;IAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;KAC/E;AACH,CAAC;AAJD,0CAIC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAY;IACjC,OAAO,gBAAC,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,iCAAkB,CAAC,CAAC;AACzE,CAAC;AAFD,wBAEC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,YAAY;IAChD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iCAAkB,CAAC,CAAC,CAAC,gCAAiB,CAAC;AACvE,CAAC;AAFD,sDAEC;AAuBD;;GAEG"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":";;;;;;AAAA,yDAA4C;AAC5C,gEAAiC;AACjC,0CAAqC;AACrC,4CAA6C;AAC7C,wDAAyB;AACzB,oDAAuB;AACvB,sDAAyB;AACzB,0DAA6B;AAC7B,wDAA2B;AAC3B,oDAA4B;AAC5B,+CAAkC;AAClC,sFAA4D;AAC5D,sDAA2B;AAC3B,iDAAqE;AAExD,QAAA,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAC7C,MAAM,mBAAmB,GAAG,SAAS,CAAC;AA6epC,kDAAmB;AA5erB,MAAM,yBAAyB,GAAG;IAChC,wCAAwC;IACxC,wCAAwC;CACzC,CAAC;AACF,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AAE9D,KAAK,UAAU,UAAU;IACvB,gBAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,6BAAS,CAAC,mBAAmB,EAAE,CAAC;IACpD,IAAI,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,gBAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,gBAAG,CAAC,IAAI,CAAC,aAAa,IAAI,kEAAkE,CAAC,CAAC;IAChG,CAAC;IACD,gBAAG,CAAC,KAAK,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAidC,gCAAU;AA/cZ;;;GAGG;AACH,KAAK,UAAU,uBAAuB;IACpC,2BAA2B;IAC3B,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,2BAA2B,CAAC,CAAC,MAAM,sBAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,SAAS,OAAO,CAAC,aAAa,4DAA4D,CAAC;QACvG,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AA2bC,0DAAuB;AAzbzB,KAAK,UAAU,wBAAwB;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,sBAAK,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAG,CAAC,aAAa,CAAC,wCAAwC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAobC,4DAAwB;AAlb1B;;;;;;;GAOG;AACH,SAAS,gCAAgC,CAAC,eAAe,EAAE,UAAU;IACnE,MAAM,iBAAiB,GAAG,gCAAoB,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAC7C,cAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9F,IAAI,cAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM;QACR,CAAC;QACD,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,eAAe,EAAE,UAAU;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,oBAAoB,GAAG,gCAAgC,CAC3D,eAAe,EACf,GAAG,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CACrC,CAAC;IACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAG,CAAC,KAAK,CAAC,6BAA6B,UAAU,SAAS,oBAAoB,GAAG,CAAC,CAAC;IACnF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AA6YC,kDAAmB;AA3YrB,KAAK,UAAU,SAAS,CAAC,SAAS;IAChC,gBAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAChC,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACrD,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;YAChB,IAAI,CAAC;gBACH,gBAAG,CAAC,KAAK,CAAC,aAAa,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,MAAM,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gBAAG,CAAC,IAAI,CAAC,qBAAqB,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,MAAM,kBAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IACD,gBAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC3C,CAAC;AAyXC,8BAAS;AAvXX,sDAAsD;AACtD,mDAAmD;AACnD,wCAAwC;AACxC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;AAE5C,KAAK,UAAU,yBAAyB,CAAC,GAAG;IAC1C,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC;QACnD,gBAAG,CAAC,IAAI,CACN,sFAAsF,CACvF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IACD,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AA6VC,8DAAyB;AA3V3B,KAAK,UAAU,gBAAgB,CAAC,GAAG;IACjC,uEAAuE;IACvE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC;QACnD,gBAAG,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,IAAI,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,gBAAG,CAAC,IAAI,CACN,iBAAiB,QAAQ,sEAAsE,CAChG,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IACD,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE3C,kGAAkG;IAClG,MAAM,WAAW,GAAG,GAAG,iBAAE,CAAC,MAAM,EAAE,IAAI,+BAA+B,IAAI,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,gBAAG,CAAC,KAAK,CAAC,mDAAmD,WAAW,GAAG,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,wBAAwB;QACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC;oBACH,MAAM,YAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;wBACpD,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO;wBACT,CAAC;wBACD,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACzC,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;4BAC5D,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACtB,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,gBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACnB,gBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,gBAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,GAAG,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,kBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,gBAAG,CAAC,IAAI,CAAC,0BAA0B,QAAQ,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,gBAAG,CAAC,IAAI,CAAC,eAAe,QAAQ,gCAAgC,CAAC,CAAC;AACpE,CAAC;AA2RC,4CAAgB;AAzRlB,KAAK,UAAU,eAAe,CAAC,GAAG;IAChC,gBAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,sCAAsC,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,gBAAG,CAAC,aAAa,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,gBAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC9B,CAAC;AAiRC,0CAAe;AA/QjB;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,gBAAC,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB;IAClE,IAAI,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACxD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAClC,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;QAChB,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,iBAAiB,CAAC,CAAC;AAC3F,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,gBAAC,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa;IAC1D,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,kBAAC,CAAC,GAAG,CAAC;QACnC,YAAE,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,iBAAiB,EAAE;KACpB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC,CAAC,CAAC;AAqOD,sCAAa;AAnOf,SAAS,wBAAwB,CAAC,KAAK;IACrC,kCAAkC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,gFAAgF;IAChF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,mBAAmB,CAAC,GAAG,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAG,CAAC,aAAa,CACf,gEAAgE,KAAK,qBAAqB,CAC3F,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,gBAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YAC1C,gBAAG,CAAC,aAAa,CACf,oBAAoB,GAAG,wDAAwD,OAAO,qBAAqB,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAsMC,4DAAwB;AApM1B,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC;QACH,IAAI,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,QAAQ,CAAC,CAAC;QACpC,gBAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAG,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAgMC,8BAAS;AA9LX;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAC9D,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,gBAAC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,kBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9D,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAiKC,wDAAsB;AA/JxB;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,aAAa,GAAG,EAAE;IAClF,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAClC,gBAAG,CAAC,aAAa,CAAC,gBAAgB,SAAS,uCAAuC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,gBAAG,CAAC,KAAK,CAAC,2BAA2B,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,cAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAC,GAAG,aAAa,CAAC;IAC/E,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,MAAM,IAAI,KAAK;QACvB,OAAO;QACP,aAAa;QACb,UAAU;KACX,CAAC;IACF,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,GAAG,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;IAC9B,CAAC;IACD,MAAM,aAAG,CAAC,UAAU,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC;AACZ,CAAC;AAgHC,oDAAoB;AA9GtB;;;;;;;GAOG;AACH,KAAK,UAAU,iCAAiC,CAAC,MAAM,EAAE,SAAS;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpE,KAAK,MAAM,QAAQ,IAAI,gBAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AA8FC,8EAAiC;AA5FnC;;;;GAIG;AACH,SAAS,WAAW,CAAC,SAAS;IAC5B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,kBAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAG,CAAC,IAAI,CAAC,IAAI,SAAS,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAgFC,kCAAW;AA9Eb;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,eAAe;IAC/C,MAAM,iBAAiB,GAAG,gBAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,eAAe,oCAAoC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,GAAG,iBAAiB,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,EAAE,CAAC;AACjE,CAAC;AAkEC,4DAAwB;AAhE1B;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;IACtC,KAAK,MAAM,OAAO,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,IAAI,OAAO,6BAA6B,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoDC,kCAAW;AAlDb;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAAM,EAAE,MAAM;IAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAJD,0CAIC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAY;IACjC,OAAO,gBAAC,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,iCAAkB,CAAC,CAAC;AACzE,CAAC;AAFD,wBAEC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,YAAY;IAChD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iCAAkB,CAAC,CAAC,CAAC,gCAAiB,CAAC;AACvE,CAAC;AAFD,sDAEC;AAuBD;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"xcrun.js","sourceRoot":"","sources":["../../lib/xcrun.js"],"names":[],"mappings":";;;AAAA,4CAAkC;AAElC,MAAM,KAAK,GAAG,OAAO,CAAC;AAaA,sBAAK;AAX3B,KAAK,UAAU,YAAY;IACzB,IAAI;QACF,OAAO,MAAM,YAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9B;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,+BAA+B;YACrC,wDAAwD,CAC3D,CAAC;KACH;AACH,CAAC;AAEO,oCAAY"}
1
+ {"version":3,"file":"xcrun.js","sourceRoot":"","sources":["../../lib/xcrun.js"],"names":[],"mappings":";;;AAAA,4CAAkC;AAElC,MAAM,KAAK,GAAG,OAAO,CAAC;AAaA,sBAAK;AAX3B,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,OAAO,MAAM,YAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,+BAA+B;YACrC,wDAAwD,CAC3D,CAAC;IACJ,CAAC;AACH,CAAC;AAEO,oCAAY"}
@@ -107,7 +107,7 @@ export default {
107
107
  /** @type { {arguments?: any[], environment?: any, bundleId: string} } */
108
108
  const launchOptions = {bundleId};
109
109
  if (args) {
110
- launchOptions.arguments = _.isArray(args) ? args : [args];
110
+ launchOptions.arguments = Array.isArray(args) ? args : [args];
111
111
  }
112
112
  if (environment) {
113
113
  launchOptions.environment = environment;
@@ -182,6 +182,7 @@ export default {
182
182
  * @this {XCUITestDriver}
183
183
  */
184
184
  async installApp(appPath, {timeoutMs, strategy} = {}) {
185
+ // @ts-ignore Probably a typescript bug
185
186
  await this.mobileInstallApp(appPath, timeoutMs, strategy);
186
187
  },
187
188
  /**
@@ -191,6 +192,7 @@ export default {
191
192
  */
192
193
  async activateApp(bundleId, opts = {}) {
193
194
  const {environment, arguments: args} = opts;
195
+ // @ts-ignore Probably a typescript bug
194
196
  return await this.mobileLaunchApp(bundleId, args, environment);
195
197
  },
196
198
  /**
@@ -309,6 +311,7 @@ export default {
309
311
  }
310
312
  };
311
313
  if (seconds && !_.isNumber(seconds) && _.has(seconds, 'timeout')) {
314
+ // @ts-ignore This is ok
312
315
  const timeout = seconds.timeout;
313
316
  selectEndpoint(isNaN(Number(timeout)) ? timeout : parseFloat(String(timeout)) / 1000.0);
314
317
  } else {
@@ -1,14 +1,14 @@
1
1
  import {createRemoteDebugger, RemoteDebugger} from 'appium-remote-debugger';
2
2
  import {errors, isErrorType} from 'appium/driver';
3
3
  import {util, timing} from 'appium/support';
4
- import B from 'bluebird';
4
+ import { waitForCondition } from 'asyncbox';
5
5
  import IOSPerformanceLog from '../device-log/ios-performance-log';
6
6
  import _ from 'lodash';
7
7
 
8
8
  const NATIVE_WIN = 'NATIVE_APP';
9
9
  const WEBVIEW_WIN = 'WEBVIEW';
10
10
  const WEBVIEW_BASE = `${WEBVIEW_WIN}_`;
11
- const RECENT_WEBVIEW_DETECTION_TIMEOUT_MS = 90000;
11
+ const RECENT_WEBVIEW_DETECTION_TIMEOUT_MS = 7000;
12
12
 
13
13
  /**
14
14
  * Type guard for a non-empty array.
@@ -58,60 +58,48 @@ const extensions = {
58
58
  async activateRecentWebview() {
59
59
  this.log.debug('Activating a recent webview');
60
60
  const timer = new timing.Timer().start();
61
- const spinTimeMs = 500;
62
- const spinHandles = async () => {
63
- /** @type {string|undefined} */
64
- let contextId;
65
- try {
66
- contextId = await this.getRecentWebviewContextId(/.*/, /.*/);
67
- } catch (err) {
68
- if (!err.message.includes('Could not connect to a valid app after')) {
69
- const error = new Error(`Could not navigate to webview! Err: ${err.message}`);
70
- error.stack += `\nCaused by: ${err.stack}`;
71
- throw error;
61
+ const waitMs = this.opts.webviewConnectTimeout || RECENT_WEBVIEW_DETECTION_TIMEOUT_MS;
62
+ /** @type {Error|null} */
63
+ let lastError = null;
64
+ try {
65
+ await waitForCondition(async () => {
66
+ /** @type {string|undefined} */
67
+ let contextId;
68
+ try {
69
+ contextId = await this.getRecentWebviewContextId(/.*/, /.*/);
70
+ } catch (err) {
71
+ lastError = err;
72
+ this.log.debug(err.message);
73
+ return false;
74
+ }
75
+ if (contextId) {
76
+ this.log.info(`Picking webview '${contextId}' after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
77
+ await this.setContext(contextId);
78
+ await this.remote.cancelPageLoad();
79
+ return true;
72
80
  }
73
- this.log.debug('Could not navigate to webview. Retrying if possible.');
74
- }
75
- if (contextId) {
76
- this.log.debug(`Picking webview '${contextId}'`);
77
- await this.setContext(contextId);
78
- await this.remote.cancelPageLoad();
79
- return;
80
- }
81
-
82
- // no webview was found
83
- if (timer.getDuration().asMilliSeconds >= RECENT_WEBVIEW_DETECTION_TIMEOUT_MS) {
84
- // too slow, get out
85
- throw new Error('Could not navigate to webview; there are none!');
86
- }
87
-
88
- this.log.warn('Could not find any webviews yet, refreshing/retrying');
89
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
90
- if (this.isRealDevice() || !this.opts.safari) {
91
- // on a real device, when not using Safari, we just want to try again
92
- await B.delay(spinTimeMs);
93
- return await spinHandles();
94
- }
95
81
 
96
- // find the reload button and tap it, if possible
97
- /** @type {import('@appium/types').Element} */
98
- let element;
99
- try {
100
- this.log.debug('Finding and tapping reload button');
101
- element = /** @type {import('@appium/types').Element} */ (
102
- await this.findNativeElementOrElements('accessibility id', 'ReloadButton', '', false)
82
+ this.log.info('Could not find any webviews yet, retrying');
83
+ return false;
84
+ }, {
85
+ waitMs,
86
+ intervalMs: 500,
87
+ });
88
+ } catch (e) {
89
+ const elapsedMs = timer.getDuration().asMilliSeconds;
90
+ if (elapsedMs >= waitMs) {
91
+ if (lastError) {
92
+ this.log.debug((/** @type {Error} */ (lastError)).stack);
93
+ }
94
+ // no webview was found
95
+ throw new Error(
96
+ `No webview has been detected after ${elapsedMs.toFixed(0)}ms. ` +
97
+ `You may try to change the 'webviewConnectTimeout' capability value to modify the timeout.`
103
98
  );
104
- await this.nativeClick(element);
105
- } catch (err) {
106
- this.log.warn(`Error finding and tapping reload button: ${err.message}`);
107
- this.log.warn('Retrying.');
108
- await B.delay(spinTimeMs);
99
+ } else {
100
+ throw e;
109
101
  }
110
-
111
- // try it all again
112
- return await spinHandles();
113
- };
114
- await spinHandles();
102
+ }
115
103
  },
116
104
  /**
117
105
  * @this {XCUITestDriver}
@@ -40,6 +40,7 @@ import sourceExtensions from './source';
40
40
  import timeoutExtensions from './timeouts';
41
41
  import webExtensions from './web';
42
42
  import xctestExtensions from './xctest';
43
+ import xctestRecordScreenExtensions from './xctest-record-screen';
43
44
 
44
45
  export default {
45
46
  activeAppInfoExtensions,
@@ -84,4 +85,5 @@ export default {
84
85
  timeoutExtensions,
85
86
  webExtensions,
86
87
  xctestExtensions,
88
+ xctestRecordScreenExtensions,
87
89
  };
@@ -50,7 +50,7 @@ const SUPPORTED_LOG_TYPES = {
50
50
  * @returns {AppiumServerLogEntry[]}
51
51
  */
52
52
  getter: (self) => {
53
- self.ensureFeatureEnabled(GET_SERVER_LOGS_FEATURE);
53
+ self.assertFeatureEnabled(GET_SERVER_LOGS_FEATURE);
54
54
  return log.unwrap().record.map((x) => ({
55
55
  timestamp: Date.now(),
56
56
  level: 'ALL',
@@ -0,0 +1,206 @@
1
+ import _ from 'lodash';
2
+ import {fs, util} from 'appium/support';
3
+ import {encodeBase64OrUpload} from '../utils';
4
+ import path from 'node:path';
5
+ import {Devicectl} from '../devicectl';
6
+
7
+ const MOV_EXT = '.mov';
8
+ const FEATURE_NAME = 'xctest_screen_record';
9
+ const DOMAIN_IDENTIFIER = 'com.apple.testmanagerd';
10
+ const DOMAIN_TYPE = 'appDataContainer';
11
+ const USERNAME = 'mobile';
12
+ const SUBDIRECTORY = 'Attachments';
13
+
14
+ /**
15
+ * @typedef {Object} XcTestScreenRecordingInfo
16
+ * @property {string} uuid Unique identifier of the video being recorded
17
+ * @property {number} fps FPS value
18
+ * @property {number} codec Video codec, where 0 is h264
19
+ * @property {number} startedAt The timestamp when the screen recording has started in float Unix seconds
20
+ */
21
+
22
+ /**
23
+ * @typedef {Object} XcTestScreenRecordingType
24
+ * @property {string} payload Base64-encoded content of the recorded media
25
+ * file if `remotePath` parameter is empty or null or an empty string otherwise.
26
+ * The media is expected to a be a valid QuickTime movie (.mov).
27
+ * @typedef {XcTestScreenRecordingInfo & XcTestScreenRecordingType} XcTestScreenRecording
28
+ */
29
+
30
+ /**
31
+ * @this {XCUITestDriver}
32
+ * @param {string} uuid Unique identifier of the video being recorded
33
+ * @returns {Promise<string>} The full path to the screen recording movie
34
+ */
35
+ async function retrieveRecodingFromSimulator(uuid) {
36
+ // @ts-ignore The property is there
37
+ const device = this.opts.device;
38
+ const dataRoot = /** @type {string} */ (device.getDir());
39
+ // On Simulators the path looks like
40
+ // $HOME/Library/Developer/CoreSimulator/Devices/F8E1968A-8443-4A9A-AB86-27C54C36A2F6/data/Containers/Data/InternalDaemon/4E3FE8DF-AD0A-41DA-B6EC-C35E5798C219/Attachments/A044DAF7-4A58-4CD5-95C3-29B4FE80C377
41
+ const internalDaemonRoot = path.resolve(dataRoot, 'Containers', 'Data', 'InternalDaemon');
42
+ const videoPaths = await fs.glob(`*/Attachments/${uuid}`, {
43
+ cwd: internalDaemonRoot,
44
+ absolute: true,
45
+ });
46
+ if (_.isEmpty(videoPaths)) {
47
+ throw new Error(
48
+ `Unable to locate XCTest screen recording identified by '${uuid}' for the Simulator ${device.udid}`
49
+ );
50
+ }
51
+ const videoPath = videoPaths[0];
52
+ const {size} = await fs.stat(videoPath);
53
+ this.log.debug(`Located the video at '${videoPath}' (${util.toReadableSizeString(size)})`);
54
+ return videoPath;
55
+ }
56
+
57
+ /**
58
+ * @this {XCUITestDriver}
59
+ * @param {string} uuid Unique identifier of the video being recorded
60
+ * @returns {Promise<string>} The full path to the screen recording movie
61
+ */
62
+ async function retrieveRecodingFromRealDevice(uuid) {
63
+ const devicectl = new Devicectl(this.opts.udid, this.log);
64
+ const fileNames = await devicectl.listFiles(DOMAIN_TYPE, DOMAIN_IDENTIFIER, {
65
+ username: USERNAME,
66
+ subdirectory: SUBDIRECTORY,
67
+ });
68
+ if (!fileNames.includes(uuid)) {
69
+ throw new Error(
70
+ `Unable to locate XCTest screen recording identified by '${uuid}' for the device ${this.opts.udid}`
71
+ );
72
+ }
73
+ const videoPath = path.join(/** @type {string} */ (this.opts.tmpDir), `${uuid}${MOV_EXT}`);
74
+ await devicectl.pullFile(`${SUBDIRECTORY}/${uuid}`, videoPath, {
75
+ username: USERNAME,
76
+ domainIdentifier: DOMAIN_IDENTIFIER,
77
+ domainType: DOMAIN_TYPE,
78
+ });
79
+ const {size} = await fs.stat(videoPath);
80
+ this.log.debug(`Pulled the video to '${videoPath}' (${util.toReadableSizeString(size)})`);
81
+ return videoPath;
82
+ }
83
+
84
+ /**
85
+ * @this {XCUITestDriver}
86
+ * @param {string} uuid Unique identifier of the video being recorded
87
+ * @returns {Promise<string>} The full path to the screen recording movie
88
+ */
89
+ async function retrieveXcTestScreenRecording(uuid) {
90
+ return this.isRealDevice()
91
+ ? await retrieveRecodingFromRealDevice.bind(this)(uuid)
92
+ : await retrieveRecodingFromSimulator.bind(this)(uuid);
93
+ }
94
+
95
+ export default {
96
+ /**
97
+ * Start a new screen recording via XCTest.
98
+ *
99
+ * Even though the feature is available for real devices
100
+ * there is no possibility to delete stored video files yet,
101
+ * which may lead to internal storage overload.
102
+ * That is why it was put under a security feature flag.
103
+ *
104
+ * If the recording is already running this API is a noop.
105
+ *
106
+ * @since Xcode 15/iOS 17
107
+ * @param {number} [fps] FPS value
108
+ * @param {number} [codec] Video codec, where 0 is h264, 1 is HEVC
109
+ * @returns {Promise<XcTestScreenRecordingInfo>} The information
110
+ * about a newly created or a running the screen recording.
111
+ * @throws {Error} If screen recording has failed to start.
112
+ * @this {XCUITestDriver}
113
+ */
114
+ async mobileStartXctestScreenRecording(fps, codec) {
115
+ if (this.isRealDevice()) {
116
+ // This feature might be used to abuse real devices as there is no
117
+ // reliable way (yet) to cleanup video recordings stored there
118
+ // by the testmanagerd daemon
119
+ this.assertFeatureEnabled(FEATURE_NAME);
120
+ }
121
+
122
+ const opts = {};
123
+ if (_.isInteger(codec)) {
124
+ opts.codec = codec;
125
+ }
126
+ if (_.isInteger(fps)) {
127
+ opts.fps = fps;
128
+ }
129
+ const response = /** @type {XcTestScreenRecordingInfo} */ (
130
+ await this.proxyCommand('/wda/video/start', 'POST', opts)
131
+ );
132
+ this.log.info(`Started a new screen recording: ${JSON.stringify(response)}`);
133
+ return response;
134
+ },
135
+
136
+ /**
137
+ * Retrieves information about the current running screen recording.
138
+ * If no screen recording is running then `null` is returned.
139
+ *
140
+ * @returns {Promise<XcTestScreenRecordingInfo?>}
141
+ */
142
+ async mobileGetXctestScreenRecordingInfo() {
143
+ return /** @type {XcTestScreenRecordingInfo?} */ (
144
+ await this.proxyCommand('/wda/video', 'GET')
145
+ );
146
+ },
147
+
148
+ /**
149
+ * Stop screen recording previously started by mobileStartXctestScreenRecording API.
150
+ *
151
+ * An error is thrown if no screen recording is running.
152
+ *
153
+ * The resulting movie is returned as base-64 string or is uploaded to
154
+ * a remote location if corresponding options have been provided.
155
+ *
156
+ * The resulting movie is automatically deleted FOR SIMULATORS ONLY.
157
+ * In order to clean it up from a real device it is necessary to properly
158
+ * shut down XCTest by calling `POST /wda/shutdown` API or by doing factory reset.
159
+ *
160
+ * @since Xcode 15/iOS 17
161
+ * @param {string} [remotePath] The path to the remote location, where the resulting video should be
162
+ * uploaded.
163
+ * The following protocols are supported: `http`, `https`, `ftp`. Null or empty
164
+ * string value (the default setting) means the content of resulting file
165
+ * should be encoded as Base64 and passed as the endpoint response value. An
166
+ * exception will be thrown if the generated media file is too big to fit into
167
+ * the available process memory.
168
+ * @param {string} [user] The name of the user for the remote authentication.
169
+ * Only works if `remotePath` is provided.
170
+ * @param {string} [pass] The password for the remote authentication.
171
+ * Only works if `remotePath` is provided.
172
+ * @param {import('@appium/types').HTTPHeaders} [headers] Additional headers mapping for multipart http(s) uploads
173
+ * @param {string} [fileFieldName] The name of the form field where the file content BLOB should be stored for
174
+ * http(s) uploads
175
+ * @param {Record<string, any> | [string, any][]} [formFields] Additional form fields for multipart http(s) uploads
176
+ * @param {'PUT' | 'POST' | 'PATCH'} [method='PUT'] The http multipart upload method name.
177
+ * Only works if `remotePath` is provided.
178
+ * @returns {Promise<XcTestScreenRecording>}
179
+ * @throws {Error} If there was an error while retrieving the video
180
+ * file or the file content cannot be uploaded to the remote location.
181
+ * @this {XCUITestDriver}
182
+ */
183
+ async mobileStopXctestScreenRecording(remotePath, user, pass, headers, fileFieldName, formFields, method) {
184
+ const screenRecordingInfo = await this.mobileGetXctestScreenRecordingInfo();
185
+ if (!screenRecordingInfo) {
186
+ throw new Error('There is no active screen recording. Did you start one beforehand?');
187
+ }
188
+
189
+ this.log.debug(`Stopping the active screen recording: ${JSON.stringify(screenRecordingInfo)}`);
190
+ await this.proxyCommand('/wda/video/stop', 'POST', {});
191
+ const videoPath = await retrieveXcTestScreenRecording.bind(this)(screenRecordingInfo.uuid);
192
+ const result = /** @type {XcTestScreenRecording} */ (screenRecordingInfo);
193
+ try {
194
+ result.payload = await encodeBase64OrUpload(videoPath, remotePath, {
195
+ user, pass, headers, fileFieldName, formFields, method
196
+ });
197
+ } finally {
198
+ await fs.rimraf(videoPath);
199
+ }
200
+ return result;
201
+ },
202
+ };
203
+
204
+ /**
205
+ * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
206
+ */
package/lib/devicectl.js CHANGED
@@ -56,12 +56,31 @@ const XCRUN = 'xcrun';
56
56
  * @property {boolean} [asJson=true]
57
57
  * @property {boolean} [asynchronous=false]
58
58
  * @property {string[]|string} [subcommandOptions]
59
+ * @property {number} [timeout]
59
60
  */
60
61
 
61
62
  /**
62
63
  * @typedef {{asynchronous: true}} TAsyncOpts
63
64
  */
64
65
 
66
+ /**
67
+ * @typedef {Object} ListFilesOptions
68
+ * @property {string} [username] The username of the user we should target. Only relevant for certain domains.
69
+ * @property {string} [subdirectory] A subdirectory within the domain. If not specified, defaults to the root.
70
+ */
71
+
72
+ /**
73
+ * @typedef {Object} PullFileOptions
74
+ * @property {string} [username] The username of the user we should target. Only relevant for certain domains.
75
+ * @property {string} domainType The file service domain. Valid values are: temporary, rootStaging, appDataContainer, appGroupDataContainer,
76
+ * systemCrashLogs. You must specify a valid domain and identifier pair. Each domain is accompanied by an identifier
77
+ * that provides additional context. For example, if the domain is an app data container, the identifier is the bundle
78
+ * ID of the app. For temporary directories and root staging areas, the identifier is a unique client-provided string
79
+ * which is used to get your own space, separate from those of other clients.
80
+ * @property {string} domainIdentifier A unique string used to provide additional context to the domain.
81
+ * @property {number} [timeout=120000] The timeout for pulling a file in milliseconds.
82
+ */
83
+
65
84
  export class Devicectl {
66
85
  /**
67
86
  * @since Xcode 15, iOS 17
@@ -85,6 +104,7 @@ export class Devicectl {
85
104
  asynchronous = false,
86
105
  asJson = true,
87
106
  subcommandOptions,
107
+ timeout,
88
108
  } = opts ?? {};
89
109
 
90
110
  const finalArgs = [
@@ -108,7 +128,7 @@ export class Devicectl {
108
128
  // @ts-ignore TS does not understand it
109
129
  return result;
110
130
  }
111
- const result = await exec(XCRUN, finalArgs);
131
+ const result = await exec(XCRUN, finalArgs, {timeout});
112
132
  if (logStdout) {
113
133
  this.log.debug(`Command output: ${result.stdout}`);
114
134
  }
@@ -141,6 +161,61 @@ export class Devicectl {
141
161
  return JSON.parse(stdout).result.runningProcesses;
142
162
  }
143
163
 
164
+ /**
165
+ * Lists files at a specified path on the device
166
+ *
167
+ * @param {string} domainType The file service domain. Valid values are: temporary, rootStaging, appDataContainer, appGroupDataContainer,
168
+ * systemCrashLogs. You must specify a valid domain and identifier pair. Each domain is accompanied by an identifier
169
+ * that provides additional context. For example, if the domain is an app data container, the identifier is the bundle
170
+ * ID of the app. For temporary directories and root staging areas, the identifier is a unique client-provided string
171
+ * which is used to get your own space, separate from those of other clients.
172
+ * @param {string} domainIdentifier A unique string used to provide additional context to the domain.
173
+ * @param {ListFilesOptions} [opts={}]
174
+ * @returns {Promise<string[]>} List of file names (could be empty)
175
+ */
176
+ async listFiles(domainType, domainIdentifier, opts = {}) {
177
+ const subcommandOptions = [
178
+ '--domain-type', domainType,
179
+ '--domain-identifier', domainIdentifier,
180
+ ];
181
+ if (opts.username) {
182
+ subcommandOptions.push('--username', opts.username);
183
+ }
184
+ if (opts.subdirectory) {
185
+ subcommandOptions.push('--subdirectory', opts.subdirectory);
186
+ }
187
+ const {stdout} = await this.execute(['device', 'info', 'files'], {
188
+ subcommandOptions,
189
+ });
190
+ return JSON.parse(stdout).result.files.map(({name}) => name);
191
+ }
192
+
193
+ /**
194
+ * Pulls a file from the specified path on the device to a local file system
195
+ *
196
+ * @param {string} from The item which should be copied.
197
+ * @param {string} to The location to which the item should be copied.
198
+ * @param {PullFileOptions} opts
199
+ * @returns {Promise<string>} The destination path (same as `to`)
200
+ */
201
+ async pullFile(from, to, opts) {
202
+ const subcommandOptions = [
203
+ '--domain-type', opts.domainType,
204
+ '--domain-identifier', opts.domainIdentifier,
205
+ '--source', from,
206
+ '--destination', to,
207
+ ];
208
+ if (opts.username) {
209
+ subcommandOptions.push('--user', opts.username);
210
+ }
211
+ await this.execute(['device', 'copy', 'from'], {
212
+ subcommandOptions,
213
+ timeout: opts.timeout ?? 120000,
214
+ asJson: false,
215
+ });
216
+ return to;
217
+ }
218
+
144
219
  /**
145
220
  * Send POSIX signal to the running process
146
221
  *
package/lib/driver.js CHANGED
@@ -664,7 +664,7 @@ class XCUITestDriver extends BaseDriver {
664
664
  const device = this.opts.device;
665
665
 
666
666
  if (this.opts.shutdownOtherSimulators) {
667
- this.ensureFeatureEnabled(SHUTDOWN_OTHER_FEAT_NAME);
667
+ this.assertFeatureEnabled(SHUTDOWN_OTHER_FEAT_NAME);
668
668
  await shutdownOtherSimulators(device);
669
669
  }
670
670
 
@@ -789,7 +789,7 @@ class XCUITestDriver extends BaseDriver {
789
789
 
790
790
  // Used in the following WDA build
791
791
  if (this.opts.resultBundlePath) {
792
- this.ensureFeatureEnabled(CUSTOMIZE_RESULT_BUNDPE_PATH);
792
+ this.assertFeatureEnabled(CUSTOMIZE_RESULT_BUNDPE_PATH);
793
793
  }
794
794
 
795
795
  const startupRetries =
@@ -2222,6 +2222,13 @@ class XCUITestDriver extends BaseDriver {
2222
2222
  mobileInstallXCTestBundle = commands.xctestExtensions.mobileInstallXCTestBundle;
2223
2223
  mobileListXCTestBundles = commands.xctestExtensions.mobileListXCTestBundles;
2224
2224
  mobileListXCTestsInTestBundle = commands.xctestExtensions.mobileListXCTestsInTestBundle;
2225
+
2226
+ /*----------------------+
2227
+ | XCTEST SCREEN RECORD |
2228
+ +---------------------+*/
2229
+ mobileStartXctestScreenRecording = commands.xctestRecordScreenExtensions.mobileStartXctestScreenRecording;
2230
+ mobileGetXctestScreenRecordingInfo = commands.xctestRecordScreenExtensions.mobileGetXctestScreenRecordingInfo;
2231
+ mobileStopXctestScreenRecording = commands.xctestRecordScreenExtensions.mobileStopXctestScreenRecording;
2225
2232
  }
2226
2233
 
2227
2234
  /**
@@ -391,6 +391,21 @@ export const executeMethodMap = {
391
391
  required: ['bundle'],
392
392
  },
393
393
  },
394
+ 'mobile: startXCTestScreenRecording': {
395
+ command: 'mobileStartXctestScreenRecording',
396
+ params: {
397
+ optional: ['fps', 'codec'],
398
+ },
399
+ },
400
+ 'mobile: getXCTestScreenRecordingInfo': {
401
+ command: 'mobileGetXctestScreenRecordingInfo',
402
+ },
403
+ 'mobile: stopXCTestScreenRecording': {
404
+ command: 'mobileStopXctestScreenRecording',
405
+ params: {
406
+ optional: ['remotePath', 'user', 'pass', 'headers', 'fileFieldName', 'formFields', 'method'],
407
+ },
408
+ },
394
409
  'mobile: pushNotification': {
395
410
  command: 'mobilePushNotification',
396
411
  params: {