@datadog/datadog-ci 2.40.0 → 2.40.2

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 (271) hide show
  1. package/dist/__tests__/cli.test.d.ts +1 -0
  2. package/dist/__tests__/cli.test.js +41 -0
  3. package/dist/__tests__/cli.test.js.map +1 -0
  4. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +2 -0
  5. package/dist/commands/cloud-run/__tests__/fixtures.js +12 -0
  6. package/dist/commands/cloud-run/__tests__/fixtures.js.map +1 -0
  7. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +1 -0
  8. package/dist/commands/cloud-run/__tests__/flare.test.js +557 -0
  9. package/dist/commands/cloud-run/__tests__/flare.test.js.map +1 -0
  10. package/dist/commands/deployment/__tests__/mark.test.d.ts +1 -0
  11. package/dist/commands/deployment/__tests__/mark.test.js +47 -0
  12. package/dist/commands/deployment/__tests__/mark.test.js.map +1 -0
  13. package/dist/commands/dora/__tests__/deployment.test.d.ts +1 -0
  14. package/dist/commands/dora/__tests__/deployment.test.js +201 -0
  15. package/dist/commands/dora/__tests__/deployment.test.js.map +1 -0
  16. package/dist/commands/dsyms/__tests__/upload.test.d.ts +1 -0
  17. package/dist/commands/dsyms/__tests__/upload.test.js +346 -0
  18. package/dist/commands/dsyms/__tests__/upload.test.js.map +1 -0
  19. package/dist/commands/dsyms/__tests__/utils.test.d.ts +1 -0
  20. package/dist/commands/dsyms/__tests__/utils.test.js +100 -0
  21. package/dist/commands/dsyms/__tests__/utils.test.js.map +1 -0
  22. package/dist/commands/dsyms/upload.js +3 -3
  23. package/dist/commands/dsyms/upload.js.map +1 -1
  24. package/dist/commands/dsyms/utils.js +4 -2
  25. package/dist/commands/dsyms/utils.js.map +1 -1
  26. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +1 -0
  27. package/dist/commands/elf-symbols/__tests__/elf.test.js +813 -0
  28. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +1 -0
  29. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +1 -0
  30. package/dist/commands/elf-symbols/__tests__/upload.test.js +249 -0
  31. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +1 -0
  32. package/dist/commands/elf-symbols/upload.js +2 -3
  33. package/dist/commands/elf-symbols/upload.js.map +1 -1
  34. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +1 -0
  35. package/dist/commands/flutter-symbols/__tests__/upload.test.js +617 -0
  36. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +1 -0
  37. package/dist/commands/flutter-symbols/upload.js +2 -2
  38. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  39. package/dist/commands/gate/__tests__/evaluate.test.d.ts +1 -0
  40. package/dist/commands/gate/__tests__/evaluate.test.js +398 -0
  41. package/dist/commands/gate/__tests__/evaluate.test.js.map +1 -0
  42. package/dist/commands/gate/__tests__/scope.test.d.ts +1 -0
  43. package/dist/commands/gate/__tests__/scope.test.js +29 -0
  44. package/dist/commands/gate/__tests__/scope.test.js.map +1 -0
  45. package/dist/commands/git-metadata/__tests__/git.test.d.ts +1 -0
  46. package/dist/commands/git-metadata/__tests__/git.test.js +132 -0
  47. package/dist/commands/git-metadata/__tests__/git.test.js.map +1 -0
  48. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +1 -0
  49. package/dist/commands/git-metadata/__tests__/gitdb.test.js +1386 -0
  50. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +1 -0
  51. package/dist/commands/git-metadata/__tests__/library.test.d.ts +1 -0
  52. package/dist/commands/git-metadata/__tests__/library.test.js +118 -0
  53. package/dist/commands/git-metadata/__tests__/library.test.js.map +1 -0
  54. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +1 -0
  55. package/dist/commands/git-metadata/__tests__/upload.test.js +52 -0
  56. package/dist/commands/git-metadata/__tests__/upload.test.js.map +1 -0
  57. package/dist/commands/junit/__tests__/id.test.d.ts +1 -0
  58. package/dist/commands/junit/__tests__/id.test.js +24 -0
  59. package/dist/commands/junit/__tests__/id.test.js.map +1 -0
  60. package/dist/commands/junit/__tests__/upload.test.d.ts +1 -0
  61. package/dist/commands/junit/__tests__/upload.test.js +495 -0
  62. package/dist/commands/junit/__tests__/upload.test.js.map +1 -0
  63. package/dist/commands/junit/upload.js +5 -3
  64. package/dist/commands/junit/upload.js.map +1 -1
  65. package/dist/commands/lambda/__tests__/fixtures.d.ts +51 -0
  66. package/dist/commands/lambda/__tests__/fixtures.js +146 -0
  67. package/dist/commands/lambda/__tests__/fixtures.js.map +1 -0
  68. package/dist/commands/lambda/__tests__/flare.test.d.ts +1 -0
  69. package/dist/commands/lambda/__tests__/flare.test.js +730 -0
  70. package/dist/commands/lambda/__tests__/flare.test.js.map +1 -0
  71. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +1 -0
  72. package/dist/commands/lambda/__tests__/functions/commons.test.js +791 -0
  73. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +1 -0
  74. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +1 -0
  75. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +386 -0
  76. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +1 -0
  77. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +1 -0
  78. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +721 -0
  79. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +1 -0
  80. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +1 -0
  81. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +513 -0
  82. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +1 -0
  83. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +1 -0
  84. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +33 -0
  85. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +1 -0
  86. package/dist/commands/lambda/__tests__/instrument.test.d.ts +1 -0
  87. package/dist/commands/lambda/__tests__/instrument.test.js +1511 -0
  88. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -0
  89. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +1 -0
  90. package/dist/commands/lambda/__tests__/loggroup.test.js +340 -0
  91. package/dist/commands/lambda/__tests__/loggroup.test.js.map +1 -0
  92. package/dist/commands/lambda/__tests__/prompt.test.d.ts +1 -0
  93. package/dist/commands/lambda/__tests__/prompt.test.js +206 -0
  94. package/dist/commands/lambda/__tests__/prompt.test.js.map +1 -0
  95. package/dist/commands/lambda/__tests__/tags.test.d.ts +1 -0
  96. package/dist/commands/lambda/__tests__/tags.test.js +305 -0
  97. package/dist/commands/lambda/__tests__/tags.test.js.map +1 -0
  98. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +1 -0
  99. package/dist/commands/lambda/__tests__/uninstrument.test.js +722 -0
  100. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +1 -0
  101. package/dist/commands/measure/__tests__/measure.test.d.ts +1 -0
  102. package/dist/commands/measure/__tests__/measure.test.js +110 -0
  103. package/dist/commands/measure/__tests__/measure.test.js.map +1 -0
  104. package/dist/commands/react-native/__tests__/codepush.test.d.ts +1 -0
  105. package/dist/commands/react-native/__tests__/codepush.test.js +161 -0
  106. package/dist/commands/react-native/__tests__/codepush.test.js.map +1 -0
  107. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +1 -0
  108. package/dist/commands/react-native/__tests__/interfaces.test.js +33 -0
  109. package/dist/commands/react-native/__tests__/interfaces.test.js.map +1 -0
  110. package/dist/commands/react-native/__tests__/upload.test.d.ts +1 -0
  111. package/dist/commands/react-native/__tests__/upload.test.js +238 -0
  112. package/dist/commands/react-native/__tests__/upload.test.js.map +1 -0
  113. package/dist/commands/react-native/__tests__/utils.test.d.ts +1 -0
  114. package/dist/commands/react-native/__tests__/utils.test.js +27 -0
  115. package/dist/commands/react-native/__tests__/utils.test.js.map +1 -0
  116. package/dist/commands/react-native/__tests__/xcode.test.d.ts +1 -0
  117. package/dist/commands/react-native/__tests__/xcode.test.js +465 -0
  118. package/dist/commands/react-native/__tests__/xcode.test.js.map +1 -0
  119. package/dist/commands/sarif/__tests__/upload.test.d.ts +1 -0
  120. package/dist/commands/sarif/__tests__/upload.test.js +228 -0
  121. package/dist/commands/sarif/__tests__/upload.test.js.map +1 -0
  122. package/dist/commands/sarif/upload.js +2 -2
  123. package/dist/commands/sarif/upload.js.map +1 -1
  124. package/dist/commands/sbom/__tests__/payload.test.d.ts +1 -0
  125. package/dist/commands/sbom/__tests__/payload.test.js +262 -0
  126. package/dist/commands/sbom/__tests__/payload.test.js.map +1 -0
  127. package/dist/commands/sbom/__tests__/validation.test.d.ts +1 -0
  128. package/dist/commands/sbom/__tests__/validation.test.js +41 -0
  129. package/dist/commands/sbom/__tests__/validation.test.js.map +1 -0
  130. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +1 -0
  131. package/dist/commands/sourcemaps/__tests__/upload.test.js +270 -0
  132. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +1 -0
  133. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +1 -0
  134. package/dist/commands/sourcemaps/__tests__/utils.test.js +31 -0
  135. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +1 -0
  136. package/dist/commands/sourcemaps/upload.js +2 -2
  137. package/dist/commands/sourcemaps/upload.js.map +1 -1
  138. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +1 -0
  139. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +192 -0
  140. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +1 -0
  141. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +6 -0
  142. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +45 -0
  143. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +1 -0
  144. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +5 -0
  145. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +19 -0
  146. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +1 -0
  147. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +1 -0
  148. package/dist/commands/stepfunctions/__tests__/helpers.test.js +205 -0
  149. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +1 -0
  150. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +1 -0
  151. package/dist/commands/stepfunctions/__tests__/instrument.test.js +431 -0
  152. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +1 -0
  153. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +1 -0
  154. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +166 -0
  155. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +1 -0
  156. package/dist/commands/synthetics/__tests__/api.test.d.ts +1 -0
  157. package/dist/commands/synthetics/__tests__/api.test.js +422 -0
  158. package/dist/commands/synthetics/__tests__/api.test.js.map +1 -0
  159. package/dist/commands/synthetics/__tests__/cli.test.d.ts +1 -0
  160. package/dist/commands/synthetics/__tests__/cli.test.js +1325 -0
  161. package/dist/commands/synthetics/__tests__/cli.test.js.map +1 -0
  162. package/dist/commands/synthetics/__tests__/fixtures.d.ts +149 -0
  163. package/dist/commands/synthetics/__tests__/fixtures.js +507 -0
  164. package/dist/commands/synthetics/__tests__/fixtures.js.map +1 -0
  165. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +1 -0
  166. package/dist/commands/synthetics/__tests__/mobile.test.js +376 -0
  167. package/dist/commands/synthetics/__tests__/mobile.test.js.map +1 -0
  168. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +1 -0
  169. package/dist/commands/synthetics/__tests__/reporters/default.test.js +354 -0
  170. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +1 -0
  171. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +1 -0
  172. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +353 -0
  173. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +1 -0
  174. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +1 -0
  175. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +232 -0
  176. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +1 -0
  177. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +1 -0
  178. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +735 -0
  179. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +1 -0
  180. package/dist/commands/synthetics/__tests__/test.test.d.ts +1 -0
  181. package/dist/commands/synthetics/__tests__/test.test.js +33 -0
  182. package/dist/commands/synthetics/__tests__/test.test.js.map +1 -0
  183. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +1 -0
  184. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +21 -0
  185. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +1 -0
  186. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +1 -0
  187. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +80 -0
  188. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +1 -0
  189. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +1 -0
  190. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +109 -0
  191. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +1 -0
  192. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +1 -0
  193. package/dist/commands/synthetics/__tests__/utils/internal.test.js +186 -0
  194. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +1 -0
  195. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +1 -0
  196. package/dist/commands/synthetics/__tests__/utils/public.test.js +1526 -0
  197. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +1 -0
  198. package/dist/commands/synthetics/api.d.ts +1 -1
  199. package/dist/commands/synthetics/api.js +10 -5
  200. package/dist/commands/synthetics/api.js.map +1 -1
  201. package/dist/commands/synthetics/run-tests-command.d.ts +1 -0
  202. package/dist/commands/synthetics/run-tests-command.js +3 -2
  203. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  204. package/dist/commands/synthetics/run-tests-lib.js +0 -4
  205. package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
  206. package/dist/commands/synthetics/test.js +9 -1
  207. package/dist/commands/synthetics/test.js.map +1 -1
  208. package/dist/commands/synthetics/utils/public.js +3 -3
  209. package/dist/commands/synthetics/utils/public.js.map +1 -1
  210. package/dist/commands/tag/__tests__/tag.test.d.ts +1 -0
  211. package/dist/commands/tag/__tests__/tag.test.js +75 -0
  212. package/dist/commands/tag/__tests__/tag.test.js.map +1 -0
  213. package/dist/commands/trace/__tests__/trace.test.d.ts +1 -0
  214. package/dist/commands/trace/__tests__/trace.test.js +145 -0
  215. package/dist/commands/trace/__tests__/trace.test.js.map +1 -0
  216. package/dist/commands/trace/trace.js +1 -1
  217. package/dist/commands/trace/trace.js.map +1 -1
  218. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +1 -0
  219. package/dist/commands/unity-symbols/__tests__/upload.test.js +369 -0
  220. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +1 -0
  221. package/dist/commands/unity-symbols/upload.js +2 -2
  222. package/dist/commands/unity-symbols/upload.js.map +1 -1
  223. package/dist/helpers/__tests__/app.test.d.ts +1 -0
  224. package/dist/helpers/__tests__/app.test.js +31 -0
  225. package/dist/helpers/__tests__/app.test.js.map +1 -0
  226. package/dist/helpers/__tests__/ci.test.d.ts +1 -0
  227. package/dist/helpers/__tests__/ci.test.js +252 -0
  228. package/dist/helpers/__tests__/ci.test.js.map +1 -0
  229. package/dist/helpers/__tests__/fixtures.d.ts +33 -0
  230. package/dist/helpers/__tests__/fixtures.js +71 -0
  231. package/dist/helpers/__tests__/fixtures.js.map +1 -0
  232. package/dist/helpers/__tests__/flare.test.d.ts +1 -0
  233. package/dist/helpers/__tests__/flare.test.js +226 -0
  234. package/dist/helpers/__tests__/flare.test.js.map +1 -0
  235. package/dist/helpers/__tests__/fs.test.d.ts +1 -0
  236. package/dist/helpers/__tests__/fs.test.js +189 -0
  237. package/dist/helpers/__tests__/fs.test.js.map +1 -0
  238. package/dist/helpers/__tests__/plist.test.d.ts +1 -0
  239. package/dist/helpers/__tests__/plist.test.js +43 -0
  240. package/dist/helpers/__tests__/plist.test.js.map +1 -0
  241. package/dist/helpers/__tests__/prompt.test.d.ts +1 -0
  242. package/dist/helpers/__tests__/prompt.test.js +71 -0
  243. package/dist/helpers/__tests__/prompt.test.js.map +1 -0
  244. package/dist/helpers/__tests__/retry.test.d.ts +1 -0
  245. package/dist/helpers/__tests__/retry.test.js +99 -0
  246. package/dist/helpers/__tests__/retry.test.js.map +1 -0
  247. package/dist/helpers/__tests__/tags.test.d.ts +1 -0
  248. package/dist/helpers/__tests__/tags.test.js +71 -0
  249. package/dist/helpers/__tests__/tags.test.js.map +1 -0
  250. package/dist/helpers/__tests__/upload.test.d.ts +1 -0
  251. package/dist/helpers/__tests__/upload.test.js +231 -0
  252. package/dist/helpers/__tests__/upload.test.js.map +1 -0
  253. package/dist/helpers/__tests__/user-provided-git.test.d.ts +1 -0
  254. package/dist/helpers/__tests__/user-provided-git.test.js +119 -0
  255. package/dist/helpers/__tests__/user-provided-git.test.js.map +1 -0
  256. package/dist/helpers/__tests__/utils.test.d.ts +1 -0
  257. package/dist/helpers/__tests__/utils.test.js +429 -0
  258. package/dist/helpers/__tests__/utils.test.js.map +1 -0
  259. package/dist/helpers/__tests__/validation.test.d.ts +1 -0
  260. package/dist/helpers/__tests__/validation.test.js +25 -0
  261. package/dist/helpers/__tests__/validation.test.js.map +1 -0
  262. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +1 -0
  263. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +103 -0
  264. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +1 -0
  265. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +1 -0
  266. package/dist/helpers/git/__tests__/format-git-span-data.test.js +121 -0
  267. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +1 -0
  268. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +1 -0
  269. package/dist/helpers/git/__tests__/get-git-data.test.js +72 -0
  270. package/dist/helpers/git/__tests__/get-git-data.test.js.map +1 -0
  271. package/package.json +4 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstrument.test.js","sourceRoot":"","sources":["../../../../src/commands/lambda/__tests__/uninstrument.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,iCAC5C,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAAC,KACtD,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAClB,CAAC,CAAA;AACH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACtB,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;AAC1D,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;AACpC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC,CAAA;AAEhE,uCAAwB;AAExB,0DAK+B;AAC/B,wEAAqD;AACrD,6DAA8C;AAE9C,kDAAsG;AACtG,kEAAoF;AACpF,oDAA2D;AAE3D,oCAAiC;AAEjC,4CAUqB;AACrB,sCAAyE;AACzE,kDAAmD;AAEnD,yCAMmB;AAEnB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,MAAM,gBAAgB,GAAG,IAAA,gCAAU,EAAC,4BAAY,CAAC,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAA;YAC3B,UAAU,CAAC,GAAG,EAAE;gBACd,gBAAgB,CAAC,KAAK,EAAE,CAAA;gBACxB,IAAA,mCAAwB,EAAC,gBAAgB,CAAC,CAAA;gBAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;gBACnB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,GAAG,EAAE;gBACZ,OAAO,CAAC,GAAG,GAAG,OAAO,CAAA;YACvB,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,mDAAmD,EAAE,GAAS,EAAE;gBACnE,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;oBACzC,6DAA6D,EAAE;wBAC7D,MAAM,EAAE;4BACN,aAAa,EAAE,CAAC,QAAQ,CAAC;4BACzB,WAAW,EAAE;gCACX,SAAS,EAAE;oCACT,CAAC,+BAAmB,CAAC,EAAE,SAAS;oCAChC,CAAC,gCAAoB,CAAC,EAAE,MAAM;oCAC9B,CAAC,kCAAsB,CAAC,EAAE,gCAAgC;oCAC1D,CAAC,6BAAiB,CAAC,EAAE,OAAO;oCAC5B,CAAC,qCAAyB,CAAC,EAAE,OAAO;oCACpC,CAAC,2BAAe,CAAC,EAAE,YAAY;oCAC/B,CAAC,wBAAY,CAAC,EAAE,eAAe;oCAC/B,CAAC,iCAAqB,CAAC,EAAE,MAAM;oCAC/B,CAAC,2BAAe,CAAC,EAAE,KAAK;oCACxB,CAAC,mDAAuC,CAAC,EAAE,IAAI;oCAC/C,aAAa,EAAE,0CAA0C;iCAC1D;6BACF;4BACD,WAAW,EAAE,6DAA6D;4BAC1E,OAAO,EAAE,gCAAgC;4BACzC,MAAM,EAAE;gCACN;oCACE,GAAG,EAAE,kEAAkE;oCACvE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;gCACD;oCACE,GAAG,EAAE,iEAAiE;oCACtE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;6BACF;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF;iBACF,CAAC,CAAA;gBAEF,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,WAAW,GAAG,6DAA6D,CAAA;gBACjF,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAA;gBACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC3G,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;SAoBpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,0DAA0D,EAAE,GAAS,EAAE;gBAC1E,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;oBACzC,6DAA6D,EAAE;wBAC7D,MAAM,EAAE;4BACN,WAAW,EAAE;gCACX,SAAS,EAAE;oCACT,CAAC,+BAAmB,CAAC,EAAE,SAAS;oCAChC,CAAC,gCAAoB,CAAC,EAAE,MAAM;oCAC9B,CAAC,kCAAsB,CAAC,EAAE,gCAAgC;oCAC1D,CAAC,6BAAiB,CAAC,EAAE,OAAO;oCAC5B,CAAC,qCAAyB,CAAC,EAAE,OAAO;oCACpC,CAAC,2BAAe,CAAC,EAAE,YAAY;oCAC/B,CAAC,wBAAY,CAAC,EAAE,eAAe;oCAC/B,CAAC,iCAAqB,CAAC,EAAE,MAAM;oCAC/B,CAAC,2BAAe,CAAC,EAAE,KAAK;oCACxB,aAAa,EAAE,0CAA0C;iCAC1D;6BACF;4BACD,WAAW,EAAE,6DAA6D;4BAC1E,OAAO,EAAE,gCAAgC;4BACzC,MAAM,EAAE;gCACN;oCACE,GAAG,EAAE,kEAAkE;oCACvE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;gCACD;oCACE,GAAG,EAAE,iEAAiE;oCACtE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;6BACF;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF;iBACF,CAAC,CAAA;gBAEF,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,WAAW,GAAG,6DAA6D,CAAA;gBACjF,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAA;gBACpC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;gBACxF,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,kDAAkC,CAAC,CAAA;YACpF,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,+CAA+C,EAAE,GAAS,EAAE;gBAC/D,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,gBAAgB,CAAC,EAAE,CAAC,kCAAkB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;gBAEhE,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAClD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;gBAE/B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,mDAAmD,EAAE,GAAS,EAAE;gBACnE,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;gBAExF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACpB,0FAA0F,CAC3F,CAAA;YACH,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,8CAA8C,EAAE,GAAS,EAAE;gBAC9D,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,sEAAsE,EAAE,GAAS,EAAE;gBACtF,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAClD,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAA;gBAC9C,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,4DAA4D,EAAE,GAAS,EAAE;gBAC5E,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,IAAI,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAA;gBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;gBAC3G,OAAO,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;gBACzC,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBAC1B,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACpB,yFAAyF,CAC1F,CAAA;gBAED,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAA;gBACpC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;gBACjG,OAAO,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;gBACzC,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBAC1B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,8EAA8E,CAAC,CAAA;YACxG,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,uCAAuC,EAAE,GAAS,EAAE;gBACvD,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAA;gBACpC,OAAO,CAAC,cAAc,CAAC,GAAG,uDAAuD,CAAA;gBACjF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAA;YACnF,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,+DAA+D,EAAE,GAAS,EAAE;gBAC/E,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAClD,OAAO,CAAC,cAAc,CAAC,GAAG,aAAa,CAAA;gBACvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAA;YACtE,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,iCAAiC,EAAE,GAAS,EAAE;gBACjD,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBAEvG,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,gBAAgB,CAAC,EAAE,CAAC,oCAAoB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;gBACvE,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAA;gBACpC,OAAO,CAAC,cAAc,CAAC,GAAG,aAAa,CAAA;gBACvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,+CAA+C,EAAE,GAAS,EAAE;gBAC/D,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;oBACzC,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,aAAa,EAAE,CAAC,QAAQ,CAAC;4BACzB,WAAW,EAAE;gCACX,SAAS,EAAE;oCACT,CAAC,+BAAmB,CAAC,EAAE,SAAS;oCAChC,CAAC,gCAAoB,CAAC,EAAE,MAAM;oCAC9B,CAAC,kCAAsB,CAAC,EAAE,gCAAgC;oCAC1D,CAAC,6BAAiB,CAAC,EAAE,OAAO;oCAC5B,CAAC,qCAAyB,CAAC,EAAE,OAAO;oCACpC,CAAC,2BAAe,CAAC,EAAE,YAAY;oCAC/B,CAAC,wBAAY,CAAC,EAAE,eAAe;oCAC/B,CAAC,iCAAqB,CAAC,EAAE,MAAM;oCAC/B,CAAC,2BAAe,CAAC,EAAE,KAAK;oCACxB,aAAa,EAAE,0CAA0C;iCAC1D;6BACF;4BACD,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,gCAAgC;4BACzC,MAAM,EAAE;gCACN;oCACE,GAAG,EAAE,kEAAkE;oCACvE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;gCACD;oCACE,GAAG,EAAE,iEAAiE;oCACtE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;6BACF;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF;oBACD,qEAAqE,EAAE;wBACrE,MAAM,EAAE;4BACN,aAAa,EAAE,CAAC,QAAQ,CAAC;4BACzB,WAAW,EAAE;gCACX,SAAS,EAAE;oCACT,CAAC,+BAAmB,CAAC,EAAE,SAAS;oCAChC,CAAC,gCAAoB,CAAC,EAAE,MAAM;oCAC9B,CAAC,kCAAsB,CAAC,EAAE,gCAAgC;oCAC1D,CAAC,6BAAiB,CAAC,EAAE,OAAO;oCAC5B,CAAC,qCAAyB,CAAC,EAAE,OAAO;oCACpC,CAAC,2BAAe,CAAC,EAAE,YAAY;oCAC/B,CAAC,wBAAY,CAAC,EAAE,eAAe;oCAC/B,CAAC,iCAAqB,CAAC,EAAE,MAAM;oCAC/B,CAAC,2BAAe,CAAC,EAAE,KAAK;iCACzB;6BACF;4BACD,WAAW,EAAE,qEAAqE;4BAClF,YAAY,EAAE,sBAAsB;4BACpC,OAAO,EAAE,gCAAgC;4BACzC,MAAM,EAAE;gCACN;oCACE,GAAG,EAAE,kEAAkE;oCACvE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;gCACD;oCACE,GAAG,EAAE,iEAAiE;oCACtE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;6BACF;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF;iBACF,CAAC,CACD;gBAAC,8BAA6B,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACtD,OAAO,CAAC,GAAG,CAAC,qCAAyB,CAAC,GAAG,6BAAkB,CAAA;oBAC3D,OAAO,CAAC,GAAG,CAAC,yCAA6B,CAAC,GAAG,iCAAsB,CAAA;oBACnE,OAAO,CAAC,GAAG,CAAC,sCAA0B,CAAC,GAAG,WAAW,CAAA;gBACvD,CAAC,CAAC,CACD;gBAAC,iCAAgC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;oBAC1D,mEAAmE;oBACnE,qEAAqE;iBACtE,CAAC,CACD;gBAAC,4BAA2B,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;gBAE5D,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;gBACrE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAA;YAClC,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,yDAAyD,EAAE,GAAS,EAAE;gBACzE,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;oBACzC,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,aAAa,EAAE,CAAC,QAAQ,CAAC;4BACzB,WAAW,EAAE;gCACX,SAAS,EAAE;oCACT,CAAC,+BAAmB,CAAC,EAAE,SAAS;oCAChC,CAAC,gCAAoB,CAAC,EAAE,MAAM;oCAC9B,CAAC,kCAAsB,CAAC,EAAE,gCAAgC;oCAC1D,CAAC,6BAAiB,CAAC,EAAE,OAAO;oCAC5B,CAAC,qCAAyB,CAAC,EAAE,OAAO;oCACpC,CAAC,2BAAe,CAAC,EAAE,YAAY;oCAC/B,CAAC,wBAAY,CAAC,EAAE,eAAe;oCAC/B,CAAC,iCAAqB,CAAC,EAAE,MAAM;oCAC/B,CAAC,2BAAe,CAAC,EAAE,KAAK;oCACxB,aAAa,EAAE,0CAA0C;iCAC1D;6BACF;4BACD,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,gCAAgC;4BACzC,MAAM,EAAE;gCACN;oCACE,GAAG,EAAE,kEAAkE;oCACvE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;gCACD;oCACE,GAAG,EAAE,iEAAiE;oCACtE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;6BACF;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF;oBACD,qEAAqE,EAAE;wBACrE,MAAM,EAAE;4BACN,aAAa,EAAE,CAAC,QAAQ,CAAC;4BACzB,WAAW,EAAE;gCACX,SAAS,EAAE;oCACT,CAAC,+BAAmB,CAAC,EAAE,SAAS;oCAChC,CAAC,gCAAoB,CAAC,EAAE,MAAM;oCAC9B,CAAC,kCAAsB,CAAC,EAAE,gCAAgC;oCAC1D,CAAC,6BAAiB,CAAC,EAAE,OAAO;oCAC5B,CAAC,qCAAyB,CAAC,EAAE,OAAO;oCACpC,CAAC,2BAAe,CAAC,EAAE,YAAY;oCAC/B,CAAC,wBAAY,CAAC,EAAE,eAAe;oCAC/B,CAAC,iCAAqB,CAAC,EAAE,MAAM;oCAC/B,CAAC,2BAAe,CAAC,EAAE,KAAK;iCACzB;6BACF;4BACD,WAAW,EAAE,qEAAqE;4BAClF,YAAY,EAAE,sBAAsB;4BACpC,OAAO,EAAE,gCAAgC;4BACzC,MAAM,EAAE;gCACN;oCACE,GAAG,EAAE,kEAAkE;oCACvE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;gCACD;oCACE,GAAG,EAAE,iEAAiE;oCACtE,QAAQ,EAAE,CAAC;oCACX,aAAa,EAAE,sBAAsB;oCACrC,wBAAwB,EAAE,sBAAsB;iCACjD;6BACF;4BACD,OAAO,EAAE,WAAW;yBACrB;qBACF;iBACF,CAAC,CACD;gBAAC,8BAA6B,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACtD,OAAO,CAAC,GAAG,CAAC,qCAAyB,CAAC,GAAG,6BAAkB,CAAA;oBAC3D,OAAO,CAAC,GAAG,CAAC,yCAA6B,CAAC,GAAG,iCAAsB,CAAA;oBACnE,OAAO,CAAC,GAAG,CAAC,sCAA0B,CAAC,GAAG,WAAW,CAAA;gBACvD,CAAC,CAAC,CACD;gBAAC,iCAAgC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;oBAC1D,mEAAmE;oBACnE,qEAAqE;iBACtE,CAAC,CACD;gBAAC,4BAA2B,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;gBAE5D,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB;oBACE,QAAQ;oBACR,cAAc;oBACd,IAAI;oBACJ,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,qEAAqE;iBACtE,EACD,OAAO,CACR,CAAA;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAA;YAClC,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,4EAA4E,EAAE,GAAS,EAAE;gBAC5F,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CACtG;gBAAC,8BAA6B,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;gBAC5F,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;gBACrE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;SAMpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,0EAA0E,EAAE,GAAS,EAAE;gBAC1F,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,OAAO,CAAC,GAAG,GAAG;oBACZ,CAAC,qCAAyB,CAAC,EAAE,6BAAkB;oBAC/C,CAAC,yCAA6B,CAAC,EAAE,iCAAsB;oBACvD,CAAC,sCAA0B,CAAC,EAAE,WAAW;iBAC1C,CAAA;gBAED,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;gBACrE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,mFAAmF,EAAE,GAAS,EAAE;gBACnG,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,OAAO,CAAC,GAAG,GAAG;oBACZ,CAAC,qCAAyB,CAAC,EAAE,6BAAkB;oBAC/C,CAAC,yCAA6B,CAAC,EAAE,iCAAsB;oBACvD,CAAC,sCAA0B,CAAC,EAAE,WAAW;iBAC1C,CAAA;gBAED,gBAAgB,CAAC,EAAE,CAAC,oCAAoB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;gBAEvE,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;gBACrE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,0DAA0D,EAAE,GAAS,EAAE;gBAC1E,CAAC;gBAAC,8BAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACxC,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAC/B,CAAC,CAAC,CAAA;gBAEF,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,WAAW,GAAG,mEAAmE,CAAA;gBACvF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAC9E,OAAO,CACR,CAAA;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;SAKpC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,wHAAwH,EAAE,GAAS,EAAE;gBACxI,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,MAAM,cAAc,GAAG;oBACrB,mEAAmE;oBACnE,mEAAmE;oBACnE,mEAAmE;iBACpE,CAAA;gBACD,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;oBACzC,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;iBACF,CAAC,CAAA;gBAEF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;oBAC1C,gBAAgB;yBACb,EAAE,CAAC,kDAAkC,EAAE,EAAC,YAAY,EAAE,aAAa,EAAC,CAAC;yBACrE,OAAO,CAAC,mCAAmC,CAAC,CAAA;iBAChD;gBAED,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB;oBACE,QAAQ;oBACR,YAAY;oBACZ,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,mEAAmE;iBACpE,EACD,OAAO,CACR,CAAA;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAA;YAClC,CAAC,CAAA,CAAC,CAAA;YAEF,IAAI,CAAC,mEAAmE,EAAE,GAAS,EAAE;gBACnF,CAAC;gBAAC,EAAE,CAAC,QAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;gBACvG,MAAM,cAAc,GAAG;oBACrB,mEAAmE;oBACnE,mEAAmE;iBACpE,CAAA;gBACD,IAAA,mCAAwB,EAAC,gBAAgB,EAAE;oBACzC,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,mEAAmE,EAAE;wBACnE,MAAM,EAAE;4BACN,WAAW,EAAE,mEAAmE;4BAChF,YAAY,EAAE,oBAAoB;4BAClC,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,YAAY;yBACtB;qBACF;iBACF,CAAC,CAAA;gBACF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;oBAC1C,gBAAgB;yBACb,EAAE,CAAC,kDAAkC,EAAE,EAAC,YAAY,EAAE,aAAa,EAAC,CAAC;yBACrE,OAAO,CAAC,mCAAmC,CAAC,CAAA;iBAChD;gBAED,MAAM,GAAG,GAAG,IAAA,kBAAO,GAAE,CAAA;gBACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,GAAE,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB;oBACE,QAAQ;oBACR,YAAY;oBACZ,IAAI;oBACJ,mEAAmE;oBACnE,IAAI;oBACJ,mEAAmE;iBACpE,EACD,OAAO,CACR,CAAA;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAA;YAClC,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;gBAC/C,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA;gBAChB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,kCAAmB,CAAC,CAAA;gBAElD,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAA;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;iBAI5B,CAAC,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const chalk_1 = __importDefault(require("chalk"));
16
+ const advanced_1 = require("clipanion/lib/advanced");
17
+ const measure_1 = require("../measure");
18
+ const makeCLI = () => {
19
+ const cli = new advanced_1.Cli();
20
+ cli.register(measure_1.MeasureCommand);
21
+ return cli;
22
+ };
23
+ const createMockContext = () => {
24
+ let out = '';
25
+ let err = '';
26
+ return {
27
+ stderr: {
28
+ toString: () => err,
29
+ write: (input) => {
30
+ err += input;
31
+ },
32
+ },
33
+ stdout: {
34
+ toString: () => out,
35
+ write: (input) => {
36
+ out += input;
37
+ },
38
+ },
39
+ };
40
+ };
41
+ describe('parse measures', () => {
42
+ test('should fail if measures key value pair does not contain a :', () => {
43
+ expect(() => {
44
+ (0, measure_1.parseMeasures)(['notkeyvalue', 'key:1']);
45
+ }).toThrow('invalid measures key value pair "notkeyvalue"');
46
+ });
47
+ test('should fail if measures key value pair is not numeric', () => {
48
+ expect(() => {
49
+ (0, measure_1.parseMeasures)(['key:notanumber', 'key1:55']);
50
+ }).toThrow('value is not numeric');
51
+ });
52
+ test('should work for all valid number types', () => {
53
+ expect((0, measure_1.parseMeasures)(['int:1', 'float:1.1', 'negativeint:-1', 'negativefloat:-0.7391'])).toStrictEqual({
54
+ float: 1.1,
55
+ int: 1,
56
+ negativefloat: -0.7391,
57
+ negativeint: -1,
58
+ });
59
+ });
60
+ });
61
+ describe('execute', () => {
62
+ const runCLI = (level, measures, env) => __awaiter(void 0, void 0, void 0, function* () {
63
+ const cli = makeCLI();
64
+ const context = createMockContext();
65
+ process.env = Object.assign({ DATADOG_API_KEY: 'PLACEHOLDER' }, env);
66
+ const measuresList = [];
67
+ measures.forEach((t) => {
68
+ measuresList.push('--measures');
69
+ measuresList.push(t);
70
+ });
71
+ const code = yield cli.run(['measure', '--level', level, ...measuresList], context);
72
+ return { context, code };
73
+ });
74
+ test('should fail if an invalid level given', () => __awaiter(void 0, void 0, void 0, function* () {
75
+ const { context, code } = yield runCLI('stage', ['key:1'], { BUILDKITE: 'true', BUILDKITE_BUILD_ID: 'id' });
76
+ expect(code).toBe(1);
77
+ expect(context.stderr.toString()).toContain('Level must be one of [pipeline, job]');
78
+ }));
79
+ test('should fail if no measures provided', () => __awaiter(void 0, void 0, void 0, function* () {
80
+ const { context, code } = yield runCLI('pipeline', [], { BUILDKITE: 'true', BUILDKITE_BUILD_ID: 'id' });
81
+ expect(code).toBe(1);
82
+ expect(context.stderr.toString()).toContain('--measures is required');
83
+ }));
84
+ test('should fail if not running in a supported provider', () => __awaiter(void 0, void 0, void 0, function* () {
85
+ const { context, code } = yield runCLI('pipeline', ['key:1'], {});
86
+ expect(code).toBe(1);
87
+ expect(context.stderr.toString()).toContain('Only providers [GitHub, GitLab, CircleCI, Buildkite, Jenkins, TeamCity, AzurePipelines] are supported');
88
+ }));
89
+ });
90
+ describe('warnings when deprecated metric mentioned', () => {
91
+ test('should warn if metric command is used', () => __awaiter(void 0, void 0, void 0, function* () {
92
+ const cli = makeCLI();
93
+ const context = createMockContext();
94
+ yield cli.run(['metric', '--level', 'pipeline', '--measures', 'key:1'], context);
95
+ expect(context.stdout.toString()).toBe(chalk_1.default.yellow('[WARN] The "metric" command is deprecated. Please use the "measure" command instead.\n'));
96
+ }));
97
+ test('should double warn if metric command is used with metrics option', () => __awaiter(void 0, void 0, void 0, function* () {
98
+ const cli = makeCLI();
99
+ const context = createMockContext();
100
+ yield cli.run(['metric', '--level', 'pipeline', '--metrics', 'key:1'], context);
101
+ expect(context.stdout.toString()).toBe(chalk_1.default.yellow('[WARN] The "metric" command is deprecated. Please use the "measure" command instead.\n[WARN] The "--metrics" flag is deprecated. Please use "--measures" flag instead.\n'));
102
+ }));
103
+ test('should warn if metrics flag is used', () => __awaiter(void 0, void 0, void 0, function* () {
104
+ const cli = makeCLI();
105
+ const context = createMockContext();
106
+ yield cli.run(['measure', '--level', 'pipeline', '--metrics', 'key:1'], context);
107
+ expect(context.stdout.toString()).toBe(chalk_1.default.yellow('[WARN] The "--metrics" flag is deprecated. Please use "--measures" flag instead.\n'));
108
+ }));
109
+ });
110
+ //# sourceMappingURL=measure.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure.test.js","sourceRoot":"","sources":["../../../../src/commands/measure/__tests__/measure.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const fs_1 = require("fs");
13
+ const advanced_1 = require("clipanion/lib/advanced");
14
+ const codepush_1 = require("../codepush");
15
+ jest.mock('child_process', () => ({
16
+ exec: jest.fn().mockImplementation((command, callback) => {
17
+ const commandArgs = command.split(' ');
18
+ const appNameIndex = commandArgs.findIndex((arg) => arg === '--app') + 1;
19
+ const appName = commandArgs[appNameIndex];
20
+ let error;
21
+ let stdout;
22
+ let stderr;
23
+ if (appName === 'FakeOrg/FakeApp') {
24
+ stdout = (0, fs_1.readFileSync)('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/valid-deployment.txt');
25
+ }
26
+ else if (appName === 'FakeOrg/NoNetwork') {
27
+ error = `Error: Command failed: ${command}`;
28
+ stderr = (0, fs_1.readFileSync)('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/no-network.txt');
29
+ }
30
+ else if (appName === 'FakeOrg/NoRelease') {
31
+ stdout = (0, fs_1.readFileSync)('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/no-release-for-deployment.txt');
32
+ }
33
+ else if (appName === 'FakeOrg/WrongAppName') {
34
+ error = `Error: Command failed: ${command}`;
35
+ stderr = (0, fs_1.readFileSync)('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/wrong-app-name.txt');
36
+ }
37
+ else if (appName === 'FakeOrg/WrongDeploymentName') {
38
+ error = `Error: Command failed: ${command}`;
39
+ stderr = (0, fs_1.readFileSync)('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/wrong-deployment-name.txt');
40
+ }
41
+ else if (appName === 'FakeOrg/NotLoggedIn') {
42
+ error = `Error: Command failed: ${command}`;
43
+ stderr = (0, fs_1.readFileSync)('./src/commands/react-native/__tests__/fixtures/codepush-deployment-history/not-logged-in.txt');
44
+ }
45
+ else {
46
+ error = 'App name not mocked';
47
+ stderr = `App name ${appName} is not registered in the tests, add it in the \`exec\` mock at the top of src/commands/react-native/__tests__/codepush.test.ts`;
48
+ }
49
+ callback(error, stdout, stderr);
50
+ }),
51
+ }));
52
+ const makeCli = () => {
53
+ const cli = new advanced_1.Cli();
54
+ cli.register(codepush_1.CodepushCommand);
55
+ return cli;
56
+ };
57
+ const createMockContext = () => {
58
+ let data = '';
59
+ let errorData = '';
60
+ return {
61
+ stderr: {
62
+ toString: () => errorData,
63
+ write: (input) => {
64
+ errorData += input;
65
+ },
66
+ },
67
+ stdout: {
68
+ toString: () => data,
69
+ write: (input) => {
70
+ data += input;
71
+ },
72
+ },
73
+ };
74
+ };
75
+ const runCLI = (appName, options) => __awaiter(void 0, void 0, void 0, function* () {
76
+ const cli = makeCli();
77
+ const context = createMockContext();
78
+ process.env = Object.assign(Object.assign({}, process.env), { DATADOG_API_KEY: 'PLACEHOLDER' });
79
+ const command = [
80
+ 'react-native',
81
+ 'codepush',
82
+ '--platform',
83
+ 'ios',
84
+ '--service',
85
+ 'com.myapp',
86
+ '--sourcemap',
87
+ './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
88
+ '--app',
89
+ appName,
90
+ '--deployment',
91
+ 'Production',
92
+ '--disable-git',
93
+ '--dry-run',
94
+ ];
95
+ if ((options === null || options === void 0 ? void 0 : options.uploadBundle) !== false) {
96
+ command.push('--bundle', './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
97
+ }
98
+ const code = yield cli.run(command, context);
99
+ return { context, code };
100
+ });
101
+ describe('codepush', () => {
102
+ describe('execute', () => {
103
+ it('calls the upload command with a correct version number from the codepush history', () => __awaiter(void 0, void 0, void 0, function* () {
104
+ const { context, code } = yield runCLI('FakeOrg/FakeApp');
105
+ // Uncomment these lines for debugging failing script
106
+ // console.log(context.stdout.toString())
107
+ // console.log(context.stderr.toString())
108
+ expect(code).toBe(0);
109
+ const output = context.stdout.toString();
110
+ expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle main.jsbundle on platform ios');
111
+ expect(output).toContain('version: 1.0-codepush.v7 build: 1 service: com.myapp');
112
+ }));
113
+ it('calls the upload command with a correct version number from the codepush history without bundle', () => __awaiter(void 0, void 0, void 0, function* () {
114
+ const { context, code } = yield runCLI('FakeOrg/FakeApp', { uploadBundle: false });
115
+ // Uncomment these lines for debugging failing script
116
+ // console.log(context.stdout.toString())
117
+ // console.log(context.stderr.toString())
118
+ expect(code).toBe(0);
119
+ const output = context.stdout.toString();
120
+ expect(output).toContain('Upload of ./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map for bundle main.jsbundle on platform ios');
121
+ expect(output).toContain('version: 1.0-codepush.v7 build: 1 service: com.myapp');
122
+ }));
123
+ it('shows a meaningful error message when no release has been made yet', () => __awaiter(void 0, void 0, void 0, function* () {
124
+ const { context, code } = yield runCLI('FakeOrg/NoRelease');
125
+ // Uncomment these lines for debugging failing script
126
+ // console.log(context.stdout.toString())
127
+ // console.log(context.stderr.toString())
128
+ expect(code).toBe(1);
129
+ const output = context.stdout.toString();
130
+ expect(output).toContain('No codepush release has been created yet for FakeOrg/NoRelease Production');
131
+ }));
132
+ it('shows a meaningful error message when user has no network', () => __awaiter(void 0, void 0, void 0, function* () {
133
+ const { context, code } = yield runCLI('FakeOrg/NoNetwork');
134
+ // Uncomment these lines for debugging failing script
135
+ // console.log(context.stdout.toString())
136
+ // console.log(context.stderr.toString())
137
+ expect(code).toBe(1);
138
+ const output = context.stdout.toString();
139
+ expect(output).toContain('You need to have network access to be able to get the latest codepush label');
140
+ }));
141
+ it('shows a meaningful error message when user is not logged in to appcenter', () => __awaiter(void 0, void 0, void 0, function* () {
142
+ const { context, code } = yield runCLI('FakeOrg/NotLoggedIn');
143
+ // Uncomment these lines for debugging failing script
144
+ // console.log(context.stdout.toString())
145
+ // console.log(context.stderr.toString())
146
+ expect(code).toBe(1);
147
+ const output = context.stdout.toString();
148
+ expect(output).toContain("Command 'appcenter codepush deployment history' requires a logged in user. Use the 'appcenter login' command to log in.");
149
+ }));
150
+ it('shows a meaningful error message when user enters a non existing app name', () => __awaiter(void 0, void 0, void 0, function* () {
151
+ const { context, code } = yield runCLI('FakeOrg/WrongAppName');
152
+ // Uncomment these lines for debugging failing script
153
+ // console.log(context.stdout.toString())
154
+ // console.log(context.stderr.toString())
155
+ expect(code).toBe(1);
156
+ const output = context.stdout.toString();
157
+ expect(output).toContain('The app FakeOrg/WrongAppName does not exist.');
158
+ }));
159
+ });
160
+ });
161
+ //# sourceMappingURL=codepush.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codepush.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/codepush.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const promises_1 = __importDefault(require("fs/promises"));
16
+ const interfaces_1 = require("../interfaces");
17
+ describe('interfaces', () => {
18
+ beforeEach(() => {
19
+ jest.restoreAllMocks();
20
+ });
21
+ describe('removeSourcesContentFromSourceMap', () => {
22
+ test('should remove the sources content part of sourcemaps', () => __awaiter(void 0, void 0, void 0, function* () {
23
+ const sourcemap = new interfaces_1.RNSourcemap('main.jsbundle', './src/commands/react-native/__tests__/fixtures/with-sources-content/main.jsbundle.map');
24
+ sourcemap.removeSourcesContentFromSourceMap();
25
+ const payload = sourcemap.asMultipartPayload('1.0', 'com.myapp', '1.2.3', '', 'android', '102030');
26
+ const sourcemapFilePath = payload.content.get('source_map').path;
27
+ const fileContent = yield promises_1.default.readFile(sourcemapFilePath, 'utf8');
28
+ expect(fileContent).toContain('"sources":["Users/me/datadog-ci/src/commands/sourcemaps/__tests__/git.test.ts"]');
29
+ expect(fileContent).not.toContain('"sourcesContent"');
30
+ }));
31
+ });
32
+ });
33
+ //# sourceMappingURL=interfaces.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.test.js","sourceRoot":"","sources":["../../../../src/commands/react-native/__tests__/interfaces.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2DAA4B;AAI5B,8CAAyC;AAEzC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,EAAE,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,IAAI,CAAC,sDAAsD,EAAE,GAAS,EAAE;YACtE,MAAM,SAAS,GAAG,IAAI,wBAAW,CAC/B,eAAe,EACf,uFAAuF,CACxF,CAAA;YACD,SAAS,CAAC,iCAAiC,EAAE,CAAA;YAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;YAClG,MAAM,iBAAiB,GAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAwB,CAAC,IAAI,CAAA;YAExF,MAAM,WAAW,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;YAEhE,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,iFAAiF,CAAC,CAAA;YAChH,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACvD,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,238 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const os_1 = __importDefault(require("os"));
39
+ const chalk_1 = __importDefault(require("chalk"));
40
+ const advanced_1 = require("clipanion/lib/advanced");
41
+ const APIKeyHelpers = __importStar(require("../../../helpers/apikey"));
42
+ const interfaces_1 = require("../interfaces");
43
+ const upload_1 = require("../upload");
44
+ describe('upload', () => {
45
+ describe('getApiHelper', () => {
46
+ test('should throw an error if API key is undefined', () => __awaiter(void 0, void 0, void 0, function* () {
47
+ process.env = {};
48
+ const command = new upload_1.UploadCommand();
49
+ expect(command['getRequestBuilder'].bind(command)).toThrow(`Missing ${chalk_1.default.bold('DATADOG_API_KEY')} in your environment.`);
50
+ }));
51
+ });
52
+ describe('addRepositoryDataToPayloads', () => {
53
+ test('repository url and commit still defined without payload', () => __awaiter(void 0, void 0, void 0, function* () {
54
+ const command = new upload_1.UploadCommand();
55
+ const write = jest.fn();
56
+ command.context = { stdout: { write } };
57
+ const sourcemaps = new Array(new interfaces_1.RNSourcemap('empty.min.js', 'src/commands/react-native/__tests__/fixtures/sourcemap-with-no-files/empty.min.js.map'));
58
+ // The command will fetch git metadatas for the current datadog-ci repository.
59
+ // The `empty.min.js.map` contains no files, therefore no file payload should be set.
60
+ yield command['addRepositoryDataToPayloads'](sourcemaps);
61
+ expect(sourcemaps[0].gitData).toBeDefined();
62
+ expect(sourcemaps[0].gitData.gitRepositoryURL).toBeDefined();
63
+ expect(sourcemaps[0].gitData.gitCommitSha).toHaveLength(40);
64
+ expect(sourcemaps[0].gitData.gitRepositoryPayload).toBeUndefined();
65
+ }));
66
+ test('should include payload', () => __awaiter(void 0, void 0, void 0, function* () {
67
+ const command = new upload_1.UploadCommand();
68
+ const write = jest.fn();
69
+ command.context = { stdout: { write } };
70
+ const sourcemaps = new Array(new interfaces_1.RNSourcemap('main.jsbundle', 'src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'));
71
+ // The command will fetch git metadatas for the current datadog-ci repository.
72
+ // The `main.jsbundle.map` contains the "git.test.ts" filename which matches a tracked filename,
73
+ // therefore a file payload should be set.
74
+ // Removing the "git.test.ts" file will break this test.
75
+ yield command['addRepositoryDataToPayloads'](sourcemaps);
76
+ expect(sourcemaps[0].gitData).toBeDefined();
77
+ expect(sourcemaps[0].gitData.gitRepositoryURL).toBeDefined();
78
+ expect(sourcemaps[0].gitData.gitCommitSha).toHaveLength(40);
79
+ expect(sourcemaps[0].gitData.gitRepositoryPayload).toBeDefined();
80
+ }));
81
+ });
82
+ });
83
+ describe('execute', () => {
84
+ const runCLI = (bundle, options) => __awaiter(void 0, void 0, void 0, function* () {
85
+ const cli = makeCli();
86
+ const context = createMockContext();
87
+ process.env = { DATADOG_API_KEY: 'PLACEHOLDER' };
88
+ const command = [
89
+ 'react-native',
90
+ 'upload',
91
+ '--release-version',
92
+ '1.23.4',
93
+ '--build-version',
94
+ '1023040',
95
+ '--service',
96
+ 'com.company.app',
97
+ '--sourcemap',
98
+ `${bundle}.map`,
99
+ '--platform',
100
+ 'android',
101
+ '--dry-run',
102
+ ];
103
+ if ((options === null || options === void 0 ? void 0 : options.uploadBundle) !== false) {
104
+ command.push('--bundle', bundle);
105
+ }
106
+ if (options === null || options === void 0 ? void 0 : options.configPath) {
107
+ command.push('--config', options.configPath);
108
+ delete process.env.DATADOG_API_KEY;
109
+ }
110
+ if (options === null || options === void 0 ? void 0 : options.env) {
111
+ process.env = Object.assign(Object.assign({}, process.env), options.env);
112
+ }
113
+ const code = yield cli.run(command, context);
114
+ return { context, code };
115
+ });
116
+ test('relative path', () => __awaiter(void 0, void 0, void 0, function* () {
117
+ const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
118
+ const output = context.stdout.toString().split(os_1.default.EOL);
119
+ expect(code).toBe(0);
120
+ checkConsoleOutput(output, {
121
+ build: '1023040',
122
+ bundlePath: 'main.jsbundle',
123
+ concurrency: 20,
124
+ bundleName: 'main.jsbundle',
125
+ platform: 'android',
126
+ projectPath: '',
127
+ service: 'com.company.app',
128
+ sourcemapPath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
129
+ sourcemapsPaths: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'],
130
+ version: '1.23.4',
131
+ });
132
+ }));
133
+ test('absolute path', () => __awaiter(void 0, void 0, void 0, function* () {
134
+ const { context, code } = yield runCLI(process.cwd() + '/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle');
135
+ const output = context.stdout.toString().split(os_1.default.EOL);
136
+ expect(code).toBe(0);
137
+ checkConsoleOutput(output, {
138
+ build: '1023040',
139
+ bundlePath: `main.jsbundle`,
140
+ concurrency: 20,
141
+ bundleName: 'main.jsbundle',
142
+ platform: 'android',
143
+ projectPath: '',
144
+ service: 'com.company.app',
145
+ sourcemapPath: `${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map`,
146
+ sourcemapsPaths: [`${process.cwd()}/src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map`],
147
+ version: '1.23.4',
148
+ });
149
+ }));
150
+ test('reads config from JSON file', () => __awaiter(void 0, void 0, void 0, function* () {
151
+ const apiKeyValidatorSpy = jest.spyOn(APIKeyHelpers, 'newApiKeyValidator');
152
+ const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', {
153
+ configPath: './src/commands/react-native/__tests__/fixtures/config/config-with-api-key.json',
154
+ });
155
+ const output = context.stdout.toString().split(os_1.default.EOL);
156
+ expect(code).toBe(0);
157
+ checkConsoleOutput(output, {
158
+ build: '1023040',
159
+ bundlePath: 'main.jsbundle',
160
+ concurrency: 20,
161
+ bundleName: 'main.jsbundle',
162
+ platform: 'android',
163
+ projectPath: '',
164
+ service: 'com.company.app',
165
+ sourcemapPath: './src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map',
166
+ sourcemapsPaths: ['./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle.map'],
167
+ version: '1.23.4',
168
+ });
169
+ expect(apiKeyValidatorSpy).toHaveBeenCalledWith({
170
+ apiKey: '12345678900987654321aabbccddeeff',
171
+ datadogSite: expect.anything(),
172
+ metricsLogger: expect.anything(),
173
+ });
174
+ }));
175
+ test('uses API Key from env over config from JSON file', () => __awaiter(void 0, void 0, void 0, function* () {
176
+ const apiKeyValidatorSpy = jest.spyOn(APIKeyHelpers, 'newApiKeyValidator');
177
+ const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', {
178
+ configPath: './src/commands/react-native/__tests__/fixtures/config/config-with-api-key.json',
179
+ env: {
180
+ DATADOG_API_KEY: 'env_API_key',
181
+ },
182
+ });
183
+ const output = context.stdout.toString().split(os_1.default.EOL);
184
+ expect(code).toBe(0);
185
+ expect(apiKeyValidatorSpy).toHaveBeenCalledWith({
186
+ apiKey: 'env_API_key',
187
+ datadogSite: expect.anything(),
188
+ metricsLogger: expect.anything(),
189
+ });
190
+ expect(output).toContain('API keys were specified both in a configuration file and in the environment.');
191
+ expect(output).toContain('The environment API key ending in _key will be used.');
192
+ }));
193
+ test('prints warning when no bundle file is specified', () => __awaiter(void 0, void 0, void 0, function* () {
194
+ const { context, code } = yield runCLI('./src/commands/react-native/__tests__/fixtures/basic-ios/main.jsbundle', {
195
+ configPath: './src/commands/react-native/__tests__/fixtures/config/config-with-api-key.json',
196
+ uploadBundle: false,
197
+ });
198
+ const output = context.stdout.toString().split(os_1.default.EOL);
199
+ expect(code).toBe(0);
200
+ expect(output[2]).toContain('⚠️ --bundle option was not provided. A default bundle name will be used. Please update @datadog/mobile-react-native or pass a --bundle option.');
201
+ }));
202
+ });
203
+ const makeCli = () => {
204
+ const cli = new advanced_1.Cli();
205
+ cli.register(upload_1.UploadCommand);
206
+ return cli;
207
+ };
208
+ const createMockContext = () => {
209
+ let data = '';
210
+ return {
211
+ stdout: {
212
+ toString: () => data,
213
+ write: (input) => {
214
+ data += input;
215
+ },
216
+ },
217
+ };
218
+ };
219
+ const checkConsoleOutput = (output, expected) => {
220
+ expect(output[0]).toContain('DRY-RUN MODE ENABLED. WILL NOT UPLOAD SOURCEMAPS');
221
+ expect(output[1]).toContain('Starting upload.');
222
+ expect(output[2]).toContain(`Upload of ${expected.sourcemapPath} for bundle ${expected.bundlePath} on platform ${expected.platform} with project path ${expected.projectPath}`);
223
+ expect(output[3]).toContain(`version: ${expected.version} build: ${expected.build} service: ${expected.service}`);
224
+ expect(output[4]).toContain(`Please ensure you use the same values during SDK initialization to guarantee the success of the unminify process.`);
225
+ expect(output[5]).toContain(`After upload is successful sourcemap files will be processed and ready to use within the next 5 minutes.`);
226
+ const uploadedFileLines = output.slice(6, -4);
227
+ expect(uploadedFileLines.length).toEqual(expected.sourcemapsPaths.length); // Safety check
228
+ uploadedFileLines.forEach((_, index) => {
229
+ expect(uploadedFileLines[index]).toContain(`[DRYRUN] Uploading sourcemap ${expected.sourcemapsPaths} for JS file ${expected.bundleName}`);
230
+ });
231
+ if (uploadedFileLines.length > 1) {
232
+ expect(output.slice(-2, -1)[0]).toContain(`[DRYRUN] Handled ${uploadedFileLines.length} sourcemaps with success`);
233
+ }
234
+ else {
235
+ expect(output.slice(-2, -1)[0]).toContain(`[DRYRUN] Handled ${uploadedFileLines.length} sourcemap with success`);
236
+ }
237
+ };
238
+ //# sourceMappingURL=upload.test.js.map