@vltpkg/query 1.0.0-rc.32 → 1.0.0-rc.34

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 (215) hide show
  1. package/dist/index.js +10 -6
  2. package/dist/parser.js +2 -1
  3. package/dist/pseudo/hostname.js +3 -1
  4. package/dist/pseudo/malware.d.ts +3 -16
  5. package/dist/pseudo/malware.js +11 -171
  6. package/dist/pseudo/scripts.js +1 -1
  7. package/dist/pseudo/vuln.d.ts +22 -0
  8. package/dist/pseudo/vuln.js +220 -0
  9. package/dist/pseudo.js +3 -3
  10. package/dist/types.d.ts +3 -2
  11. package/package.json +19 -10
  12. package/skills/dss-query/REFERENCE.md +123 -0
  13. package/skills/dss-query/SKILL.md +190 -0
  14. package/skills/dss-query/evals/README.md +79 -0
  15. package/skills/dss-query/evals/evals.json +89 -0
  16. package/skills/dss-query/evals/grade.mjs +480 -0
  17. package/src/attribute.ts +186 -0
  18. package/src/combinator.ts +132 -0
  19. package/src/id.ts +46 -0
  20. package/src/index.ts +620 -0
  21. package/src/parser.ts +122 -0
  22. package/src/pseudo/abandoned.ts +9 -0
  23. package/src/pseudo/attr.ts +92 -0
  24. package/src/pseudo/built.ts +19 -0
  25. package/src/pseudo/confused.ts +29 -0
  26. package/src/pseudo/cve.ts +93 -0
  27. package/src/pseudo/cwe.ts +97 -0
  28. package/src/pseudo/debug.ts +9 -0
  29. package/src/pseudo/deprecated.ts +9 -0
  30. package/src/pseudo/dev.ts +18 -0
  31. package/src/pseudo/diff.ts +90 -0
  32. package/src/pseudo/dist.ts +144 -0
  33. package/src/pseudo/dynamic.ts +9 -0
  34. package/src/pseudo/empty.ts +15 -0
  35. package/src/pseudo/entropic.ts +9 -0
  36. package/src/pseudo/env.ts +6 -0
  37. package/src/pseudo/eval.ts +9 -0
  38. package/src/pseudo/fs.ts +9 -0
  39. package/src/pseudo/helpers.ts +106 -0
  40. package/src/pseudo/host.ts +111 -0
  41. package/src/pseudo/hostname.ts +156 -0
  42. package/src/pseudo/license.ts +134 -0
  43. package/src/pseudo/link.ts +30 -0
  44. package/src/pseudo/malware.ts +41 -0
  45. package/src/pseudo/minified.ts +9 -0
  46. package/src/pseudo/missing.ts +16 -0
  47. package/src/pseudo/native.ts +9 -0
  48. package/src/pseudo/network.ts +9 -0
  49. package/src/pseudo/obfuscated.ts +9 -0
  50. package/src/pseudo/optional.ts +18 -0
  51. package/src/pseudo/outdated.ts +305 -0
  52. package/src/pseudo/overridden.ts +20 -0
  53. package/src/pseudo/path.ts +146 -0
  54. package/src/pseudo/peer.ts +18 -0
  55. package/src/pseudo/prerelease.ts +47 -0
  56. package/src/pseudo/private.ts +19 -0
  57. package/src/pseudo/prod.ts +18 -0
  58. package/src/pseudo/published.ts +248 -0
  59. package/src/pseudo/registry.ts +29 -0
  60. package/src/pseudo/root.ts +19 -0
  61. package/src/pseudo/scanned.ts +20 -0
  62. package/src/pseudo/score.ts +186 -0
  63. package/src/pseudo/scripts.ts +54 -0
  64. package/src/pseudo/semver.ts +320 -0
  65. package/src/pseudo/severity.ts +231 -0
  66. package/src/pseudo/shell.ts +9 -0
  67. package/src/pseudo/shrinkwrap.ts +9 -0
  68. package/src/pseudo/spec.ts +131 -0
  69. package/src/pseudo/squat.ts +225 -0
  70. package/src/pseudo/suspicious.ts +9 -0
  71. package/src/pseudo/tracker.ts +9 -0
  72. package/src/pseudo/trivial.ts +9 -0
  73. package/src/pseudo/type.ts +26 -0
  74. package/src/pseudo/undesirable.ts +9 -0
  75. package/src/pseudo/unknown.ts +9 -0
  76. package/src/pseudo/unmaintained.ts +9 -0
  77. package/src/pseudo/unpopular.ts +9 -0
  78. package/src/pseudo/unstable.ts +9 -0
  79. package/src/pseudo/vuln.ts +273 -0
  80. package/src/pseudo/workspace.ts +22 -0
  81. package/src/pseudo.ts +413 -0
  82. package/src/types.ts +165 -0
  83. package/tap-snapshots/test/attribute.ts.test.cjs +304 -0
  84. package/tap-snapshots/test/combinator.ts.test.cjs +333 -0
  85. package/tap-snapshots/test/id.ts.test.cjs +118 -0
  86. package/tap-snapshots/test/parser.ts.test.cjs +344 -0
  87. package/tap-snapshots/test/pseudo/abandoned.ts.test.cjs +18 -0
  88. package/tap-snapshots/test/pseudo/attr.ts.test.cjs +161 -0
  89. package/tap-snapshots/test/pseudo/built.ts.test.cjs +70 -0
  90. package/tap-snapshots/test/pseudo/confused.ts.test.cjs +32 -0
  91. package/tap-snapshots/test/pseudo/cve.ts.test.cjs +49 -0
  92. package/tap-snapshots/test/pseudo/cwe.ts.test.cjs +49 -0
  93. package/tap-snapshots/test/pseudo/debug.ts.test.cjs +18 -0
  94. package/tap-snapshots/test/pseudo/deprecated.ts.test.cjs +18 -0
  95. package/tap-snapshots/test/pseudo/dist.ts.test.cjs +30 -0
  96. package/tap-snapshots/test/pseudo/dynamic.ts.test.cjs +18 -0
  97. package/tap-snapshots/test/pseudo/empty.ts.test.cjs +50 -0
  98. package/tap-snapshots/test/pseudo/entropic.ts.test.cjs +18 -0
  99. package/tap-snapshots/test/pseudo/env.ts.test.cjs +18 -0
  100. package/tap-snapshots/test/pseudo/eval.ts.test.cjs +18 -0
  101. package/tap-snapshots/test/pseudo/fs.ts.test.cjs +18 -0
  102. package/tap-snapshots/test/pseudo/helpers.ts.test.cjs +18 -0
  103. package/tap-snapshots/test/pseudo/hostname.ts.test.cjs +148 -0
  104. package/tap-snapshots/test/pseudo/license.ts.test.cjs +41 -0
  105. package/tap-snapshots/test/pseudo/link.ts.test.cjs +36 -0
  106. package/tap-snapshots/test/pseudo/malware.ts.test.cjs +22 -0
  107. package/tap-snapshots/test/pseudo/minified.ts.test.cjs +18 -0
  108. package/tap-snapshots/test/pseudo/missing.ts.test.cjs +30 -0
  109. package/tap-snapshots/test/pseudo/native.ts.test.cjs +18 -0
  110. package/tap-snapshots/test/pseudo/network.ts.test.cjs +18 -0
  111. package/tap-snapshots/test/pseudo/obfuscated.ts.test.cjs +18 -0
  112. package/tap-snapshots/test/pseudo/outdated.ts.test.cjs +130 -0
  113. package/tap-snapshots/test/pseudo/overridden.ts.test.cjs +75 -0
  114. package/tap-snapshots/test/pseudo/prerelease.ts.test.cjs +101 -0
  115. package/tap-snapshots/test/pseudo/private.ts.test.cjs +38 -0
  116. package/tap-snapshots/test/pseudo/published.ts.test.cjs +171 -0
  117. package/tap-snapshots/test/pseudo/registry.ts.test.cjs +68 -0
  118. package/tap-snapshots/test/pseudo/root.ts.test.cjs +24 -0
  119. package/tap-snapshots/test/pseudo/scanned.ts.test.cjs +18 -0
  120. package/tap-snapshots/test/pseudo/score.ts.test.cjs +239 -0
  121. package/tap-snapshots/test/pseudo/scripts.ts.test.cjs +61 -0
  122. package/tap-snapshots/test/pseudo/semver.ts.test.cjs +575 -0
  123. package/tap-snapshots/test/pseudo/severity.ts.test.cjs +95 -0
  124. package/tap-snapshots/test/pseudo/shell.ts.test.cjs +18 -0
  125. package/tap-snapshots/test/pseudo/shrinkwrap.ts.test.cjs +18 -0
  126. package/tap-snapshots/test/pseudo/spec.ts.test.cjs +148 -0
  127. package/tap-snapshots/test/pseudo/squat.ts.test.cjs +129 -0
  128. package/tap-snapshots/test/pseudo/suspicious.ts.test.cjs +18 -0
  129. package/tap-snapshots/test/pseudo/tracker.ts.test.cjs +18 -0
  130. package/tap-snapshots/test/pseudo/trivial.ts.test.cjs +18 -0
  131. package/tap-snapshots/test/pseudo/type.ts.test.cjs +51 -0
  132. package/tap-snapshots/test/pseudo/undesirable.ts.test.cjs +18 -0
  133. package/tap-snapshots/test/pseudo/unknown.ts.test.cjs +18 -0
  134. package/tap-snapshots/test/pseudo/unmaintained.ts.test.cjs +18 -0
  135. package/tap-snapshots/test/pseudo/unpopular.ts.test.cjs +18 -0
  136. package/tap-snapshots/test/pseudo/unstable.ts.test.cjs +18 -0
  137. package/tap-snapshots/test/pseudo/vuln.ts.test.cjs +208 -0
  138. package/tap-snapshots/test/pseudo/vulnerable.ts.test.cjs +20 -0
  139. package/tap-snapshots/test/pseudo/workspace.ts.test.cjs +19 -0
  140. package/tap-snapshots/test/pseudo.ts.test.cjs +1247 -0
  141. package/test/attribute.ts +266 -0
  142. package/test/combinator.ts +168 -0
  143. package/test/fixtures/graph.ts +999 -0
  144. package/test/fixtures/selector.ts +103 -0
  145. package/test/fixtures/types.ts +7 -0
  146. package/test/id.ts +102 -0
  147. package/test/index.ts +1000 -0
  148. package/test/parser.ts +117 -0
  149. package/test/pseudo/abandoned.ts +98 -0
  150. package/test/pseudo/attr.ts +298 -0
  151. package/test/pseudo/built.ts +214 -0
  152. package/test/pseudo/confused.ts +160 -0
  153. package/test/pseudo/cve.ts +249 -0
  154. package/test/pseudo/cwe.ts +255 -0
  155. package/test/pseudo/debug.ts +98 -0
  156. package/test/pseudo/deprecated.ts +98 -0
  157. package/test/pseudo/dev.ts +61 -0
  158. package/test/pseudo/diff.ts +417 -0
  159. package/test/pseudo/dist.ts +215 -0
  160. package/test/pseudo/dynamic.ts +98 -0
  161. package/test/pseudo/empty.ts +108 -0
  162. package/test/pseudo/entropic.ts +101 -0
  163. package/test/pseudo/env.ts +98 -0
  164. package/test/pseudo/eval.ts +98 -0
  165. package/test/pseudo/fs.ts +98 -0
  166. package/test/pseudo/helpers.ts +370 -0
  167. package/test/pseudo/host-context.ts +276 -0
  168. package/test/pseudo/hostname.ts +314 -0
  169. package/test/pseudo/license.ts +265 -0
  170. package/test/pseudo/link.ts +94 -0
  171. package/test/pseudo/malware.ts +184 -0
  172. package/test/pseudo/minified.ts +98 -0
  173. package/test/pseudo/missing.ts +111 -0
  174. package/test/pseudo/native.ts +98 -0
  175. package/test/pseudo/network.ts +98 -0
  176. package/test/pseudo/obfuscated.ts +98 -0
  177. package/test/pseudo/optional.ts +73 -0
  178. package/test/pseudo/outdated.ts +331 -0
  179. package/test/pseudo/overridden.ts +317 -0
  180. package/test/pseudo/path.ts +680 -0
  181. package/test/pseudo/peer.ts +101 -0
  182. package/test/pseudo/prerelease.ts +279 -0
  183. package/test/pseudo/private.ts +108 -0
  184. package/test/pseudo/prod.ts +61 -0
  185. package/test/pseudo/published.ts +557 -0
  186. package/test/pseudo/registry.ts +122 -0
  187. package/test/pseudo/root.ts +66 -0
  188. package/test/pseudo/scanned.ts +78 -0
  189. package/test/pseudo/score.ts +591 -0
  190. package/test/pseudo/scripts.ts +294 -0
  191. package/test/pseudo/semver.ts +822 -0
  192. package/test/pseudo/severity.ts +310 -0
  193. package/test/pseudo/shell.ts +98 -0
  194. package/test/pseudo/shrinkwrap.ts +98 -0
  195. package/test/pseudo/spec.ts +525 -0
  196. package/test/pseudo/squat.ts +565 -0
  197. package/test/pseudo/suspicious.ts +98 -0
  198. package/test/pseudo/tracker.ts +98 -0
  199. package/test/pseudo/trivial.ts +98 -0
  200. package/test/pseudo/type.ts +105 -0
  201. package/test/pseudo/undesirable.ts +98 -0
  202. package/test/pseudo/unknown.ts +98 -0
  203. package/test/pseudo/unmaintained.ts +98 -0
  204. package/test/pseudo/unpopular.ts +98 -0
  205. package/test/pseudo/unstable.ts +98 -0
  206. package/test/pseudo/vuln.ts +625 -0
  207. package/test/pseudo/vulnerable.ts +137 -0
  208. package/test/pseudo/workspace.ts +111 -0
  209. package/test/pseudo.ts +558 -0
  210. package/tsconfig.json +3 -0
  211. package/tsconfig.publish.json +19 -0
  212. package/tsconfig.publish.tsbuildinfo +1 -0
  213. package/typedoc.mjs +2 -0
  214. package/dist/pseudo/vulnerable.d.ts +0 -8
  215. package/dist/pseudo/vulnerable.js +0 -17
@@ -0,0 +1,304 @@
1
+ /* IMPORTANT
2
+ * This snapshot file is auto-generated, but designed for humans.
3
+ * It should be checked into source control and tracked carefully.
4
+ * Re-generate by setting TAP_SNAPSHOT=1 and running tests.
5
+ * Make sure to inspect the output below. Do not ignore changes!
6
+ */
7
+ 'use strict'
8
+ exports[`test/attribute.ts > TAP > attribute > missing node > query > "[name]" 1`] = `
9
+ Object {
10
+ "edges": Array [],
11
+ "nodes": Array [
12
+ "node-missing-project",
13
+ ],
14
+ }
15
+ `
16
+
17
+ exports[`test/attribute.ts > TAP > attribute > missing node > query > "[name=a]" 1`] = `
18
+ Object {
19
+ "edges": Array [],
20
+ "nodes": Array [],
21
+ }
22
+ `
23
+
24
+ exports[`test/attribute.ts > TAP > attribute > query > "[keywords=missing]" 1`] = `
25
+ Object {
26
+ "edges": Array [],
27
+ "nodes": Array [],
28
+ }
29
+ `
30
+
31
+ exports[`test/attribute.ts > TAP > attribute > query > "[keywords=something]" 1`] = `
32
+ Object {
33
+ "edges": Array [
34
+ "c",
35
+ ],
36
+ "nodes": Array [
37
+ "c",
38
+ ],
39
+ }
40
+ `
41
+
42
+ exports[`test/attribute.ts > TAP > attribute > query > "[name]" 1`] = `
43
+ Object {
44
+ "edges": Array [
45
+ "@x/y",
46
+ "a",
47
+ "b",
48
+ "c",
49
+ "d",
50
+ "e",
51
+ "e",
52
+ "f",
53
+ ],
54
+ "nodes": Array [
55
+ "@x/y",
56
+ "a",
57
+ "b",
58
+ "c",
59
+ "d",
60
+ "e",
61
+ "f",
62
+ "my-project",
63
+ ],
64
+ }
65
+ `
66
+
67
+ exports[`test/attribute.ts > TAP > attribute > query > "[name*="pro"]" 1`] = `
68
+ Object {
69
+ "edges": Array [],
70
+ "nodes": Array [
71
+ "my-project",
72
+ ],
73
+ }
74
+ `
75
+
76
+ exports[`test/attribute.ts > TAP > attribute > query > "[name*=pro]" 1`] = `
77
+ Object {
78
+ "edges": Array [],
79
+ "nodes": Array [
80
+ "my-project",
81
+ ],
82
+ }
83
+ `
84
+
85
+ exports[`test/attribute.ts > TAP > attribute > query > "[name^="@x"]" 1`] = `
86
+ Object {
87
+ "edges": Array [
88
+ "@x/y",
89
+ ],
90
+ "nodes": Array [
91
+ "@x/y",
92
+ ],
93
+ }
94
+ `
95
+
96
+ exports[`test/attribute.ts > TAP > attribute > query > "[name^="m"]" 1`] = `
97
+ Object {
98
+ "edges": Array [],
99
+ "nodes": Array [
100
+ "my-project",
101
+ ],
102
+ }
103
+ `
104
+
105
+ exports[`test/attribute.ts > TAP > attribute > query > "[name^=@x]" 1`] = `
106
+ Object {
107
+ "edges": Array [
108
+ "@x/y",
109
+ ],
110
+ "nodes": Array [
111
+ "@x/y",
112
+ ],
113
+ }
114
+ `
115
+
116
+ exports[`test/attribute.ts > TAP > attribute > query > "[name^=m]" 1`] = `
117
+ Object {
118
+ "edges": Array [],
119
+ "nodes": Array [
120
+ "my-project",
121
+ ],
122
+ }
123
+ `
124
+
125
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="@x/y"]" 1`] = `
126
+ Object {
127
+ "edges": Array [
128
+ "@x/y",
129
+ ],
130
+ "nodes": Array [
131
+ "@x/y",
132
+ ],
133
+ }
134
+ `
135
+
136
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="A" i]" 1`] = `
137
+ Object {
138
+ "edges": Array [
139
+ "a",
140
+ ],
141
+ "nodes": Array [
142
+ "a",
143
+ ],
144
+ }
145
+ `
146
+
147
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="A" s]" 1`] = `
148
+ Object {
149
+ "edges": Array [],
150
+ "nodes": Array [],
151
+ }
152
+ `
153
+
154
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="a"]" 1`] = `
155
+ Object {
156
+ "edges": Array [],
157
+ "nodes": Array [],
158
+ }
159
+ `
160
+
161
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="A"]" 1`] = `
162
+ Object {
163
+ "edges": Array [],
164
+ "nodes": Array [],
165
+ }
166
+ `
167
+
168
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="a"]" 2`] = `
169
+ Object {
170
+ "edges": Array [],
171
+ "nodes": Array [],
172
+ }
173
+ `
174
+
175
+ exports[`test/attribute.ts > TAP > attribute > query > "[name="b"]" 1`] = `
176
+ Object {
177
+ "edges": Array [
178
+ "b",
179
+ ],
180
+ "nodes": Array [
181
+ "b",
182
+ ],
183
+ }
184
+ `
185
+
186
+ exports[`test/attribute.ts > TAP > attribute > query > "[name|="a"]" 1`] = `
187
+ Object {
188
+ "edges": Array [
189
+ "a",
190
+ ],
191
+ "nodes": Array [
192
+ "a",
193
+ ],
194
+ }
195
+ `
196
+
197
+ exports[`test/attribute.ts > TAP > attribute > query > "[name|="my"]" 1`] = `
198
+ Object {
199
+ "edges": Array [],
200
+ "nodes": Array [
201
+ "my-project",
202
+ ],
203
+ }
204
+ `
205
+
206
+ exports[`test/attribute.ts > TAP > attribute > query > "[name|=my]" 1`] = `
207
+ Object {
208
+ "edges": Array [],
209
+ "nodes": Array [
210
+ "my-project",
211
+ ],
212
+ }
213
+ `
214
+
215
+ exports[`test/attribute.ts > TAP > attribute > query > "[name~="notfound"]" 1`] = `
216
+ Object {
217
+ "edges": Array [],
218
+ "nodes": Array [],
219
+ }
220
+ `
221
+
222
+ exports[`test/attribute.ts > TAP > attribute > query > "[name~="project"]" 1`] = `
223
+ Object {
224
+ "edges": Array [],
225
+ "nodes": Array [
226
+ "my-project",
227
+ ],
228
+ }
229
+ `
230
+
231
+ exports[`test/attribute.ts > TAP > attribute > query > "[name~=notfound]" 1`] = `
232
+ Object {
233
+ "edges": Array [],
234
+ "nodes": Array [],
235
+ }
236
+ `
237
+
238
+ exports[`test/attribute.ts > TAP > attribute > query > "[name~=project]" 1`] = `
239
+ Object {
240
+ "edges": Array [],
241
+ "nodes": Array [
242
+ "my-project",
243
+ ],
244
+ }
245
+ `
246
+
247
+ exports[`test/attribute.ts > TAP > attribute > query > "[name$="project"]" 1`] = `
248
+ Object {
249
+ "edges": Array [],
250
+ "nodes": Array [
251
+ "my-project",
252
+ ],
253
+ }
254
+ `
255
+
256
+ exports[`test/attribute.ts > TAP > attribute > query > "[name$=project]" 1`] = `
257
+ Object {
258
+ "edges": Array [],
259
+ "nodes": Array [
260
+ "my-project",
261
+ ],
262
+ }
263
+ `
264
+
265
+ exports[`test/attribute.ts > TAP > attribute > query > "[nonexistingattribute]" 1`] = `
266
+ Object {
267
+ "edges": Array [],
268
+ "nodes": Array [],
269
+ }
270
+ `
271
+
272
+ exports[`test/attribute.ts > TAP > attribute > query > "[version="1.0.0"]" 1`] = `
273
+ Object {
274
+ "edges": Array [
275
+ "@x/y",
276
+ "a",
277
+ "c",
278
+ "d",
279
+ "e",
280
+ "e",
281
+ "f",
282
+ ],
283
+ "nodes": Array [
284
+ "@x/y",
285
+ "a",
286
+ "c",
287
+ "d",
288
+ "e",
289
+ "f",
290
+ "my-project",
291
+ ],
292
+ }
293
+ `
294
+
295
+ exports[`test/attribute.ts > TAP > filterAttributes > should have filtered out nodes with postinstall script only 1`] = `
296
+ Object {
297
+ "edges": Array [
298
+ "b",
299
+ ],
300
+ "nodes": Array [
301
+ "b",
302
+ ],
303
+ }
304
+ `
@@ -0,0 +1,333 @@
1
+ /* IMPORTANT
2
+ * This snapshot file is auto-generated, but designed for humans.
3
+ * It should be checked into source control and tracked carefully.
4
+ * Re-generate by setting TAP_SNAPSHOT=1 and running tests.
5
+ * Make sure to inspect the output below. Do not ignore changes!
6
+ */
7
+ 'use strict'
8
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > " " 1`] = `
9
+ Object {
10
+ "edges": Array [
11
+ "a",
12
+ "a",
13
+ "b",
14
+ ],
15
+ "nodes": Array [
16
+ "a",
17
+ "b",
18
+ ],
19
+ }
20
+ `
21
+
22
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > " " 2`] = `
23
+ Object {
24
+ "edges": Array [
25
+ "a",
26
+ "b",
27
+ ],
28
+ "nodes": Array [
29
+ "a",
30
+ "b",
31
+ ],
32
+ }
33
+ `
34
+
35
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > " " 3`] = `
36
+ Object {
37
+ "edges": Array [
38
+ "a",
39
+ "b",
40
+ ],
41
+ "nodes": Array [
42
+ "a",
43
+ "b",
44
+ ],
45
+ }
46
+ `
47
+
48
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > ">" 1`] = `
49
+ Object {
50
+ "edges": Array [
51
+ "a",
52
+ "a",
53
+ "b",
54
+ ],
55
+ "nodes": Array [
56
+ "a",
57
+ "b",
58
+ ],
59
+ }
60
+ `
61
+
62
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > ">" 2`] = `
63
+ Object {
64
+ "edges": Array [
65
+ "b",
66
+ ],
67
+ "nodes": Array [
68
+ "b",
69
+ ],
70
+ }
71
+ `
72
+
73
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > ">" 3`] = `
74
+ Object {
75
+ "edges": Array [
76
+ "a",
77
+ ],
78
+ "nodes": Array [
79
+ "a",
80
+ ],
81
+ }
82
+ `
83
+
84
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > "~" 1`] = `
85
+ Object {
86
+ "edges": Array [],
87
+ "nodes": Array [],
88
+ }
89
+ `
90
+
91
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > "~" 2`] = `
92
+ Object {
93
+ "edges": Array [],
94
+ "nodes": Array [],
95
+ }
96
+ `
97
+
98
+ exports[`test/combinator.ts > TAP > combinator > cycle > query > "~" 3`] = `
99
+ Object {
100
+ "edges": Array [],
101
+ "nodes": Array [],
102
+ }
103
+ `
104
+
105
+ exports[`test/combinator.ts > TAP > combinator > query > " " 1`] = `
106
+ Object {
107
+ "edges": Array [
108
+ "@x/y",
109
+ "a",
110
+ "b",
111
+ "c",
112
+ "d",
113
+ "e",
114
+ "e",
115
+ "f",
116
+ ],
117
+ "nodes": Array [
118
+ "@x/y",
119
+ "a",
120
+ "b",
121
+ "c",
122
+ "d",
123
+ "e",
124
+ "f",
125
+ ],
126
+ }
127
+ `
128
+
129
+ exports[`test/combinator.ts > TAP > combinator > query > " " 2`] = `
130
+ Object {
131
+ "edges": Array [],
132
+ "nodes": Array [],
133
+ }
134
+ `
135
+
136
+ exports[`test/combinator.ts > TAP > combinator > query > " " 3`] = `
137
+ Object {
138
+ "edges": Array [],
139
+ "nodes": Array [],
140
+ }
141
+ `
142
+
143
+ exports[`test/combinator.ts > TAP > combinator > query > " " 4`] = `
144
+ Object {
145
+ "edges": Array [
146
+ "e",
147
+ "f",
148
+ ],
149
+ "nodes": Array [
150
+ "e",
151
+ "f",
152
+ ],
153
+ }
154
+ `
155
+
156
+ exports[`test/combinator.ts > TAP > combinator > query > " " 5`] = `
157
+ Object {
158
+ "edges": Array [
159
+ "c",
160
+ "d",
161
+ "e",
162
+ "f",
163
+ ],
164
+ "nodes": Array [
165
+ "c",
166
+ "d",
167
+ "e",
168
+ "f",
169
+ ],
170
+ }
171
+ `
172
+
173
+ exports[`test/combinator.ts > TAP > combinator > query > ">" 1`] = `
174
+ Object {
175
+ "edges": Array [
176
+ "@x/y",
177
+ "a",
178
+ "b",
179
+ "c",
180
+ "d",
181
+ "e",
182
+ "e",
183
+ "f",
184
+ ],
185
+ "nodes": Array [
186
+ "@x/y",
187
+ "a",
188
+ "b",
189
+ "c",
190
+ "d",
191
+ "e",
192
+ "f",
193
+ ],
194
+ }
195
+ `
196
+
197
+ exports[`test/combinator.ts > TAP > combinator > query > ">" 2`] = `
198
+ Object {
199
+ "edges": Array [
200
+ "@x/y",
201
+ "a",
202
+ "b",
203
+ "e",
204
+ ],
205
+ "nodes": Array [
206
+ "@x/y",
207
+ "a",
208
+ "b",
209
+ "e",
210
+ ],
211
+ }
212
+ `
213
+
214
+ exports[`test/combinator.ts > TAP > combinator > query > ">" 3`] = `
215
+ Object {
216
+ "edges": Array [
217
+ "e",
218
+ "f",
219
+ ],
220
+ "nodes": Array [
221
+ "e",
222
+ "f",
223
+ ],
224
+ }
225
+ `
226
+
227
+ exports[`test/combinator.ts > TAP > combinator > query > ">" 4`] = `
228
+ Object {
229
+ "edges": Array [
230
+ "c",
231
+ "d",
232
+ "e",
233
+ "f",
234
+ ],
235
+ "nodes": Array [
236
+ "c",
237
+ "d",
238
+ "e",
239
+ "f",
240
+ ],
241
+ }
242
+ `
243
+
244
+ exports[`test/combinator.ts > TAP > combinator > query > ">" 5`] = `
245
+ Object {
246
+ "edges": Array [],
247
+ "nodes": Array [],
248
+ }
249
+ `
250
+
251
+ exports[`test/combinator.ts > TAP > combinator > query > ">" 6`] = `
252
+ Object {
253
+ "edges": Array [],
254
+ "nodes": Array [],
255
+ }
256
+ `
257
+
258
+ exports[`test/combinator.ts > TAP > combinator > query > "~" 1`] = `
259
+ Object {
260
+ "edges": Array [
261
+ "@x/y",
262
+ "a",
263
+ "b",
264
+ "c",
265
+ "d",
266
+ "e",
267
+ "e",
268
+ "f",
269
+ ],
270
+ "nodes": Array [
271
+ "@x/y",
272
+ "a",
273
+ "b",
274
+ "c",
275
+ "d",
276
+ "e",
277
+ "f",
278
+ ],
279
+ }
280
+ `
281
+
282
+ exports[`test/combinator.ts > TAP > combinator > query > "~" 2`] = `
283
+ Object {
284
+ "edges": Array [
285
+ "e",
286
+ ],
287
+ "nodes": Array [
288
+ "e",
289
+ ],
290
+ }
291
+ `
292
+
293
+ exports[`test/combinator.ts > TAP > combinator > query > "~" 3`] = `
294
+ Object {
295
+ "edges": Array [
296
+ "c",
297
+ ],
298
+ "nodes": Array [
299
+ "c",
300
+ ],
301
+ }
302
+ `
303
+
304
+ exports[`test/combinator.ts > TAP > combinator > query > "~" 4`] = `
305
+ Object {
306
+ "edges": Array [
307
+ "@x/y",
308
+ "a",
309
+ "b",
310
+ "f",
311
+ ],
312
+ "nodes": Array [
313
+ "@x/y",
314
+ "a",
315
+ "b",
316
+ "f",
317
+ ],
318
+ }
319
+ `
320
+
321
+ exports[`test/combinator.ts > TAP > combinator > query > "~" 5`] = `
322
+ Object {
323
+ "edges": Array [],
324
+ "nodes": Array [],
325
+ }
326
+ `
327
+
328
+ exports[`test/combinator.ts > TAP > combinator > query > "~" 6`] = `
329
+ Object {
330
+ "edges": Array [],
331
+ "nodes": Array [],
332
+ }
333
+ `