@cucumber/react-components 21.1.1 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/README.md +2 -1
  2. package/dist/src/CucumberQueryContext.js +3 -8
  3. package/dist/src/CucumberQueryContext.js.map +1 -1
  4. package/dist/src/EnvelopesQueryContext.js +8 -20
  5. package/dist/src/EnvelopesQueryContext.js.map +1 -1
  6. package/dist/src/GherkinQueryContext.js +3 -8
  7. package/dist/src/GherkinQueryContext.js.map +1 -1
  8. package/dist/src/SearchQueryContext.js +24 -53
  9. package/dist/src/SearchQueryContext.js.map +1 -1
  10. package/dist/src/UriContext.js +2 -7
  11. package/dist/src/UriContext.js.map +1 -1
  12. package/dist/src/ciCommitLink.js +3 -9
  13. package/dist/src/ciCommitLink.js.map +1 -1
  14. package/dist/src/components/CucumberReact.d.ts +1 -1
  15. package/dist/src/components/CucumberReact.d.ts.map +1 -1
  16. package/dist/src/components/CucumberReact.js +7 -14
  17. package/dist/src/components/CucumberReact.js.map +1 -1
  18. package/dist/src/components/app/CICommitLink.js +14 -22
  19. package/dist/src/components/app/CICommitLink.js.map +1 -1
  20. package/dist/src/components/app/CIJobLink.js +8 -15
  21. package/dist/src/components/app/CIJobLink.js.map +1 -1
  22. package/dist/src/components/app/EnvelopesWrapper.js +11 -38
  23. package/dist/src/components/app/EnvelopesWrapper.js.map +1 -1
  24. package/dist/src/components/app/ExecutionSummary.js +54 -61
  25. package/dist/src/components/app/ExecutionSummary.js.map +1 -1
  26. package/dist/src/components/app/FilteredResults.d.ts.map +1 -1
  27. package/dist/src/components/app/FilteredResults.js +21 -39
  28. package/dist/src/components/app/FilteredResults.js.map +1 -1
  29. package/dist/src/components/app/GherkinDocumentList.js +27 -57
  30. package/dist/src/components/app/GherkinDocumentList.js.map +1 -1
  31. package/dist/src/components/app/HighLight.js +14 -21
  32. package/dist/src/components/app/HighLight.js.map +1 -1
  33. package/dist/src/components/app/NavigationButton.js +4 -23
  34. package/dist/src/components/app/NavigationButton.js.map +1 -1
  35. package/dist/src/components/app/NoMatchResult.js +8 -15
  36. package/dist/src/components/app/NoMatchResult.js.map +1 -1
  37. package/dist/src/components/app/OSIcon.js +10 -17
  38. package/dist/src/components/app/OSIcon.js.map +1 -1
  39. package/dist/src/components/app/QueriesWrapper.d.ts +1 -1
  40. package/dist/src/components/app/QueriesWrapper.d.ts.map +1 -1
  41. package/dist/src/components/app/QueriesWrapper.js +7 -14
  42. package/dist/src/components/app/QueriesWrapper.js.map +1 -1
  43. package/dist/src/components/app/RuntimeIcon.js +10 -17
  44. package/dist/src/components/app/RuntimeIcon.js.map +1 -1
  45. package/dist/src/components/app/SearchBar.d.ts.map +1 -1
  46. package/dist/src/components/app/SearchBar.js +25 -30
  47. package/dist/src/components/app/SearchBar.js.map +1 -1
  48. package/dist/src/components/app/SearchWrapper.d.ts +1 -1
  49. package/dist/src/components/app/SearchWrapper.d.ts.map +1 -1
  50. package/dist/src/components/app/SearchWrapper.js +4 -46
  51. package/dist/src/components/app/SearchWrapper.js.map +1 -1
  52. package/dist/src/components/app/StatusesSummary.js +8 -15
  53. package/dist/src/components/app/StatusesSummary.js.map +1 -1
  54. package/dist/src/components/app/icons/CucumberLogo.d.ts +1 -1
  55. package/dist/src/components/app/icons/CucumberLogo.js +7 -14
  56. package/dist/src/components/app/icons/CucumberLogo.js.map +1 -1
  57. package/dist/src/components/app/icons/Jvm.d.ts +1 -1
  58. package/dist/src/components/app/icons/Jvm.js +8 -15
  59. package/dist/src/components/app/icons/Jvm.js.map +1 -1
  60. package/dist/src/components/app/icons/Linux.js +18 -25
  61. package/dist/src/components/app/icons/Linux.js.map +1 -1
  62. package/dist/src/components/app/icons/MacOS.d.ts +1 -1
  63. package/dist/src/components/app/icons/MacOS.js +4 -11
  64. package/dist/src/components/app/icons/MacOS.js.map +1 -1
  65. package/dist/src/components/app/icons/NodeJs.d.ts +1 -1
  66. package/dist/src/components/app/icons/NodeJs.js +34 -41
  67. package/dist/src/components/app/icons/NodeJs.js.map +1 -1
  68. package/dist/src/components/app/icons/Ruby.d.ts +1 -1
  69. package/dist/src/components/app/icons/Ruby.js +4 -11
  70. package/dist/src/components/app/icons/Ruby.js.map +1 -1
  71. package/dist/src/components/app/icons/Windows.js +4 -11
  72. package/dist/src/components/app/icons/Windows.js.map +1 -1
  73. package/dist/src/components/app/index.d.ts +11 -11
  74. package/dist/src/components/app/index.d.ts.map +1 -1
  75. package/dist/src/components/app/index.js +11 -27
  76. package/dist/src/components/app/index.js.map +1 -1
  77. package/dist/src/components/app/rehypePlugins.d.ts.map +1 -1
  78. package/dist/src/components/app/rehypePlugins.js +8 -13
  79. package/dist/src/components/app/rehypePlugins.js.map +1 -1
  80. package/dist/src/components/app/remarkPlugins.js +3 -8
  81. package/dist/src/components/app/remarkPlugins.js.map +1 -1
  82. package/dist/src/components/app/statuses.js +2 -27
  83. package/dist/src/components/app/statuses.js.map +1 -1
  84. package/dist/src/components/customise/customRendering.js +6 -33
  85. package/dist/src/components/customise/customRendering.js.map +1 -1
  86. package/dist/src/components/customise/index.d.ts +2 -2
  87. package/dist/src/components/customise/index.d.ts.map +1 -1
  88. package/dist/src/components/customise/index.js +2 -18
  89. package/dist/src/components/customise/index.js.map +1 -1
  90. package/dist/src/components/customise/theming.js +1 -2
  91. package/dist/src/components/gherkin/Anchor.d.ts +1 -1
  92. package/dist/src/components/gherkin/Anchor.d.ts.map +1 -1
  93. package/dist/src/components/gherkin/Anchor.js +11 -18
  94. package/dist/src/components/gherkin/Anchor.js.map +1 -1
  95. package/dist/src/components/gherkin/Attachment.d.ts +1 -1
  96. package/dist/src/components/gherkin/Attachment.d.ts.map +1 -1
  97. package/dist/src/components/gherkin/Attachment.js +43 -77
  98. package/dist/src/components/gherkin/Attachment.js.map +1 -1
  99. package/dist/src/components/gherkin/Background.d.ts +1 -1
  100. package/dist/src/components/gherkin/Background.d.ts.map +1 -1
  101. package/dist/src/components/gherkin/Background.js +17 -24
  102. package/dist/src/components/gherkin/Background.js.map +1 -1
  103. package/dist/src/components/gherkin/Children.d.ts +1 -1
  104. package/dist/src/components/gherkin/Children.d.ts.map +1 -1
  105. package/dist/src/components/gherkin/Children.js +7 -14
  106. package/dist/src/components/gherkin/Children.js.map +1 -1
  107. package/dist/src/components/gherkin/DataTable.d.ts +1 -1
  108. package/dist/src/components/gherkin/DataTable.d.ts.map +1 -1
  109. package/dist/src/components/gherkin/DataTable.js +12 -19
  110. package/dist/src/components/gherkin/DataTable.js.map +1 -1
  111. package/dist/src/components/gherkin/Description.d.ts +1 -1
  112. package/dist/src/components/gherkin/Description.d.ts.map +1 -1
  113. package/dist/src/components/gherkin/Description.js +9 -16
  114. package/dist/src/components/gherkin/Description.js.map +1 -1
  115. package/dist/src/components/gherkin/DocString.d.ts +1 -1
  116. package/dist/src/components/gherkin/DocString.d.ts.map +1 -1
  117. package/dist/src/components/gherkin/DocString.js +9 -16
  118. package/dist/src/components/gherkin/DocString.js.map +1 -1
  119. package/dist/src/components/gherkin/ErrorMessage.d.ts +1 -1
  120. package/dist/src/components/gherkin/ErrorMessage.d.ts.map +1 -1
  121. package/dist/src/components/gherkin/ErrorMessage.js +7 -14
  122. package/dist/src/components/gherkin/ErrorMessage.js.map +1 -1
  123. package/dist/src/components/gherkin/ExampleDetail.js +31 -61
  124. package/dist/src/components/gherkin/ExampleDetail.js.map +1 -1
  125. package/dist/src/components/gherkin/Examples.d.ts +1 -1
  126. package/dist/src/components/gherkin/Examples.d.ts.map +1 -1
  127. package/dist/src/components/gherkin/Examples.js +20 -27
  128. package/dist/src/components/gherkin/Examples.js.map +1 -1
  129. package/dist/src/components/gherkin/ExamplesContext.d.ts +1 -1
  130. package/dist/src/components/gherkin/ExamplesContext.js +2 -5
  131. package/dist/src/components/gherkin/ExamplesContext.js.map +1 -1
  132. package/dist/src/components/gherkin/ExamplesTable.d.ts +1 -1
  133. package/dist/src/components/gherkin/ExamplesTable.d.ts.map +1 -1
  134. package/dist/src/components/gherkin/ExamplesTable.js +29 -59
  135. package/dist/src/components/gherkin/ExamplesTable.js.map +1 -1
  136. package/dist/src/components/gherkin/Feature.d.ts +1 -1
  137. package/dist/src/components/gherkin/Feature.d.ts.map +1 -1
  138. package/dist/src/components/gherkin/Feature.js +24 -31
  139. package/dist/src/components/gherkin/Feature.js.map +1 -1
  140. package/dist/src/components/gherkin/GherkinDocument.d.ts +1 -1
  141. package/dist/src/components/gherkin/GherkinDocument.d.ts.map +1 -1
  142. package/dist/src/components/gherkin/GherkinDocument.js +7 -14
  143. package/dist/src/components/gherkin/GherkinDocument.js.map +1 -1
  144. package/dist/src/components/gherkin/GherkinStep.d.ts +1 -1
  145. package/dist/src/components/gherkin/GherkinStep.d.ts.map +1 -1
  146. package/dist/src/components/gherkin/GherkinStep.js +38 -46
  147. package/dist/src/components/gherkin/GherkinStep.js.map +1 -1
  148. package/dist/src/components/gherkin/GherkinSteps.d.ts +1 -1
  149. package/dist/src/components/gherkin/GherkinSteps.d.ts.map +1 -1
  150. package/dist/src/components/gherkin/GherkinSteps.js +10 -17
  151. package/dist/src/components/gherkin/GherkinSteps.js.map +1 -1
  152. package/dist/src/components/gherkin/HookStep.d.ts +1 -1
  153. package/dist/src/components/gherkin/HookStep.d.ts.map +1 -1
  154. package/dist/src/components/gherkin/HookStep.js +22 -52
  155. package/dist/src/components/gherkin/HookStep.js.map +1 -1
  156. package/dist/src/components/gherkin/HookSteps.js +5 -12
  157. package/dist/src/components/gherkin/HookSteps.js.map +1 -1
  158. package/dist/src/components/gherkin/Keyword.d.ts +1 -1
  159. package/dist/src/components/gherkin/Keyword.d.ts.map +1 -1
  160. package/dist/src/components/gherkin/Keyword.js +7 -14
  161. package/dist/src/components/gherkin/Keyword.js.map +1 -1
  162. package/dist/src/components/gherkin/MDG.js +25 -32
  163. package/dist/src/components/gherkin/MDG.js.map +1 -1
  164. package/dist/src/components/gherkin/Parameter.d.ts +1 -1
  165. package/dist/src/components/gherkin/Parameter.d.ts.map +1 -1
  166. package/dist/src/components/gherkin/Parameter.js +7 -14
  167. package/dist/src/components/gherkin/Parameter.js.map +1 -1
  168. package/dist/src/components/gherkin/Rule.d.ts +1 -1
  169. package/dist/src/components/gherkin/Rule.d.ts.map +1 -1
  170. package/dist/src/components/gherkin/Rule.js +22 -29
  171. package/dist/src/components/gherkin/Rule.js.map +1 -1
  172. package/dist/src/components/gherkin/Scenario.d.ts +1 -1
  173. package/dist/src/components/gherkin/Scenario.d.ts.map +1 -1
  174. package/dist/src/components/gherkin/Scenario.js +35 -65
  175. package/dist/src/components/gherkin/Scenario.js.map +1 -1
  176. package/dist/src/components/gherkin/StatusIcon.d.ts +1 -1
  177. package/dist/src/components/gherkin/StatusIcon.d.ts.map +1 -1
  178. package/dist/src/components/gherkin/StatusIcon.js +16 -23
  179. package/dist/src/components/gherkin/StatusIcon.js.map +1 -1
  180. package/dist/src/components/gherkin/StepItem.js +7 -14
  181. package/dist/src/components/gherkin/StepItem.js.map +1 -1
  182. package/dist/src/components/gherkin/StepsList.js +4 -11
  183. package/dist/src/components/gherkin/StepsList.js.map +1 -1
  184. package/dist/src/components/gherkin/Tags.d.ts +1 -1
  185. package/dist/src/components/gherkin/Tags.d.ts.map +1 -1
  186. package/dist/src/components/gherkin/Tags.js +9 -16
  187. package/dist/src/components/gherkin/Tags.js.map +1 -1
  188. package/dist/src/components/gherkin/Title.d.ts +1 -1
  189. package/dist/src/components/gherkin/Title.d.ts.map +1 -1
  190. package/dist/src/components/gherkin/Title.js +9 -16
  191. package/dist/src/components/gherkin/Title.js.map +1 -1
  192. package/dist/src/components/gherkin/attachmentFilename.js +3 -10
  193. package/dist/src/components/gherkin/attachmentFilename.js.map +1 -1
  194. package/dist/src/components/gherkin/index.d.ts +25 -25
  195. package/dist/src/components/gherkin/index.d.ts.map +1 -1
  196. package/dist/src/components/gherkin/index.js +25 -41
  197. package/dist/src/components/gherkin/index.js.map +1 -1
  198. package/dist/src/components/gherkin/isNumber.js +1 -4
  199. package/dist/src/components/gherkin/isNumber.js.map +1 -1
  200. package/dist/src/components/gherkin/statusName.js +1 -3
  201. package/dist/src/components/gherkin/statusName.js.map +1 -1
  202. package/dist/src/components/index.d.ts +4 -4
  203. package/dist/src/components/index.d.ts.map +1 -1
  204. package/dist/src/components/index.js +4 -33
  205. package/dist/src/components/index.js.map +1 -1
  206. package/dist/src/countScenariosByStatuses.d.ts +2 -1
  207. package/dist/src/countScenariosByStatuses.d.ts.map +1 -1
  208. package/dist/src/countScenariosByStatuses.js +26 -33
  209. package/dist/src/countScenariosByStatuses.js.map +1 -1
  210. package/dist/src/filter/filterByStatus.d.ts +2 -1
  211. package/dist/src/filter/filterByStatus.d.ts.map +1 -1
  212. package/dist/src/filter/filterByStatus.js +9 -9
  213. package/dist/src/filter/filterByStatus.js.map +1 -1
  214. package/dist/src/hooks/index.d.ts +2 -2
  215. package/dist/src/hooks/index.d.ts.map +1 -1
  216. package/dist/src/hooks/index.js +2 -18
  217. package/dist/src/hooks/index.js.map +1 -1
  218. package/dist/src/hooks/useFilteredDocuments.d.ts +3 -0
  219. package/dist/src/hooks/useFilteredDocuments.d.ts.map +1 -0
  220. package/dist/src/hooks/useFilteredDocuments.js +27 -0
  221. package/dist/src/hooks/useFilteredDocuments.js.map +1 -0
  222. package/dist/src/hooks/useQueries.d.ts +1 -1
  223. package/dist/src/hooks/useQueries.d.ts.map +1 -1
  224. package/dist/src/hooks/useQueries.js +8 -15
  225. package/dist/src/hooks/useQueries.js.map +1 -1
  226. package/dist/src/hooks/useResultStatistics.d.ts +6 -0
  227. package/dist/src/hooks/useResultStatistics.d.ts.map +1 -0
  228. package/dist/src/hooks/useResultStatistics.js +7 -0
  229. package/dist/src/hooks/useResultStatistics.js.map +1 -0
  230. package/dist/src/hooks/useSearch.d.ts +1 -1
  231. package/dist/src/hooks/useSearch.d.ts.map +1 -1
  232. package/dist/src/hooks/useSearch.js +4 -11
  233. package/dist/src/hooks/useSearch.js.map +1 -1
  234. package/dist/src/index.d.ts +7 -7
  235. package/dist/src/index.d.ts.map +1 -1
  236. package/dist/src/index.js +8 -43
  237. package/dist/src/index.js.map +1 -1
  238. package/dist/src/isTagExpression.js +1 -4
  239. package/dist/src/isTagExpression.js.map +1 -1
  240. package/dist/src/search/FeatureSearch.d.ts +3 -7
  241. package/dist/src/search/FeatureSearch.d.ts.map +1 -1
  242. package/dist/src/search/FeatureSearch.js +31 -31
  243. package/dist/src/search/FeatureSearch.js.map +1 -1
  244. package/dist/src/search/ScenarioLikeSearch.d.ts +25 -0
  245. package/dist/src/search/ScenarioLikeSearch.d.ts.map +1 -0
  246. package/dist/src/search/ScenarioLikeSearch.js +41 -0
  247. package/dist/src/search/ScenarioLikeSearch.js.map +1 -0
  248. package/dist/src/search/Search.d.ts +9 -9
  249. package/dist/src/search/Search.d.ts.map +1 -1
  250. package/dist/src/search/Search.js +34 -20
  251. package/dist/src/search/Search.js.map +1 -1
  252. package/dist/src/search/StepSearch.d.ts +16 -8
  253. package/dist/src/search/StepSearch.d.ts.map +1 -1
  254. package/dist/src/search/StepSearch.js +33 -44
  255. package/dist/src/search/StepSearch.js.map +1 -1
  256. package/dist/src/search/TagSearch.d.ts +2 -10
  257. package/dist/src/search/TagSearch.d.ts.map +1 -1
  258. package/dist/src/search/TagSearch.js +17 -18
  259. package/dist/src/search/TagSearch.js.map +1 -1
  260. package/dist/src/search/TextSearch.d.ts +2 -11
  261. package/dist/src/search/TextSearch.d.ts.map +1 -1
  262. package/dist/src/search/TextSearch.js +47 -36
  263. package/dist/src/search/TextSearch.js.map +1 -1
  264. package/dist/src/search/index.d.ts +3 -0
  265. package/dist/src/search/index.d.ts.map +1 -0
  266. package/dist/src/search/index.js +3 -0
  267. package/dist/src/search/index.js.map +1 -0
  268. package/dist/src/search/types.d.ts +14 -0
  269. package/dist/src/search/types.d.ts.map +1 -0
  270. package/dist/src/search/types.js +2 -0
  271. package/dist/src/search/types.js.map +1 -0
  272. package/dist/src/toRepositoryId.js +1 -4
  273. package/dist/src/toRepositoryId.js.map +1 -1
  274. package/dist/tsconfig.build.tsbuildinfo +1 -1
  275. package/package.json +26 -17
  276. package/dist/src/search/RuleSearch.d.ts +0 -9
  277. package/dist/src/search/RuleSearch.d.ts.map +0 -1
  278. package/dist/src/search/RuleSearch.js +0 -42
  279. package/dist/src/search/RuleSearch.js.map +0 -1
  280. package/dist/src/search/ScenarioSearch.d.ts +0 -9
  281. package/dist/src/search/ScenarioSearch.d.ts.map +0 -1
  282. package/dist/src/search/ScenarioSearch.js +0 -42
  283. package/dist/src/search/ScenarioSearch.js.map +0 -1
package/dist/src/index.js CHANGED
@@ -1,44 +1,9 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.SearchQueryContext = exports.searchFromURLParams = exports.GherkinQueryContext = exports.filterByStatus = exports.EnvelopesQueryContext = exports.EnvelopesQuery = exports.CucumberQueryContext = exports.hooks = exports.components = void 0;
30
- const CucumberQueryContext_1 = __importDefault(require("./CucumberQueryContext"));
31
- exports.CucumberQueryContext = CucumberQueryContext_1.default;
32
- const EnvelopesQueryContext_1 = __importStar(require("./EnvelopesQueryContext"));
33
- exports.EnvelopesQueryContext = EnvelopesQueryContext_1.default;
34
- Object.defineProperty(exports, "EnvelopesQuery", { enumerable: true, get: function () { return EnvelopesQueryContext_1.EnvelopesQuery; } });
35
- const filterByStatus_1 = __importDefault(require("./filter/filterByStatus"));
36
- exports.filterByStatus = filterByStatus_1.default;
37
- const GherkinQueryContext_1 = __importDefault(require("./GherkinQueryContext"));
38
- exports.GherkinQueryContext = GherkinQueryContext_1.default;
39
- const SearchQueryContext_1 = __importStar(require("./SearchQueryContext"));
40
- exports.SearchQueryContext = SearchQueryContext_1.default;
41
- Object.defineProperty(exports, "searchFromURLParams", { enumerable: true, get: function () { return SearchQueryContext_1.searchFromURLParams; } });
42
- exports.components = __importStar(require("./components/index"));
43
- exports.hooks = __importStar(require("./hooks/index"));
1
+ import CucumberQueryContext from './CucumberQueryContext.js';
2
+ import EnvelopesQueryContext, { EnvelopesQuery } from './EnvelopesQueryContext.js';
3
+ import filterByStatus from './filter/filterByStatus.js';
4
+ import GherkinQueryContext from './GherkinQueryContext.js';
5
+ import SearchQueryContext, { searchFromURLParams, } from './SearchQueryContext.js';
6
+ export * as components from './components/index.js';
7
+ export * as hooks from './hooks/index.js';
8
+ export { CucumberQueryContext, EnvelopesQuery, EnvelopesQueryContext, filterByStatus, GherkinQueryContext, searchFromURLParams, SearchQueryContext, };
44
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kFAAyD;AAcvD,+BAdK,8BAAoB,CAcL;AAbtB,iFAA+E;AAe7E,gCAfK,+BAAqB,CAeL;AADrB,+FAd8B,sCAAc,OAc9B;AAbhB,6EAAoD;AAelD,yBAfK,wBAAc,CAeL;AAdhB,gFAAuD;AAerD,8BAfK,6BAAmB,CAeL;AAdrB,2EAK6B;AAW3B,6BAhBK,4BAAkB,CAgBL;AADlB,oGAdA,wCAAmB,OAcA;AARrB,iEAAgD;AAChD,uDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,2BAA2B,CAAA;AAC5D,OAAO,qBAAqB,EAAE,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,cAAc,MAAM,4BAA4B,CAAA;AACvD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,kBAAkB,EAAE,EACzB,mBAAmB,GAIpB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GAInB,CAAA"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function isTagExpression(expression) {
1
+ export default function isTagExpression(expression) {
4
2
  const tagExpression = /^\s*((@[^\s]+\s*)|(and\s+)|(or\s+)|(not\s+)|\(|\))+\s*$/;
5
3
  return !!tagExpression.exec(expression);
6
4
  }
7
- exports.default = isTagExpression;
8
5
  //# sourceMappingURL=isTagExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isTagExpression.js","sourceRoot":"","sources":["../../src/isTagExpression.ts"],"names":[],"mappings":";;AAAA,SAAwB,eAAe,CAAC,UAAkB;IACxD,MAAM,aAAa,GAAG,yDAAyD,CAAA;IAC/E,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACzC,CAAC;AAHD,kCAGC"}
1
+ {"version":3,"file":"isTagExpression.js","sourceRoot":"","sources":["../../src/isTagExpression.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAkB;IACxD,MAAM,aAAa,GAAG,yDAAyD,CAAA;IAC/E,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACzC,CAAC"}
@@ -1,8 +1,4 @@
1
- import * as messages from '@cucumber/messages';
2
- export default class FeatureSearch {
3
- private readonly featuresByUri;
4
- private readonly index;
5
- add(gherkinDocument: messages.GherkinDocument): void;
6
- search(query: string): messages.Feature[];
7
- }
1
+ import { Feature, GherkinDocument } from '@cucumber/messages';
2
+ import { TypedIndex } from './types.js';
3
+ export declare function createFeatureSearch(): Promise<TypedIndex<Feature, GherkinDocument>>;
8
4
  //# sourceMappingURL=FeatureSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureSearch.d.ts","sourceRoot":"","sources":["../../../src/search/FeatureSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAS9C,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAKpB;IAEK,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe;IAc7C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE;CAcjD"}
1
+ {"version":3,"file":"FeatureSearch.d.ts","sourceRoot":"","sources":["../../../src/search/FeatureSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAG7D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAuCvC,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAQzF"}
@@ -1,45 +1,45 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ import { create, insert, search } from '@orama/orama';
2
+ const schema = {
3
+ name: 'string',
4
+ description: 'string',
4
5
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const elasticlunr_1 = __importDefault(require("elasticlunr"));
6
+ /**
7
+ * A little different than the other indexes - a Feature doesn't have its own id,
8
+ * so we use the uri of the GherkinDocument as a pointer
9
+ */
7
10
  class FeatureSearch {
8
- constructor() {
9
- this.featuresByUri = new Map();
10
- this.index = (0, elasticlunr_1.default)((ctx) => {
11
- ctx.setRef('uri');
12
- ctx.addField('name');
13
- ctx.addField('description');
14
- ctx.saveDocument(true);
11
+ featuresByUri = new Map();
12
+ index;
13
+ constructor(index) {
14
+ this.index = index;
15
+ }
16
+ async search(term) {
17
+ const { hits } = await search(this.index, {
18
+ term,
15
19
  });
20
+ return hits.map((hit) => this.featuresByUri.get(hit.id));
16
21
  }
17
- add(gherkinDocument) {
22
+ async add(gherkinDocument) {
18
23
  if (!gherkinDocument.feature)
19
- return;
24
+ return this;
20
25
  if (!gherkinDocument.uri)
21
26
  throw new Error('Missing uri on gherkinDocument');
22
27
  this.featuresByUri.set(gherkinDocument.uri, gherkinDocument.feature);
23
- this.index.addDoc({
24
- uri: gherkinDocument.uri,
28
+ await insert(this.index, {
29
+ id: gherkinDocument.uri,
25
30
  name: gherkinDocument.feature.name,
26
31
  description: gherkinDocument.feature.description,
27
32
  });
33
+ return this;
28
34
  }
29
- search(query) {
30
- const searchResultsList = this.index.search(query, {
31
- fields: {
32
- name: { bool: 'OR', boost: 1 },
33
- description: { bool: 'OR', boost: 1 },
34
- },
35
- });
36
- return searchResultsList.map((searchResults) => {
37
- const feature = this.featuresByUri.get(searchResults.ref);
38
- if (!feature)
39
- throw new Error(`No feature for ref ${searchResults.ref}`);
40
- return feature;
41
- });
42
- }
43
35
  }
44
- exports.default = FeatureSearch;
36
+ export async function createFeatureSearch() {
37
+ const index = await create({
38
+ schema,
39
+ sort: {
40
+ enabled: false,
41
+ },
42
+ });
43
+ return new FeatureSearch(index);
44
+ }
45
45
  //# sourceMappingURL=FeatureSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureSearch.js","sourceRoot":"","sources":["../../../src/search/FeatureSearch.ts"],"names":[],"mappings":";;;;;AACA,8DAAqC;AAQrC,MAAqB,aAAa;IAAlC;QACmB,kBAAa,GAAG,IAAI,GAAG,EAA4B,CAAA;QACnD,UAAK,GAAG,IAAA,qBAAW,EAAoB,CAAC,GAAG,EAAE,EAAE;YAC9D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACjB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACpB,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC3B,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IA8BJ,CAAC;IA5BQ,GAAG,CAAC,eAAyC;QAClD,IAAI,CAAC,eAAe,CAAC,OAAO;YAAE,OAAM;QAEpC,IAAI,CAAC,eAAe,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAE3E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;QAEpE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAChB,GAAG,EAAE,eAAe,CAAC,GAAG;YACxB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI;YAClC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW;SACjD,CAAC,CAAA;IACJ,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YACjD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;aACtC;SACF,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACzD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAA;YACxE,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AArCD,gCAqCC"}
1
+ {"version":3,"file":"FeatureSearch.js","sourceRoot":"","sources":["../../../src/search/FeatureSearch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,cAAc,CAAA;AAI5D,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;CACb,CAAA;AAEV;;;GAGG;AACH,MAAM,aAAa;IACA,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC1C,KAAK,CAAsB;IAE5C,YAAY,KAA2B;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACxC,IAAI;SACL,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAc,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,eAAgC;QACxC,IAAI,CAAC,eAAe,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC3E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;QACpE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACvB,EAAE,EAAE,eAAe,CAAC,GAAG;YACvB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI;YAClC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW;SACjD,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,KAAK,GAAyB,MAAM,MAAM,CAAC;QAC/C,MAAM;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAA;IACF,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Orama } from '@orama/orama';
2
+ import { TypedIndex } from './types.js';
3
+ declare const schema: {
4
+ readonly name: "string";
5
+ readonly description: "string";
6
+ };
7
+ export interface ScenarioLike {
8
+ id: string;
9
+ name: string;
10
+ description: string;
11
+ }
12
+ /**
13
+ * Can be used for Backgrounds, Scenarios and Rules, searching against the
14
+ * name and description
15
+ */
16
+ declare class ScenarioLikeSearch<T extends ScenarioLike> implements TypedIndex<T> {
17
+ private itemById;
18
+ private readonly index;
19
+ constructor(index: Orama<typeof schema>);
20
+ search(term: string): Promise<Array<T>>;
21
+ add(item: T): Promise<this>;
22
+ }
23
+ export declare function createScenarioLikeSearch<T extends ScenarioLike>(): Promise<ScenarioLikeSearch<T>>;
24
+ export {};
25
+ //# sourceMappingURL=ScenarioLikeSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScenarioLikeSearch.d.ts","sourceRoot":"","sources":["../../../src/search/ScenarioLikeSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAU,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,QAAA,MAAM,MAAM;;;CAGF,CAAA;AAEV,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,cAAM,kBAAkB,CAAC,CAAC,SAAS,YAAY,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;gBAEhC,KAAK,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC;IAIjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAOvC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CASlC;AAED,wBAAsB,wBAAwB,CAAC,CAAC,SAAS,YAAY,KAAK,OAAO,CAC/E,kBAAkB,CAAC,CAAC,CAAC,CACtB,CAQA"}
@@ -0,0 +1,41 @@
1
+ import { create, insert, search } from '@orama/orama';
2
+ const schema = {
3
+ name: 'string',
4
+ description: 'string',
5
+ };
6
+ /**
7
+ * Can be used for Backgrounds, Scenarios and Rules, searching against the
8
+ * name and description
9
+ */
10
+ class ScenarioLikeSearch {
11
+ itemById = new Map();
12
+ index;
13
+ constructor(index) {
14
+ this.index = index;
15
+ }
16
+ async search(term) {
17
+ const { hits } = await search(this.index, {
18
+ term,
19
+ });
20
+ return hits.map((hit) => this.itemById.get(hit.id));
21
+ }
22
+ async add(item) {
23
+ this.itemById.set(item.id, item);
24
+ await insert(this.index, {
25
+ id: item.id,
26
+ name: item.name,
27
+ description: item.description,
28
+ });
29
+ return this;
30
+ }
31
+ }
32
+ export async function createScenarioLikeSearch() {
33
+ const index = await create({
34
+ schema,
35
+ sort: {
36
+ enabled: false,
37
+ },
38
+ });
39
+ return new ScenarioLikeSearch(index);
40
+ }
41
+ //# sourceMappingURL=ScenarioLikeSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScenarioLikeSearch.js","sourceRoot":"","sources":["../../../src/search/ScenarioLikeSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,cAAc,CAAA;AAI5D,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;CACb,CAAA;AAQV;;;GAGG;AACH,MAAM,kBAAkB;IACd,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAA;IACtB,KAAK,CAAsB;IAE5C,YAAY,KAA2B;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACxC,IAAI;SACL,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAQ,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAO;QACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAG5C,MAAM,KAAK,GAAyB,MAAM,MAAM,CAAC;QAC/C,MAAM;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAA;IACF,OAAO,IAAI,kBAAkB,CAAI,KAAK,CAAC,CAAA;AACzC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
2
- import * as messages from '@cucumber/messages';
3
- export default class Search {
4
- private readonly gherkinQuery;
5
- private readonly tagSearch;
6
- private readonly textSearch;
7
- constructor(gherkinQuery: GherkinQuery);
8
- search(query: string): messages.GherkinDocument[];
9
- add(gherkinDocument: messages.GherkinDocument): void;
10
- }
2
+ import { Searchable } from './types.js';
3
+ /**
4
+ * Creates a search index that supports querying by term or tag expression, and
5
+ * returns an array of abridged Gherkin documents matching the query.
6
+ *
7
+ * @param gherkinQuery - query instance used internally for searching, with any
8
+ * documents already present being pre-populated in the search index
9
+ */
10
+ export declare function createSearch(gherkinQuery: GherkinQuery): Promise<Searchable>;
11
11
  //# sourceMappingURL=Search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/search/Search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAM9C,MAAM,CAAC,OAAO,OAAO,MAAM;IAIb,OAAO,CAAC,QAAQ,CAAC,YAAY;IAHzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;gBAEjB,YAAY,EAAE,YAAY;IAIhD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe,EAAE;IAYjD,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe;CAIrD"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/search/Search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAM/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAwBvC;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAUlF"}
@@ -1,32 +1,46 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const isTagExpression_1 = __importDefault(require("../../src/isTagExpression"));
7
- const TagSearch_1 = __importDefault(require("../../src/search/TagSearch"));
8
- const TextSearch_1 = __importDefault(require("../../src/search/TextSearch"));
1
+ import isTagExpression from '../isTagExpression.js';
2
+ import { createTagSearch } from './TagSearch.js';
3
+ import { createTextSearch } from './TextSearch.js';
9
4
  class Search {
10
- constructor(gherkinQuery) {
11
- this.gherkinQuery = gherkinQuery;
12
- this.textSearch = new TextSearch_1.default();
13
- this.tagSearch = new TagSearch_1.default(gherkinQuery);
5
+ tagSearch;
6
+ textSearch;
7
+ constructor(tagSearch, textSearch) {
8
+ this.tagSearch = tagSearch;
9
+ this.textSearch = textSearch;
14
10
  }
15
- search(query) {
16
- if ((0, isTagExpression_1.default)(query)) {
11
+ async search(query) {
12
+ if (isTagExpression(query)) {
17
13
  try {
18
- return this.tagSearch.search(query);
14
+ return await this.tagSearch.search(query);
19
15
  }
20
- catch (_a) {
16
+ catch {
21
17
  // No-op, we fall back to text search.
22
18
  }
23
19
  }
24
20
  return this.textSearch.search(query);
25
21
  }
26
- add(gherkinDocument) {
27
- this.tagSearch.add(gherkinDocument);
28
- this.textSearch.add(gherkinDocument);
22
+ async add(gherkinDocument) {
23
+ await this.tagSearch.add(gherkinDocument);
24
+ await this.textSearch.add(gherkinDocument);
25
+ return this;
29
26
  }
30
27
  }
31
- exports.default = Search;
28
+ /**
29
+ * Creates a search index that supports querying by term or tag expression, and
30
+ * returns an array of abridged Gherkin documents matching the query.
31
+ *
32
+ * @param gherkinQuery - query instance used internally for searching, with any
33
+ * documents already present being pre-populated in the search index
34
+ */
35
+ export async function createSearch(gherkinQuery) {
36
+ const [tagSearch, textSearch] = await Promise.all([
37
+ createTagSearch(gherkinQuery),
38
+ createTextSearch(),
39
+ ]);
40
+ const searchImpl = new Search(tagSearch, textSearch);
41
+ for (const doc of gherkinQuery.getGherkinDocuments()) {
42
+ await searchImpl.add(doc);
43
+ }
44
+ return searchImpl;
45
+ }
32
46
  //# sourceMappingURL=Search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/search/Search.ts"],"names":[],"mappings":";;;;;AAGA,gFAAuD;AACvD,2EAAkD;AAClD,6EAAoD;AAEpD,MAAqB,MAAM;IAIzB,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAFtC,eAAU,GAAG,IAAI,oBAAU,EAAE,CAAA;QAG5C,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAS,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,IAAA,yBAAe,EAAC,KAAK,CAAC,EAAE;YAC1B,IAAI;gBACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aACpC;YAAC,WAAM;gBACN,sCAAsC;aACvC;SACF;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAEM,GAAG,CAAC,eAAyC;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACtC,CAAC;CACF;AAxBD,yBAwBC"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/search/Search.ts"],"names":[],"mappings":"AAGA,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAM,MAAM;IACmB;IAAwC;IAArE,YAA6B,SAAqB,EAAmB,UAAsB;QAA9D,cAAS,GAAT,SAAS,CAAY;QAAmB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAExF,KAAK,CAAC,MAAM,CAAC,KAAa;QAC/B,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;YAAC,MAAM;gBACN,sCAAsC;aACvC;SACF;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,eAAyC;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAA0B;IAC3D,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,eAAe,CAAC,YAAY,CAAC;QAC7B,gBAAgB,EAAE;KACnB,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACpD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,mBAAmB,EAAE,EAAE;QACpD,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAC1B;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -1,11 +1,19 @@
1
- import * as messages from '@cucumber/messages';
2
- export default class StepSearch {
1
+ import { Step } from '@cucumber/messages';
2
+ import { Orama } from '@orama/orama';
3
+ import { TypedIndex } from './types.js';
4
+ declare const schema: {
5
+ readonly keyword: "string";
6
+ readonly text: "string";
7
+ readonly docString: "string";
8
+ readonly dataTable: "string[]";
9
+ };
10
+ declare class StepSearch implements TypedIndex<Step> {
11
+ private readonly stepById;
3
12
  private readonly index;
4
- private stepById;
5
- add(step: messages.Step): void;
6
- search(query: string): messages.Step[];
7
- private get;
8
- private static docStringToString;
9
- private static dataTableToString;
13
+ constructor(index: Orama<typeof schema>);
14
+ search(term: string): Promise<Array<Step>>;
15
+ add(step: Step): Promise<this>;
10
16
  }
17
+ export declare function createStepSearch(): Promise<StepSearch>;
18
+ export {};
11
19
  //# sourceMappingURL=StepSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepSearch.d.ts","sourceRoot":"","sources":["../../../src/search/StepSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAW9C,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAOpB;IACF,OAAO,CAAC,QAAQ,CAAmC;IAE5C,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI;IAa9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE;IAa7C,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAGjC"}
1
+ {"version":3,"file":"StepSearch.d.ts","sourceRoot":"","sources":["../../../src/search/StepSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAkB,KAAK,EAAU,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,QAAA,MAAM,MAAM;;;;;CAKF,CAAA;AAEV,cAAM,UAAW,YAAW,UAAU,CAAC,IAAI,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;gBAEhC,KAAK,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC;IAIjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAU1C,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrC;AAED,wBAAsB,gBAAgB,wBAQrC"}
@@ -1,55 +1,44 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ import { create, insert, search } from '@orama/orama';
2
+ const schema = {
3
+ keyword: 'string',
4
+ text: 'string',
5
+ docString: 'string',
6
+ dataTable: 'string[]',
4
7
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const elasticlunr_1 = __importDefault(require("elasticlunr"));
7
8
  class StepSearch {
8
- constructor() {
9
- this.index = (0, elasticlunr_1.default)((ctx) => {
10
- ctx.addField('keyword');
11
- ctx.addField('text');
12
- ctx.addField('docString');
13
- ctx.addField('dataTable');
14
- ctx.setRef('id');
15
- ctx.saveDocument(true);
9
+ stepById = new Map();
10
+ index;
11
+ constructor(index) {
12
+ this.index = index;
13
+ }
14
+ async search(term) {
15
+ const { hits } = await search(this.index, {
16
+ term,
17
+ boost: {
18
+ text: 2,
19
+ },
16
20
  });
17
- this.stepById = new Map();
21
+ return hits.map((hit) => this.stepById.get(hit.id));
18
22
  }
19
- add(step) {
20
- const doc = {
23
+ async add(step) {
24
+ this.stepById.set(step.id, step);
25
+ await insert(this.index, {
21
26
  id: step.id,
22
27
  keyword: step.keyword,
23
28
  text: step.text,
24
- docString: step.docString && StepSearch.docStringToString(step.docString),
25
- dataTable: step.dataTable && StepSearch.dataTableToString(step.dataTable),
26
- };
27
- this.index.addDoc(doc);
28
- this.stepById.set(step.id, step);
29
- }
30
- search(query) {
31
- const results = this.index.search(query, {
32
- fields: {
33
- keyword: { bool: 'OR', boost: 1 },
34
- text: { bool: 'OR', boost: 2 },
35
- docString: { bool: 'OR', boost: 1 },
36
- dataTable: { bool: 'OR', boost: 1 },
37
- },
29
+ docString: step.docString?.content,
30
+ dataTable: step.dataTable?.rows.flatMap((row) => row.cells).map((cell) => cell.value),
38
31
  });
39
- return results.map((result) => this.get(result.ref));
40
- }
41
- get(ref) {
42
- const rule = this.stepById.get(ref);
43
- if (!rule)
44
- throw new Error(`No step for ref ${ref}`);
45
- return rule;
46
- }
47
- static docStringToString(docString) {
48
- return docString.content;
49
- }
50
- static dataTableToString(dataTable) {
51
- return dataTable.rows.map((row) => row.cells.map((cell) => cell.value).join(' ')).join(' ');
32
+ return this;
52
33
  }
53
34
  }
54
- exports.default = StepSearch;
35
+ export async function createStepSearch() {
36
+ const index = await create({
37
+ schema,
38
+ sort: {
39
+ enabled: false,
40
+ },
41
+ });
42
+ return new StepSearch(index);
43
+ }
55
44
  //# sourceMappingURL=StepSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepSearch.js","sourceRoot":"","sources":["../../../src/search/StepSearch.ts"],"names":[],"mappings":";;;;;AACA,8DAAqC;AAUrC,MAAqB,UAAU;IAA/B;QACmB,UAAK,GAAG,IAAA,qBAAW,EAAiB,CAAC,GAAG,EAAE,EAAE;YAC3D,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACvB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACpB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YACzB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAChB,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QACM,aAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IAyCrD,CAAC;IAvCQ,GAAG,CAAC,IAAmB;QAC5B,MAAM,GAAG,GAAG;YACV,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;YACzE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;SAC1E,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YACvC,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACjC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACnC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;aACpC;SACF,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACtD,CAAC;IAEO,GAAG,CAAC,GAAW;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,SAA6B;QAC5D,OAAO,SAAS,CAAC,OAAO,CAAA;IAC1B,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,SAA6B;QAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7F,CAAC;CACF;AAlDD,6BAkDC"}
1
+ {"version":3,"file":"StepSearch.js","sourceRoot":"","sources":["../../../src/search/StepSearch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,cAAc,CAAA;AAI5D,MAAM,MAAM,GAAG;IACb,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,UAAU;CACb,CAAA;AAEV,MAAM,UAAU;IACG,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAA;IAClC,KAAK,CAAsB;IAE5C,YAAY,KAA2B;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACxC,IAAI;YACJ,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC;aACR;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAW,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAU;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACtF,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,KAAK,GAAyB,MAAM,MAAM,CAAC;QAC/C,MAAM;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAA;IACF,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC"}
@@ -1,12 +1,4 @@
1
1
  import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
2
- import * as messages from '@cucumber/messages';
3
- export default class TagSearch {
4
- private readonly gherkinQuery;
5
- private readonly pickleById;
6
- private readonly picklesByScenarioId;
7
- private gherkinDocuments;
8
- constructor(gherkinQuery: GherkinQuery);
9
- search(query: string): messages.GherkinDocument[];
10
- add(gherkinDocument: messages.GherkinDocument): void;
11
- }
2
+ import { Searchable } from './types.js';
3
+ export declare function createTagSearch(gherkinQuery: GherkinQuery): Promise<Searchable>;
12
4
  //# sourceMappingURL=TagSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagSearch.d.ts","sourceRoot":"","sources":["../../../src/search/TagSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAK9C,MAAM,CAAC,OAAO,OAAO,SAAS;IAKhB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+C;IACnF,OAAO,CAAC,gBAAgB,CAAiC;gBAE5B,YAAY,EAAE,YAAY;IAIhD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe,EAAE;IAwBjD,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe;CAsBrD"}
1
+ {"version":3,"file":"TagSearch.d.ts","sourceRoot":"","sources":["../../../src/search/TagSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,IAAI,YAAY,EAEtB,MAAM,yBAAyB,CAAA;AAMhC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AA6DvC,wBAAsB,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAErF"}
@@ -1,21 +1,17 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const gherkin_utils_1 = require("@cucumber/gherkin-utils");
7
- const tag_expressions_1 = __importDefault(require("@cucumber/tag-expressions"));
8
- const multimaps_1 = require("@teppeis/multimaps");
1
+ import { GherkinDocumentWalker, rejectAllFilters, } from '@cucumber/gherkin-utils';
2
+ import parse from '@cucumber/tag-expressions';
3
+ import { ArrayMultimap } from '@teppeis/multimaps';
9
4
  class TagSearch {
5
+ gherkinQuery;
6
+ pickleById = new Map();
7
+ picklesByScenarioId = new ArrayMultimap();
8
+ gherkinDocuments = [];
10
9
  constructor(gherkinQuery) {
11
10
  this.gherkinQuery = gherkinQuery;
12
- this.pickleById = new Map();
13
- this.picklesByScenarioId = new multimaps_1.ArrayMultimap();
14
- this.gherkinDocuments = [];
15
11
  this.gherkinQuery = gherkinQuery;
16
12
  }
17
- search(query) {
18
- const expressionNode = (0, tag_expressions_1.default)(query);
13
+ async search(query) {
14
+ const expressionNode = parse(query);
19
15
  const tagFilters = {
20
16
  acceptScenario: (scenario) => {
21
17
  const pickles = this.picklesByScenarioId.get(scenario.id);
@@ -28,17 +24,17 @@ class TagSearch {
28
24
  return false;
29
25
  },
30
26
  };
31
- const filters = Object.assign(Object.assign({}, gherkin_utils_1.rejectAllFilters), tagFilters);
32
- const astWalker = new gherkin_utils_1.GherkinDocumentWalker(filters);
27
+ const filters = { ...rejectAllFilters, ...tagFilters };
28
+ const astWalker = new GherkinDocumentWalker(filters);
33
29
  return this.gherkinDocuments
34
30
  .map((gherkinDocument) => astWalker.walkGherkinDocument(gherkinDocument))
35
31
  .filter((gherkinDocument) => gherkinDocument !== null);
36
32
  }
37
- add(gherkinDocument) {
33
+ async add(gherkinDocument) {
38
34
  this.gherkinDocuments.push(gherkinDocument);
39
35
  const pickles = this.gherkinQuery.getPickles();
40
36
  pickles.forEach((pickle) => this.pickleById.set(pickle.id, pickle));
41
- const astWalker = new gherkin_utils_1.GherkinDocumentWalker({}, {
37
+ const astWalker = new GherkinDocumentWalker({}, {
42
38
  handleScenario: (scenario) => {
43
39
  if (!gherkinDocument.uri)
44
40
  throw new Error('No uri for gherkinDocument');
@@ -52,7 +48,10 @@ class TagSearch {
52
48
  },
53
49
  });
54
50
  astWalker.walkGherkinDocument(gherkinDocument);
51
+ return this;
55
52
  }
56
53
  }
57
- exports.default = TagSearch;
54
+ export async function createTagSearch(gherkinQuery) {
55
+ return new TagSearch(gherkinQuery);
56
+ }
58
57
  //# sourceMappingURL=TagSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagSearch.js","sourceRoot":"","sources":["../../../src/search/TagSearch.ts"],"names":[],"mappings":";;;;;AACA,2DAAiF;AAGjF,gFAA6C;AAC7C,kDAAkD;AAElD,MAAqB,SAAS;IAK5B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAJtC,eAAU,GAAG,IAAI,GAAG,EAA2B,CAAA;QAC/C,wBAAmB,GAAG,IAAI,yBAAa,EAA2B,CAAA;QAC3E,qBAAgB,GAA+B,EAAE,CAAA;QAGvD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,MAAM,cAAc,GAAG,IAAA,yBAAK,EAAC,KAAK,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG;YACjB,cAAc,EAAE,CAAC,QAA2B,EAAE,EAAE;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAEzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC/C,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjC,OAAO,IAAI,CAAA;qBACZ;iBACF;gBAED,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAA;QACD,MAAM,OAAO,mCAAQ,gCAAgB,GAAK,UAAU,CAAE,CAAA;QACtD,MAAM,SAAS,GAAG,IAAI,qCAAqB,CAAC,OAAO,CAAC,CAAA;QAEpD,OAAO,IAAI,CAAC,gBAAgB;aACzB,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,IAAI,CAAsB,CAAA;IAC/E,CAAC;IAEM,GAAG,CAAC,eAAyC;QAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;QAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAEnE,MAAM,SAAS,GAAG,IAAI,qCAAqB,CACzC,EAAE,EACF;YACE,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,eAAe,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACvE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAElF,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBAC5C,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAA;oBAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBACnD,CAAC,CAAC,CAAA;YACJ,CAAC;SACF,CACF,CAAA;QACD,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAChD,CAAC;CACF;AAvDD,4BAuDC"}
1
+ {"version":3,"file":"TagSearch.js","sourceRoot":"","sources":["../../../src/search/TagSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,SAAS;IAKgB;IAJZ,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAA;IAC/C,mBAAmB,GAAG,IAAI,aAAa,EAA2B,CAAA;IAC3E,gBAAgB,GAA+B,EAAE,CAAA;IAEzD,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QACrD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAa;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG;YACjB,cAAc,EAAE,CAAC,QAA2B,EAAE,EAAE;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAEzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC/C,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjC,OAAO,IAAI,CAAA;qBACZ;iBACF;gBAED,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAA;QACD,MAAM,OAAO,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAAA;QACtD,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;QAEpD,OAAO,IAAI,CAAC,gBAAgB;aACzB,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,IAAI,CAAsB,CAAA;IAC/E,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,eAAyC;QACxD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;QAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAEnE,MAAM,SAAS,GAAG,IAAI,qBAAqB,CACzC,EAAE,EACF;YACE,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,eAAe,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACvE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAElF,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBAC5C,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAA;oBAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBACnD,CAAC,CAAC,CAAA;YACJ,CAAC;SACF,CACF,CAAA;QACD,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;QAE9C,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,YAA0B;IAC9D,OAAO,IAAI,SAAS,CAAC,YAAY,CAAC,CAAA;AACpC,CAAC"}