@interactors/core 1.0.0 → 1.1.0-alpha.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 (346) hide show
  1. package/esm/mod.d.ts +2 -0
  2. package/esm/mod.d.ts.map +1 -0
  3. package/esm/mod.js +2 -0
  4. package/esm/mod.js.map +1 -0
  5. package/esm/package.json +3 -0
  6. package/{dist → esm/src}/constructor.d.ts +1 -1
  7. package/esm/src/constructor.d.ts.map +1 -0
  8. package/{dist/esm → esm/src}/constructor.js +20 -13
  9. package/esm/src/constructor.js.map +1 -0
  10. package/esm/src/converge.d.ts +3 -0
  11. package/esm/src/converge.d.ts.map +1 -0
  12. package/esm/src/converge.js.map +1 -0
  13. package/{dist → esm/src}/create-interactor.d.ts +1 -1
  14. package/esm/src/create-interactor.d.ts.map +1 -0
  15. package/{dist/esm → esm/src}/create-interactor.js +1 -1
  16. package/esm/src/create-interactor.js.map +1 -0
  17. package/esm/src/element/click.d.ts +3 -0
  18. package/esm/src/element/click.d.ts.map +1 -0
  19. package/esm/src/element/click.js +5 -0
  20. package/esm/src/element/click.js.map +1 -0
  21. package/esm/src/errors.d.ts.map +1 -0
  22. package/esm/src/errors.js +45 -0
  23. package/esm/src/errors.js.map +1 -0
  24. package/esm/src/escape-html.d.ts.map +1 -0
  25. package/esm/src/escape-html.js.map +1 -0
  26. package/{dist → esm/src}/filter-set.d.ts +1 -1
  27. package/esm/src/filter-set.d.ts.map +1 -0
  28. package/{dist/esm → esm/src}/filter-set.js +14 -6
  29. package/esm/src/filter-set.js.map +1 -0
  30. package/{dist → esm/src}/format.d.ts +2 -2
  31. package/esm/src/format.d.ts.map +1 -0
  32. package/esm/src/format.js.map +1 -0
  33. package/esm/src/index.d.ts +21 -0
  34. package/esm/src/index.d.ts.map +1 -0
  35. package/esm/src/index.js +15 -0
  36. package/esm/src/index.js.map +1 -0
  37. package/{dist → esm/src}/inspector.d.ts +1 -1
  38. package/esm/src/inspector.d.ts.map +1 -0
  39. package/{dist/esm → esm/src}/inspector.js +3 -3
  40. package/esm/src/inspector.js.map +1 -0
  41. package/{dist → esm/src}/interaction.d.ts +3 -3
  42. package/esm/src/interaction.d.ts.map +1 -0
  43. package/{dist/esm → esm/src}/interaction.js +2 -2
  44. package/esm/src/interaction.js.map +1 -0
  45. package/{dist → esm/src}/locator.d.ts +2 -2
  46. package/esm/src/locator.d.ts.map +1 -0
  47. package/esm/src/locator.js +25 -0
  48. package/esm/src/locator.js.map +1 -0
  49. package/{dist → esm/src}/match.d.ts +4 -4
  50. package/esm/src/match.d.ts.map +1 -0
  51. package/{dist/esm → esm/src}/match.js +99 -16
  52. package/esm/src/match.js.map +1 -0
  53. package/{dist → esm/src}/matcher.d.ts +4 -0
  54. package/esm/src/matcher.d.ts.map +1 -0
  55. package/{dist/esm → esm/src}/matcher.js +8 -0
  56. package/esm/src/matcher.js.map +1 -0
  57. package/esm/src/matchers/and.d.ts +3 -0
  58. package/esm/src/matchers/and.d.ts.map +1 -0
  59. package/{dist/esm → esm/src}/matchers/and.js +2 -1
  60. package/esm/src/matchers/and.js.map +1 -0
  61. package/esm/src/matchers/every.d.ts +3 -0
  62. package/esm/src/matchers/every.d.ts.map +1 -0
  63. package/{dist/esm → esm/src}/matchers/every.js +2 -1
  64. package/esm/src/matchers/every.js.map +1 -0
  65. package/esm/src/matchers/including.d.ts +3 -0
  66. package/esm/src/matchers/including.d.ts.map +1 -0
  67. package/{dist/esm → esm/src}/matchers/including.js +2 -1
  68. package/esm/src/matchers/including.js.map +1 -0
  69. package/esm/src/matchers/matching.d.ts +3 -0
  70. package/esm/src/matchers/matching.d.ts.map +1 -0
  71. package/{dist/esm → esm/src}/matchers/matching.js +2 -1
  72. package/esm/src/matchers/matching.js.map +1 -0
  73. package/esm/src/matchers/not.d.ts +3 -0
  74. package/esm/src/matchers/not.d.ts.map +1 -0
  75. package/{dist/esm → esm/src}/matchers/not.js +2 -1
  76. package/esm/src/matchers/not.js.map +1 -0
  77. package/esm/src/matchers/or.d.ts +3 -0
  78. package/esm/src/matchers/or.d.ts.map +1 -0
  79. package/{dist/esm → esm/src}/matchers/or.js +2 -1
  80. package/esm/src/matchers/or.js.map +1 -0
  81. package/esm/src/matchers/some.d.ts +3 -0
  82. package/esm/src/matchers/some.d.ts.map +1 -0
  83. package/{dist/esm → esm/src}/matchers/some.js +2 -1
  84. package/esm/src/matchers/some.js.map +1 -0
  85. package/esm/src/merge-objects.d.ts +2 -0
  86. package/esm/src/merge-objects.d.ts.map +1 -0
  87. package/{dist/cjs → esm/src}/merge-objects.js.map +1 -1
  88. package/esm/src/metadata.d.ts +50 -0
  89. package/esm/src/metadata.d.ts.map +1 -0
  90. package/esm/src/metadata.js +96 -0
  91. package/esm/src/metadata.js.map +1 -0
  92. package/{dist → esm/src}/resolvers.d.ts +1 -1
  93. package/esm/src/resolvers.d.ts.map +1 -0
  94. package/{dist/esm → esm/src}/resolvers.js +3 -3
  95. package/esm/src/resolvers.js.map +1 -0
  96. package/{dist → esm/src}/serialize.d.ts +3 -3
  97. package/esm/src/serialize.d.ts.map +1 -0
  98. package/{dist/esm → esm/src}/serialize.js +2 -3
  99. package/esm/src/serialize.js.map +1 -0
  100. package/{dist → esm/src}/specification.d.ts +6 -6
  101. package/esm/src/specification.d.ts.map +1 -0
  102. package/esm/src/specification.js.map +1 -0
  103. package/package.json +19 -47
  104. package/script/mod.d.ts +2 -0
  105. package/script/mod.d.ts.map +1 -0
  106. package/script/mod.js +18 -0
  107. package/script/mod.js.map +1 -0
  108. package/script/package.json +3 -0
  109. package/script/src/constructor.d.ts +4 -0
  110. package/script/src/constructor.d.ts.map +1 -0
  111. package/{dist/cjs → script/src}/constructor.js +61 -55
  112. package/script/src/constructor.js.map +1 -0
  113. package/script/src/converge.d.ts +3 -0
  114. package/script/src/converge.d.ts.map +1 -0
  115. package/{dist/cjs → script/src}/converge.js +1 -2
  116. package/script/src/converge.js.map +1 -0
  117. package/script/src/create-interactor.d.ts +18 -0
  118. package/script/src/create-interactor.d.ts.map +1 -0
  119. package/{dist/cjs → script/src}/create-interactor.js +3 -4
  120. package/script/src/create-interactor.js.map +1 -0
  121. package/script/src/element/click.d.ts +3 -0
  122. package/script/src/element/click.d.ts.map +1 -0
  123. package/script/src/element/click.js +8 -0
  124. package/script/src/element/click.js.map +1 -0
  125. package/script/src/errors.d.ts +13 -0
  126. package/script/src/errors.d.ts.map +1 -0
  127. package/{dist/cjs → script/src}/errors.js +24 -4
  128. package/script/src/errors.js.map +1 -0
  129. package/script/src/escape-html.d.ts +2 -0
  130. package/script/src/escape-html.d.ts.map +1 -0
  131. package/{dist/cjs → script/src}/escape-html.js +1 -2
  132. package/script/src/escape-html.js.map +1 -0
  133. package/script/src/filter-set.d.ts +10 -0
  134. package/script/src/filter-set.d.ts.map +1 -0
  135. package/{dist/cjs → script/src}/filter-set.js +16 -8
  136. package/script/src/filter-set.js.map +1 -0
  137. package/script/src/format.d.ts +10 -0
  138. package/script/src/format.d.ts.map +1 -0
  139. package/{dist/cjs → script/src}/format.js +3 -4
  140. package/script/src/format.js.map +1 -0
  141. package/script/src/index.d.ts +21 -0
  142. package/script/src/index.d.ts.map +1 -0
  143. package/script/src/index.js +36 -0
  144. package/script/src/index.js.map +1 -0
  145. package/script/src/inspector.d.ts +17 -0
  146. package/script/src/inspector.d.ts.map +1 -0
  147. package/{dist/cjs → script/src}/inspector.js +5 -6
  148. package/script/src/inspector.js.map +1 -0
  149. package/script/src/interaction.d.ts +70 -0
  150. package/script/src/interaction.d.ts.map +1 -0
  151. package/{dist/cjs → script/src}/interaction.js +5 -6
  152. package/script/src/interaction.js.map +1 -0
  153. package/script/src/locator.d.ts +10 -0
  154. package/script/src/locator.d.ts.map +1 -0
  155. package/script/src/locator.js +29 -0
  156. package/script/src/locator.js.map +1 -0
  157. package/script/src/match.d.ts +54 -0
  158. package/script/src/match.d.ts.map +1 -0
  159. package/{dist/cjs → script/src}/match.js +105 -22
  160. package/script/src/match.js.map +1 -0
  161. package/script/src/matcher.d.ts +15 -0
  162. package/script/src/matcher.d.ts.map +1 -0
  163. package/{dist/cjs → script/src}/matcher.js +13 -5
  164. package/script/src/matcher.js.map +1 -0
  165. package/script/src/matchers/and.d.ts +3 -0
  166. package/script/src/matchers/and.d.ts.map +1 -0
  167. package/script/src/matchers/and.js +19 -0
  168. package/script/src/matchers/and.js.map +1 -0
  169. package/script/src/matchers/every.d.ts +3 -0
  170. package/script/src/matchers/every.d.ts.map +1 -0
  171. package/script/src/matchers/every.js +19 -0
  172. package/script/src/matchers/every.js.map +1 -0
  173. package/script/src/matchers/including.d.ts +3 -0
  174. package/script/src/matchers/including.d.ts.map +1 -0
  175. package/{dist/cjs → script/src}/matchers/including.js +4 -4
  176. package/script/src/matchers/including.js.map +1 -0
  177. package/script/src/matchers/matching.d.ts +3 -0
  178. package/script/src/matchers/matching.d.ts.map +1 -0
  179. package/{dist/cjs → script/src}/matchers/matching.js +4 -4
  180. package/script/src/matchers/matching.js.map +1 -0
  181. package/script/src/matchers/not.d.ts +3 -0
  182. package/script/src/matchers/not.d.ts.map +1 -0
  183. package/script/src/matchers/not.js +19 -0
  184. package/script/src/matchers/not.js.map +1 -0
  185. package/script/src/matchers/or.d.ts +3 -0
  186. package/script/src/matchers/or.d.ts.map +1 -0
  187. package/script/src/matchers/or.js +19 -0
  188. package/script/src/matchers/or.js.map +1 -0
  189. package/script/src/matchers/some.d.ts +3 -0
  190. package/script/src/matchers/some.d.ts.map +1 -0
  191. package/script/src/matchers/some.js +19 -0
  192. package/script/src/matchers/some.js.map +1 -0
  193. package/script/src/merge-objects.d.ts +2 -0
  194. package/script/src/merge-objects.d.ts.map +1 -0
  195. package/{dist/esm → script/src}/merge-objects.js.map +1 -1
  196. package/script/src/metadata.d.ts +50 -0
  197. package/script/src/metadata.d.ts.map +1 -0
  198. package/script/src/metadata.js +105 -0
  199. package/script/src/metadata.js.map +1 -0
  200. package/script/src/resolvers.d.ts +9 -0
  201. package/script/src/resolvers.d.ts.map +1 -0
  202. package/{dist/cjs → script/src}/resolvers.js +17 -18
  203. package/script/src/resolvers.js.map +1 -0
  204. package/script/src/serialize.d.ts +13 -0
  205. package/script/src/serialize.d.ts.map +1 -0
  206. package/{dist/cjs → script/src}/serialize.js +6 -8
  207. package/script/src/serialize.js.map +1 -0
  208. package/script/src/specification.d.ts +216 -0
  209. package/script/src/specification.d.ts.map +1 -0
  210. package/script/src/specification.js.map +1 -0
  211. package/src/mod.ts +1 -0
  212. package/src/{constructor.ts → src/constructor.ts} +25 -16
  213. package/src/{converge.ts → src/converge.ts} +1 -1
  214. package/src/{create-interactor.ts → src/create-interactor.ts} +2 -2
  215. package/src/src/element/click.ts +5 -0
  216. package/src/{errors.ts → src/errors.ts} +4 -4
  217. package/src/{filter-set.ts → src/filter-set.ts} +2 -3
  218. package/src/{format.ts → src/format.ts} +2 -2
  219. package/src/src/index.ts +31 -0
  220. package/src/{inspector.ts → src/inspector.ts} +3 -3
  221. package/src/{interaction.ts → src/interaction.ts} +4 -4
  222. package/src/{locator.ts → src/locator.ts} +3 -3
  223. package/src/{match.ts → src/match.ts} +5 -6
  224. package/src/{matcher.ts → src/matcher.ts} +12 -0
  225. package/src/{matchers → src/matchers}/and.ts +3 -1
  226. package/src/{matchers → src/matchers}/every.ts +3 -1
  227. package/src/{matchers → src/matchers}/including.ts +3 -1
  228. package/src/{matchers → src/matchers}/matching.ts +3 -1
  229. package/src/{matchers → src/matchers}/not.ts +3 -1
  230. package/src/{matchers → src/matchers}/or.ts +3 -1
  231. package/src/{matchers → src/matchers}/some.ts +3 -1
  232. package/src/src/merge-objects.ts +4 -0
  233. package/src/src/metadata.ts +166 -0
  234. package/src/{resolvers.ts → src/resolvers.ts} +4 -4
  235. package/src/{serialize.ts → src/serialize.ts} +4 -4
  236. package/src/{specification.ts → src/specification.ts} +6 -6
  237. package/dist/cjs/constructor.js.map +0 -1
  238. package/dist/cjs/converge.js.map +0 -1
  239. package/dist/cjs/create-interactor.js.map +0 -1
  240. package/dist/cjs/element/click.js +0 -12
  241. package/dist/cjs/element/click.js.map +0 -1
  242. package/dist/cjs/errors.js.map +0 -1
  243. package/dist/cjs/escape-html.js.map +0 -1
  244. package/dist/cjs/filter-set.js.map +0 -1
  245. package/dist/cjs/format.js.map +0 -1
  246. package/dist/cjs/index.js +0 -28
  247. package/dist/cjs/index.js.map +0 -1
  248. package/dist/cjs/inspector.js.map +0 -1
  249. package/dist/cjs/interaction.js.map +0 -1
  250. package/dist/cjs/locator.js +0 -19
  251. package/dist/cjs/locator.js.map +0 -1
  252. package/dist/cjs/match.js.map +0 -1
  253. package/dist/cjs/matcher.js.map +0 -1
  254. package/dist/cjs/matchers/and.js +0 -19
  255. package/dist/cjs/matchers/and.js.map +0 -1
  256. package/dist/cjs/matchers/every.js +0 -19
  257. package/dist/cjs/matchers/every.js.map +0 -1
  258. package/dist/cjs/matchers/including.js.map +0 -1
  259. package/dist/cjs/matchers/matching.js.map +0 -1
  260. package/dist/cjs/matchers/not.js +0 -19
  261. package/dist/cjs/matchers/not.js.map +0 -1
  262. package/dist/cjs/matchers/or.js +0 -19
  263. package/dist/cjs/matchers/or.js.map +0 -1
  264. package/dist/cjs/matchers/some.js +0 -19
  265. package/dist/cjs/matchers/some.js.map +0 -1
  266. package/dist/cjs/resolvers.js.map +0 -1
  267. package/dist/cjs/serialize.js.map +0 -1
  268. package/dist/cjs/specification.js.map +0 -1
  269. package/dist/constructor.d.ts.map +0 -1
  270. package/dist/converge.d.ts +0 -3
  271. package/dist/converge.d.ts.map +0 -1
  272. package/dist/create-interactor.d.ts.map +0 -1
  273. package/dist/element/click.d.ts +0 -2
  274. package/dist/element/click.d.ts.map +0 -1
  275. package/dist/errors.d.ts.map +0 -1
  276. package/dist/escape-html.d.ts.map +0 -1
  277. package/dist/esm/constructor.js.map +0 -1
  278. package/dist/esm/converge.js.map +0 -1
  279. package/dist/esm/create-interactor.js.map +0 -1
  280. package/dist/esm/element/click.js +0 -5
  281. package/dist/esm/element/click.js.map +0 -1
  282. package/dist/esm/errors.js +0 -25
  283. package/dist/esm/errors.js.map +0 -1
  284. package/dist/esm/escape-html.js.map +0 -1
  285. package/dist/esm/filter-set.js.map +0 -1
  286. package/dist/esm/format.js.map +0 -1
  287. package/dist/esm/index.js +0 -13
  288. package/dist/esm/index.js.map +0 -1
  289. package/dist/esm/inspector.js.map +0 -1
  290. package/dist/esm/interaction.js.map +0 -1
  291. package/dist/esm/locator.js +0 -15
  292. package/dist/esm/locator.js.map +0 -1
  293. package/dist/esm/match.js.map +0 -1
  294. package/dist/esm/matcher.js.map +0 -1
  295. package/dist/esm/matchers/and.js.map +0 -1
  296. package/dist/esm/matchers/every.js.map +0 -1
  297. package/dist/esm/matchers/including.js.map +0 -1
  298. package/dist/esm/matchers/matching.js.map +0 -1
  299. package/dist/esm/matchers/not.js.map +0 -1
  300. package/dist/esm/matchers/or.js.map +0 -1
  301. package/dist/esm/matchers/some.js.map +0 -1
  302. package/dist/esm/resolvers.js.map +0 -1
  303. package/dist/esm/serialize.js.map +0 -1
  304. package/dist/esm/specification.js.map +0 -1
  305. package/dist/filter-set.d.ts.map +0 -1
  306. package/dist/format.d.ts.map +0 -1
  307. package/dist/index.d.ts +0 -17
  308. package/dist/index.d.ts.map +0 -1
  309. package/dist/inspector.d.ts.map +0 -1
  310. package/dist/interaction.d.ts.map +0 -1
  311. package/dist/locator.d.ts.map +0 -1
  312. package/dist/match.d.ts.map +0 -1
  313. package/dist/matcher.d.ts.map +0 -1
  314. package/dist/matchers/and.d.ts +0 -3
  315. package/dist/matchers/and.d.ts.map +0 -1
  316. package/dist/matchers/every.d.ts +0 -3
  317. package/dist/matchers/every.d.ts.map +0 -1
  318. package/dist/matchers/including.d.ts +0 -3
  319. package/dist/matchers/including.d.ts.map +0 -1
  320. package/dist/matchers/matching.d.ts +0 -3
  321. package/dist/matchers/matching.d.ts.map +0 -1
  322. package/dist/matchers/not.d.ts +0 -3
  323. package/dist/matchers/not.d.ts.map +0 -1
  324. package/dist/matchers/or.d.ts +0 -3
  325. package/dist/matchers/or.d.ts.map +0 -1
  326. package/dist/matchers/some.d.ts +0 -3
  327. package/dist/matchers/some.d.ts.map +0 -1
  328. package/dist/merge-objects.d.ts +0 -2
  329. package/dist/merge-objects.d.ts.map +0 -1
  330. package/dist/resolvers.d.ts.map +0 -1
  331. package/dist/serialize.d.ts.map +0 -1
  332. package/dist/specification.d.ts.map +0 -1
  333. package/dist/tsconfig.build.tsbuildinfo +0 -1
  334. package/src/element/click.ts +0 -5
  335. package/src/index.ts +0 -18
  336. package/src/merge-objects.ts +0 -2
  337. /package/{dist/esm → esm/src}/converge.js +0 -0
  338. /package/{dist → esm/src}/errors.d.ts +0 -0
  339. /package/{dist → esm/src}/escape-html.d.ts +0 -0
  340. /package/{dist/esm → esm/src}/escape-html.js +0 -0
  341. /package/{dist/esm → esm/src}/format.js +0 -0
  342. /package/{dist/esm → esm/src}/merge-objects.js +0 -0
  343. /package/{dist/esm → esm/src}/specification.js +0 -0
  344. /package/{dist/cjs → script/src}/merge-objects.js +0 -0
  345. /package/{dist/cjs → script/src}/specification.js +0 -0
  346. /package/src/{escape-html.ts → src/escape-html.ts} +0 -0
@@ -0,0 +1,10 @@
1
+ import type { Filters, FilterParams, InteractorSpecification } from './specification.js';
2
+ export declare class FilterSet<E extends Element, F extends Filters<E>> {
3
+ specification: InteractorSpecification<E, F, any>;
4
+ filters: FilterParams<E, F>;
5
+ constructor(specification: InteractorSpecification<E, F, any>, filters: FilterParams<E, F>);
6
+ get description(): string;
7
+ get all(): FilterParams<E, F>;
8
+ asTableHeader(): string[];
9
+ }
10
+ //# sourceMappingURL=filter-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-set.d.ts","sourceRoot":"","sources":["../../src/src/filter-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAIjH,qBAAa,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC;IAEnD,aAAa,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACjD,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;gBAD3B,aAAa,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACjD,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAGpC,IAAI,WAAW,IAAI,MAAM,CAiBxB;IAED,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAS5B;IAED,aAAa,IAAI,MAAM,EAAE;CAG1B"}
@@ -2,13 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterSet = void 0;
4
4
  const change_case_1 = require("change-case");
5
- const matcher_1 = require("./matcher");
5
+ const matcher_js_1 = require("./matcher.js");
6
6
  class FilterSet {
7
- constructor(
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- specification, filters) {
10
- this.specification = specification;
11
- this.filters = filters;
7
+ constructor(specification, filters) {
8
+ Object.defineProperty(this, "specification", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: specification
13
+ });
14
+ Object.defineProperty(this, "filters", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: filters
19
+ });
12
20
  }
13
21
  ;
14
22
  get description() {
@@ -27,7 +35,7 @@ class FilterSet {
27
35
  }
28
36
  }
29
37
  else {
30
- return `with ${(0, change_case_1.noCase)(key)} ${(0, matcher_1.matcherDescription)(value)}`;
38
+ return `with ${(0, change_case_1.noCase)(key)} ${(0, matcher_js_1.matcherDescription)(value)}`;
31
39
  }
32
40
  }).join(' and ');
33
41
  }
@@ -43,7 +51,7 @@ class FilterSet {
43
51
  return filter;
44
52
  }
45
53
  asTableHeader() {
46
- return Object.entries(this.all).map(([key, value]) => `${key}: ${(0, matcher_1.matcherDescription)(value)}`);
54
+ return Object.entries(this.all).map(([key, value]) => `${key}: ${(0, matcher_js_1.matcherDescription)(value)}`);
47
55
  }
48
56
  }
49
57
  exports.FilterSet = FilterSet;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-set.js","sourceRoot":"","sources":["../../src/src/filter-set.ts"],"names":[],"mappings":";;;AACA,6CAAqC;AACrC,6CAAkD;AAElD,MAAa,SAAS;IACpB,YACS,aAAiD,EACjD,OAA2B;QADlC;;;;mBAAO,aAAa;WAAoC;QACxD;;;;mBAAO,OAAO;WAAoB;IACjC,CAAC;IAAA,CAAC;IAEL,IAAI,WAAW;QACb,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAG,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClC,IAAG,OAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAG,KAAK,EAAE,CAAC;wBACT,OAAO,YAAY,IAAA,oBAAM,EAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,OAAO,gBAAgB,IAAA,oBAAM,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,QAAQ,IAAA,oBAAM,EAAC,GAAG,CAAC,IAAI,IAAA,+BAAkB,EAAC,KAAK,CAAC,EAAE,CAAA;gBAC3D,CAAC;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,IAAI,MAAM,GAA4B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAoD,CAAC;YACpG,IAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,OAAM,CAAC,UAAU,CAAC,KAAK,UAAU,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;gBAC1F,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,MAA4B,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,IAAA,+BAAkB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAvCD,8BAuCC"}
@@ -0,0 +1,10 @@
1
+ import type { Match } from "./match.js";
2
+ import type { InteractorOptions } from "./specification.js";
3
+ export interface TableOptions {
4
+ headers: string[];
5
+ rows: string[][];
6
+ }
7
+ export declare function formatTable(options: TableOptions): string;
8
+ export declare function formatDescription(options: InteractorOptions<any, any, any>): string;
9
+ export declare function formatMatchesTable(interactor: InteractorOptions<any, any, any>, matches: Match<Element, any>[]): string;
10
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/src/format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;CAClB;AAYD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAkBzD;AAUD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAGnF;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAKvH"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatMatchesTable = exports.formatDescription = exports.formatTable = void 0;
3
+ exports.formatTable = formatTable;
4
+ exports.formatDescription = formatDescription;
5
+ exports.formatMatchesTable = formatMatchesTable;
4
6
  const MAX_COLUMN_WIDTH = 40;
5
7
  function formatValue(value, width) {
6
8
  if (value.length > width) {
@@ -26,7 +28,6 @@ function formatTable(options) {
26
28
  ...options.rows.map((row) => formatRow(row))
27
29
  ].join('\n');
28
30
  }
29
- exports.formatTable = formatTable;
30
31
  function ownDescription(options) {
31
32
  if (options.locator) {
32
33
  return `${options.name} ${options.locator.description} ${options.filter.description}`.trim();
@@ -39,12 +40,10 @@ function formatDescription(options) {
39
40
  let ancestorsAndSelf = options.ancestors.concat(options);
40
41
  return ancestorsAndSelf.reverse().map(ownDescription).join(' within ');
41
42
  }
42
- exports.formatDescription = formatDescription;
43
43
  function formatMatchesTable(interactor, matches) {
44
44
  return formatTable({
45
45
  headers: interactor.locator ? [interactor.name, ...interactor.filter.asTableHeader()] : interactor.filter.asTableHeader(),
46
46
  rows: matches.slice().sort((a, b) => b.sortWeight - a.sortWeight).map((m) => m.asTableRow()),
47
47
  });
48
48
  }
49
- exports.formatMatchesTable = formatMatchesTable;
50
49
  //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/src/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type { Interactor, InteractorConstructor, InteractorSpecification, EmptyObject, FilterMethods, ActionMethods } from './specification.js';
2
+ export type { Interaction, ActionInteraction, AssertionInteraction } from './interaction.js';
3
+ export { isInteraction } from './interaction.js';
4
+ export { createInteractor } from './create-interactor.js';
5
+ export { createInspector } from './inspector.js';
6
+ export { isVisible } from 'element-is-visible';
7
+ export { createMatcher } from './matcher.js';
8
+ export type { Matcher } from './matcher.js';
9
+ export { CONSTRUCTOR_METADATA_VERSION, getInteractorConstructorMetadata, getMatcherConstructorMetadata, isInteractorConstructor, isMatcherConstructor, } from './metadata.js';
10
+ export type { InteractorConstructorMetadata, MatcherConstructorMetadata, } from './metadata.js';
11
+ export { including } from './matchers/including.js';
12
+ export { matching } from './matchers/matching.js';
13
+ export { and } from './matchers/and.js';
14
+ export { or } from './matchers/or.js';
15
+ export { not } from './matchers/not.js';
16
+ export { some } from './matchers/some.js';
17
+ export { every } from './matchers/every.js';
18
+ export { click } from './element/click.js';
19
+ export type { MergeObjects } from './merge-objects.js';
20
+ export type { MaybeMatcher } from './matcher.js';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChJ,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.click = exports.every = exports.some = exports.not = exports.or = exports.and = exports.matching = exports.including = exports.isMatcherConstructor = exports.isInteractorConstructor = exports.getMatcherConstructorMetadata = exports.getInteractorConstructorMetadata = exports.CONSTRUCTOR_METADATA_VERSION = exports.createMatcher = exports.isVisible = exports.createInspector = exports.createInteractor = exports.isInteraction = void 0;
4
+ var interaction_js_1 = require("./interaction.js");
5
+ Object.defineProperty(exports, "isInteraction", { enumerable: true, get: function () { return interaction_js_1.isInteraction; } });
6
+ var create_interactor_js_1 = require("./create-interactor.js");
7
+ Object.defineProperty(exports, "createInteractor", { enumerable: true, get: function () { return create_interactor_js_1.createInteractor; } });
8
+ var inspector_js_1 = require("./inspector.js");
9
+ Object.defineProperty(exports, "createInspector", { enumerable: true, get: function () { return inspector_js_1.createInspector; } });
10
+ var element_is_visible_1 = require("element-is-visible");
11
+ Object.defineProperty(exports, "isVisible", { enumerable: true, get: function () { return element_is_visible_1.isVisible; } });
12
+ var matcher_js_1 = require("./matcher.js");
13
+ Object.defineProperty(exports, "createMatcher", { enumerable: true, get: function () { return matcher_js_1.createMatcher; } });
14
+ var metadata_js_1 = require("./metadata.js");
15
+ Object.defineProperty(exports, "CONSTRUCTOR_METADATA_VERSION", { enumerable: true, get: function () { return metadata_js_1.CONSTRUCTOR_METADATA_VERSION; } });
16
+ Object.defineProperty(exports, "getInteractorConstructorMetadata", { enumerable: true, get: function () { return metadata_js_1.getInteractorConstructorMetadata; } });
17
+ Object.defineProperty(exports, "getMatcherConstructorMetadata", { enumerable: true, get: function () { return metadata_js_1.getMatcherConstructorMetadata; } });
18
+ Object.defineProperty(exports, "isInteractorConstructor", { enumerable: true, get: function () { return metadata_js_1.isInteractorConstructor; } });
19
+ Object.defineProperty(exports, "isMatcherConstructor", { enumerable: true, get: function () { return metadata_js_1.isMatcherConstructor; } });
20
+ var including_js_1 = require("./matchers/including.js");
21
+ Object.defineProperty(exports, "including", { enumerable: true, get: function () { return including_js_1.including; } });
22
+ var matching_js_1 = require("./matchers/matching.js");
23
+ Object.defineProperty(exports, "matching", { enumerable: true, get: function () { return matching_js_1.matching; } });
24
+ var and_js_1 = require("./matchers/and.js");
25
+ Object.defineProperty(exports, "and", { enumerable: true, get: function () { return and_js_1.and; } });
26
+ var or_js_1 = require("./matchers/or.js");
27
+ Object.defineProperty(exports, "or", { enumerable: true, get: function () { return or_js_1.or; } });
28
+ var not_js_1 = require("./matchers/not.js");
29
+ Object.defineProperty(exports, "not", { enumerable: true, get: function () { return not_js_1.not; } });
30
+ var some_js_1 = require("./matchers/some.js");
31
+ Object.defineProperty(exports, "some", { enumerable: true, get: function () { return some_js_1.some; } });
32
+ var every_js_1 = require("./matchers/every.js");
33
+ Object.defineProperty(exports, "every", { enumerable: true, get: function () { return every_js_1.every; } });
34
+ var click_js_1 = require("./element/click.js");
35
+ Object.defineProperty(exports, "click", { enumerable: true, get: function () { return click_js_1.click; } });
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/src/index.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AACzB,+CAAgD;AAAvC,+GAAA,eAAe,OAAA;AACxB,yDAA+C;AAAtC,+GAAA,SAAS,OAAA;AAClB,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AAEtB,6CAMuB;AALrB,2HAAA,4BAA4B,OAAA;AAC5B,+HAAA,gCAAgC,OAAA;AAChC,4HAAA,6BAA6B,OAAA;AAC7B,sHAAA,uBAAuB,OAAA;AACvB,mHAAA,oBAAoB,OAAA;AAOtB,wDAAoD;AAA3C,yGAAA,SAAS,OAAA;AAClB,sDAAkD;AAAzC,uGAAA,QAAQ,OAAA;AACjB,4CAAwC;AAA/B,6FAAA,GAAG,OAAA;AACZ,0CAAsC;AAA7B,2FAAA,EAAE,OAAA;AACX,4CAAwC;AAA/B,6FAAA,GAAG,OAAA;AACZ,8CAA0C;AAAjC,+FAAA,IAAI,OAAA;AACb,gDAA4C;AAAnC,iGAAA,KAAK,OAAA;AAEd,+CAA2C;AAAlC,iGAAA,KAAK,OAAA"}
@@ -0,0 +1,17 @@
1
+ import type { Interactor, InteractorConstructor, FilterParams } from "./specification.js";
2
+ type GetElement<I extends InteractorConstructor<any, any, any, any>> = I extends InteractorConstructor<infer E, any, any, any> ? E : never;
3
+ type GetFilters<I extends InteractorConstructor<any, any, any, any>> = I extends InteractorConstructor<any, infer F, any, any> ? F : never;
4
+ type GetActions<I extends InteractorConstructor<any, any, any, any>> = I extends InteractorConstructor<any, any, any, infer A> ? A : never;
5
+ export interface InteractorInspector<E extends Element, FP extends FilterParams<any, any>> extends Omit<Interactor<E, FP>, 'find'> {
6
+ element: E;
7
+ find<T extends InteractorConstructor<any, any, any, any>>(interactor: T): Inspector<T>;
8
+ }
9
+ export interface Inspector<C extends InteractorConstructor<any, any, any, any>> {
10
+ /**
11
+ * Finds all matched by selector elements and wraps each of them to intreactor
12
+ */
13
+ all(): (InteractorInspector<GetElement<C>, GetFilters<C>> & GetActions<C>)[];
14
+ }
15
+ export declare function createInspector<IC extends InteractorConstructor<any, any, any, any>>(constructor: IC, parentElement?: Element): Inspector<IC>;
16
+ export {};
17
+ //# sourceMappingURL=inspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/src/inspector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAW,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnG,KAAK,UAAU,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC1I,KAAK,UAAU,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC1I,KAAK,UAAU,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE1I,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAE,SAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAChI,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;CACvF;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC5E;;OAEG;IACF,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;CAC9E;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAClF,WAAW,EAAE,EAAE,EACf,aAAa,CAAC,EAAE,OAAO,GACtB,SAAS,CAAC,EAAE,CAAC,CAiBf"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createInspector = void 0;
5
- const constructor_1 = require("./constructor");
6
- const resolvers_1 = require("./resolvers");
4
+ exports.createInspector = createInspector;
5
+ const constructor_js_1 = require("./constructor.js");
6
+ const resolvers_js_1 = require("./resolvers.js");
7
7
  function createInspector(constructor, parentElement) {
8
8
  // NOTE: Wait for https://github.com/thefrontside/bigtest/pull/895 to use specification instead
9
9
  let options = constructor().options;
10
10
  return {
11
11
  all() {
12
- let elements = (0, resolvers_1.findElements)(parentElement !== null && parentElement !== void 0 ? parentElement : (0, resolvers_1.unsafeSyncResolveParent)(options), options);
13
- return elements.map(element => (Object.assign((0, constructor_1.instantiateInteractor)(options, () => element), {
12
+ let elements = (0, resolvers_js_1.findElements)(parentElement ?? (0, resolvers_js_1.unsafeSyncResolveParent)(options), options);
13
+ return elements.map(element => (Object.assign((0, constructor_js_1.instantiateInteractor)(options, () => element), {
14
14
  element,
15
15
  find(constructor) {
16
16
  return createInspector(constructor, element);
@@ -19,5 +19,4 @@ function createInspector(constructor, parentElement) {
19
19
  }
20
20
  };
21
21
  }
22
- exports.createInspector = createInspector;
23
22
  //# sourceMappingURL=inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/src/inspector.ts"],"names":[],"mappings":";AAAA,uDAAuD;;AAsBvD,0CAoBC;AAxCD,qDAAyD;AACzD,iDAAsE;AAmBtE,SAAgB,eAAe,CAC7B,WAAe,EACf,aAAuB;IAEvB,+FAA+F;IAC/F,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC,OAAoC,CAAA;IAChE,OAAO;QACL,GAAG;YACD,IAAI,QAAQ,GAAG,IAAA,2BAAY,EAAiB,aAAa,IAAI,IAAA,sCAAuB,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACxG,OAAO,QAAQ,CAAC,GAAG,CACjB,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CACvB,IAAA,sCAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAsF,EAAE;gBACpI,OAAO;gBACP,IAAI,CAAsD,WAAc;oBACtE,OAAO,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC9C,CAAC;aACF,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { type Operation, type Task } from '@effection/core';
2
+ import { type InteractionOptions as SerializedInteractionOptions, type InteractionType } from '@interactors/globals';
3
+ import type { Interactor, FilterObject, FilterFn, FilterParams } from './specification.js';
4
+ declare const interactionSymbol: unique symbol;
5
+ export declare function isInteraction(x: unknown): x is Interaction<Element, unknown>;
6
+ /**
7
+ * An interaction represents some type of action or assertion that can be
8
+ * taken on an {@link Interactor}.
9
+ *
10
+ * The interaction can function as a lazy promise. That means that calling
11
+ * `then` on the interaction or awaiting it using `await`, will run the
12
+ * interaction and the promise will resolve once the action is complete.
13
+ * However, an interaction which is not awaited will not run by itself.
14
+ *
15
+ * @typeParam T the return value of the promise that this interaction evaluates to.
16
+ */
17
+ export interface Interaction<E extends Element, T = void> extends Promise<T> {
18
+ type: InteractionType;
19
+ interactor: Interactor<E, any>;
20
+ run: (interactor: Interactor<E, any>) => Operation<T>;
21
+ /**
22
+ * Return a description of the interaction
23
+ */
24
+ description: string;
25
+ /**
26
+ * Return a code representation of the interaction
27
+ */
28
+ code: () => string;
29
+ /**
30
+ * Return a serialized options of the interaction
31
+ */
32
+ options: SerializedInteractionOptions;
33
+ /**
34
+ * Perform the interaction
35
+ */
36
+ action: () => Task<T>;
37
+ check?: () => Task<T>;
38
+ halt: () => Promise<void>;
39
+ [interactionSymbol]: true;
40
+ }
41
+ export interface ActionInteraction<E extends Element, T = void> extends Interaction<E, T> {
42
+ type: "action";
43
+ check: undefined;
44
+ }
45
+ /**
46
+ * Like {@link Interaction}, except that it is used for assertions only.
47
+ *
48
+ * @typeParam T the return value of the promise that this interaction evaluates to.
49
+ */
50
+ export interface AssertionInteraction<E extends Element, T = void> extends Interaction<E, T> {
51
+ type: "assertion";
52
+ /**
53
+ * Perform the check
54
+ */
55
+ check: () => Task<T>;
56
+ }
57
+ export type InteractionOptions<E extends Element, T> = {
58
+ name: string;
59
+ description: string;
60
+ filters?: FilterParams<any, any>;
61
+ args: unknown[];
62
+ interactor: Interactor<E, any>;
63
+ run: (interactor: Interactor<E, any>) => Operation<T>;
64
+ };
65
+ export declare function createInteraction<E extends Element, T>(type: 'action', options: InteractionOptions<E, T>): ActionInteraction<E, T>;
66
+ export declare function createInteraction<E extends Element, T>(type: 'assertion', options: InteractionOptions<E, T>): AssertionInteraction<E, T>;
67
+ export declare function createInteraction<E extends Element, T, Q>(type: 'action', options: InteractionOptions<E, T>, apply: FilterFn<Q, Element>): ActionInteraction<E, T> & FilterObject<Q, Element>;
68
+ export declare function createInteraction<E extends Element, T, Q>(type: 'assertion', options: InteractionOptions<E, T>, apply: FilterFn<Q, Element>): AssertionInteraction<E, T> & FilterObject<Q, Element>;
69
+ export {};
70
+ //# sourceMappingURL=interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/src/interaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,IAAI,EAAe,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,KAAK,kBAAkB,IAAI,4BAA4B,EAAW,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9H,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG3F,QAAA,MAAM,iBAAiB,EAAE,OAAO,MAAyC,CAAC;AAE1E,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAE5E;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,GAAG,IAAI,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAC1E,IAAI,EAAE,eAAe,CAAC;IAEtB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,4BAA4B,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,GAAG,IAAI,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,GAAG,IAAI,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,WAAW,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,IAAI;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;CACvD,CAAA;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACnI,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACzI,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAC9L,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createInteraction = exports.isInteraction = void 0;
3
+ exports.isInteraction = isInteraction;
4
+ exports.createInteraction = createInteraction;
4
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
6
  const core_1 = require("@effection/core");
6
7
  const globals_1 = require("@interactors/globals");
7
- const serialize_1 = require("./serialize");
8
+ const serialize_js_1 = require("./serialize.js");
8
9
  const interactionSymbol = core_1.Symbol.for('interaction');
9
10
  function isInteraction(x) {
10
11
  return typeof x === 'object' && x != null && interactionSymbol in x;
11
12
  }
12
- exports.isInteraction = isInteraction;
13
13
  function createInteraction(type, options, apply) {
14
14
  let task;
15
15
  let shouldCatchHalt = false;
@@ -33,12 +33,12 @@ function createInteraction(type, options, apply) {
33
33
  return reason;
34
34
  }
35
35
  else {
36
- onReject === null || onReject === void 0 ? void 0 : onReject(reason);
36
+ onReject?.(reason);
37
37
  return reason;
38
38
  }
39
39
  };
40
40
  }
41
- let serializedOptions = (0, serialize_1.serializeInteractionOptions)(type, options);
41
+ let serializedOptions = (0, serialize_js_1.serializeInteractionOptions)(type, options);
42
42
  let interaction = {
43
43
  type,
44
44
  options: serializedOptions,
@@ -73,5 +73,4 @@ function createInteraction(type, options, apply) {
73
73
  return interaction;
74
74
  }
75
75
  }
76
- exports.createInteraction = createInteraction;
77
76
  //# sourceMappingURL=interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/src/interaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { FilterDefinition } from './specification.js';
2
+ import { type MaybeMatcher } from './matcher.js';
3
+ export declare class Locator<E extends Element> {
4
+ private definition;
5
+ value: MaybeMatcher<string>;
6
+ constructor(definition: FilterDefinition<string, E>, value: MaybeMatcher<string>);
7
+ get description(): string;
8
+ apply(element: E): string;
9
+ }
10
+ //# sourceMappingURL=locator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator.d.ts","sourceRoot":"","sources":["../../src/src/locator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,OAAO,CAAC,CAAC,SAAS,OAAO;IACxB,OAAO,CAAC,UAAU;IAAsC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;gBAA3E,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAS,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;IAE/F,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM;CAG1B"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Locator = void 0;
4
+ const matcher_js_1 = require("./matcher.js");
5
+ const match_js_1 = require("./match.js");
6
+ class Locator {
7
+ constructor(definition, value) {
8
+ Object.defineProperty(this, "definition", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: definition
13
+ });
14
+ Object.defineProperty(this, "value", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: value
19
+ });
20
+ }
21
+ get description() {
22
+ return (0, matcher_js_1.matcherDescription)(this.value);
23
+ }
24
+ apply(element) {
25
+ return (0, match_js_1.applyFilter)(this.definition, element);
26
+ }
27
+ }
28
+ exports.Locator = Locator;
29
+ //# sourceMappingURL=locator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/src/locator.ts"],"names":[],"mappings":";;;AACA,6CAAqE;AACrE,yCAAyC;AAEzC,MAAa,OAAO;IAClB,YAAoB,UAAuC,EAAS,KAA2B;QAAnF;;;;mBAAQ,UAAU;WAA6B;QAAE;;;;mBAAO,KAAK;WAAsB;IAAG,CAAC;IAEnG,IAAI,WAAW;QACb,OAAO,IAAA,+BAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAU;QACd,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAVD,0BAUC"}
@@ -0,0 +1,54 @@
1
+ import type { Locator } from './locator.js';
2
+ import type { FilterSet } from './filter-set.js';
3
+ import type { Filters, FilterDefinition } from './specification.js';
4
+ import { type MaybeMatcher } from './matcher.js';
5
+ export declare class Match<E extends Element, F extends Filters<E>> {
6
+ element: E;
7
+ filterSet: FilterSet<E, F>;
8
+ locator?: Locator<E> | undefined;
9
+ matchLocator?: MatchLocator<E>;
10
+ matchFilter: MatchFilter<E, F>;
11
+ constructor(element: E, filterSet: FilterSet<E, F>, locator?: Locator<E> | undefined);
12
+ get matches(): boolean;
13
+ asTableHeader(name: string): string[];
14
+ asTableRow(): string[];
15
+ get sortWeight(): number;
16
+ elementDescription(): string;
17
+ }
18
+ export declare class MatchLocator<E extends Element> {
19
+ element: E;
20
+ locator: Locator<E>;
21
+ expected: MaybeMatcher<string> | null;
22
+ actual: string | null;
23
+ constructor(element: E, locator: Locator<E>);
24
+ get matches(): boolean;
25
+ formatActual(): string;
26
+ description(): string;
27
+ get sortWeight(): number;
28
+ }
29
+ export declare class MatchFilter<E extends Element, F extends Filters<E>> {
30
+ element: E;
31
+ filter: FilterSet<E, F>;
32
+ items: MatchFilterItem<unknown, E, F>[];
33
+ constructor(element: E, filter: FilterSet<E, F>);
34
+ get matches(): boolean;
35
+ asTableRow(): string[];
36
+ get sortWeight(): number;
37
+ formatAsExpectations(): string;
38
+ }
39
+ export declare function applyFilter<T>(definition: FilterDefinition<T, any>, element: Element): T;
40
+ export declare class MatchFilterItem<T, E extends Element, F extends Filters<E>> {
41
+ element: E;
42
+ filter: FilterSet<E, F>;
43
+ key: string;
44
+ expected: MaybeMatcher<T>;
45
+ constructor(element: E, filter: FilterSet<E, F>, key: string, expected: MaybeMatcher<T>);
46
+ get matches(): boolean;
47
+ get actual(): T;
48
+ formatActual(): string;
49
+ formatExpected(): string;
50
+ description(): string;
51
+ formatAsExpectation(): string;
52
+ get sortWeight(): number;
53
+ }
54
+ //# sourceMappingURL=match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/src/match.ts"],"names":[],"mappings":"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"}