@traqula/test-utils 0.0.1-alpha.176 → 0.0.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 (648) hide show
  1. package/lib/Sparql11NotesTest.js +22 -20
  2. package/lib/Sparql11NotesTest.js.map +1 -1
  3. package/lib/fileUtils.d.ts +1 -1
  4. package/lib/fileUtils.js +1 -1
  5. package/lib/fileUtils.js.map +1 -1
  6. package/lib/index.cjs +52 -36
  7. package/lib/matchers/toEqualParsedQuery.js +27 -13
  8. package/lib/matchers/toEqualParsedQuery.js.map +1 -1
  9. package/lib/matchers/vitest.d.ts +1 -0
  10. package/lib/matchers/vitest.js.map +1 -1
  11. package/lib/statics/generators.d.ts +4 -3
  12. package/lib/statics/generators.js +23 -9
  13. package/lib/statics/generators.js.map +1 -1
  14. package/lib/statics/generators.ts +30 -10
  15. package/lib/statics/paths/a-generated.sparql +1 -0
  16. package/lib/statics/paths/a-opt-generated.sparql +1 -0
  17. package/lib/statics/paths/a-opt.json +16 -5
  18. package/lib/statics/paths/a-star-generated.sparql +1 -0
  19. package/lib/statics/paths/a-star.json +16 -5
  20. package/lib/statics/paths/a.json +8 -3
  21. package/lib/statics/paths/named-node-generated.sparql +1 -0
  22. package/lib/statics/paths/named-node-sequence-generated.sparql +1 -0
  23. package/lib/statics/paths/named-node-sequence.json +24 -7
  24. package/lib/statics/paths/named-node.json +8 -3
  25. package/lib/statics/paths/prefixed-generated.sparql +1 -0
  26. package/lib/statics/paths/prefixed.json +26 -7
  27. package/lib/statics/sparql-1-1/all-generated.sparql +1 -0
  28. package/lib/statics/sparql-1-1/all.json +82 -25
  29. package/lib/statics/sparql-1-1/artists-ghent-generated.sparql +1 -0
  30. package/lib/statics/sparql-1-1/artists-ghent.json +457 -135
  31. package/lib/statics/sparql-1-1/artists-york-generated.sparql +1 -0
  32. package/lib/statics/sparql-1-1/artists-york.json +188 -60
  33. package/lib/statics/sparql-1-1/ask-in-anonymous-node-generated.sparql +1 -0
  34. package/lib/statics/sparql-1-1/ask-in-anonymous-node.json +109 -21
  35. package/lib/statics/sparql-1-1/blanks-generated.sparql +1 -0
  36. package/lib/statics/sparql-1-1/blanks.json +1099 -346
  37. package/lib/statics/sparql-1-1/boolean-case-generated.sparql +1 -0
  38. package/lib/statics/sparql-1-1/boolean-case.json +405 -165
  39. package/lib/statics/sparql-1-1/bsbm1-generated.sparql +1 -0
  40. package/lib/statics/sparql-1-1/bsbm1.json +406 -106
  41. package/lib/statics/sparql-1-1/bsbm10-generated.sparql +1 -0
  42. package/lib/statics/sparql-1-1/bsbm10.json +552 -170
  43. package/lib/statics/sparql-1-1/bsbm3-generated.sparql +1 -0
  44. package/lib/statics/sparql-1-1/bsbm3.json +340 -82
  45. package/lib/statics/sparql-1-1/bsbm4-generated.sparql +1 -0
  46. package/lib/statics/sparql-1-1/bsbm4.json +768 -239
  47. package/lib/statics/sparql-1-1/bsbm5-generated.sparql +1 -0
  48. package/lib/statics/sparql-1-1/bsbm5.json +748 -257
  49. package/lib/statics/sparql-1-1/bsbm6-generated.sparql +1 -0
  50. package/lib/statics/sparql-1-1/bsbm6.json +227 -61
  51. package/lib/statics/sparql-1-1/bsbm8-generated.sparql +1 -0
  52. package/lib/statics/sparql-1-1/bsbm8.json +752 -236
  53. package/lib/statics/sparql-1-1/bsbm9-generated.sparql +1 -0
  54. package/lib/statics/sparql-1-1/bsbm9.json +103 -25
  55. package/lib/statics/sparql-1-1/clear-drop-generated.sparql +12 -0
  56. package/lib/statics/sparql-1-1/clear-drop.json +290 -67
  57. package/lib/statics/sparql-1-1/compact-bgp-generated.sparql +1 -0
  58. package/lib/statics/sparql-1-1/compact-bgp.json +508 -172
  59. package/lib/statics/sparql-1-1/construct-extra-semicolon-generated.sparql +1 -0
  60. package/lib/statics/sparql-1-1/construct-extra-semicolon.json +189 -66
  61. package/lib/statics/sparql-1-1/construct-generated.sparql +1 -0
  62. package/lib/statics/sparql-1-1/construct-multi-extra-semicolons-generated.sparql +1 -0
  63. package/lib/statics/sparql-1-1/construct-multi-extra-semicolons.json +189 -66
  64. package/lib/statics/sparql-1-1/construct-without-template-generated.sparql +1 -0
  65. package/lib/statics/sparql-1-1/construct-without-template.json +118 -35
  66. package/lib/statics/sparql-1-1/construct.json +120 -35
  67. package/lib/statics/sparql-1-1/count-generated.sparql +1 -0
  68. package/lib/statics/sparql-1-1/count.json +134 -34
  69. package/lib/statics/sparql-1-1/empty-values-generated.sparql +1 -0
  70. package/lib/statics/sparql-1-1/empty-values.json +93 -27
  71. package/lib/statics/sparql-1-1/fedbench-cd1-generated.sparql +1 -0
  72. package/lib/statics/sparql-1-1/fedbench-cd1.json +211 -65
  73. package/lib/statics/sparql-1-1/fedbench-cd2-generated.sparql +1 -0
  74. package/lib/statics/sparql-1-1/fedbench-cd2.json +168 -56
  75. package/lib/statics/sparql-1-1/fedbench-cd3-generated.sparql +1 -0
  76. package/lib/statics/sparql-1-1/fedbench-cd3.json +252 -86
  77. package/lib/statics/sparql-1-1/group-and-bind-generated.sparql +1 -0
  78. package/lib/statics/sparql-1-1/group-and-bind.json +178 -45
  79. package/lib/statics/sparql-1-1/group-brackets-generated.sparql +1 -0
  80. package/lib/statics/sparql-1-1/group-brackets.json +223 -58
  81. package/lib/statics/sparql-1-1/group-concat-generated.sparql +1 -0
  82. package/lib/statics/sparql-1-1/group-concat.json +207 -54
  83. package/lib/statics/sparql-1-1/group-variable-generated.sparql +1 -0
  84. package/lib/statics/sparql-1-1/group-variable.json +255 -67
  85. package/lib/statics/sparql-1-1/in-generated.sparql +1 -0
  86. package/lib/statics/sparql-1-1/in.json +227 -90
  87. package/lib/statics/sparql-1-1/inverse-paths-anonymous-node-generated.sparql +1 -0
  88. package/lib/statics/sparql-1-1/inverse-paths-anonymous-node.json +250 -76
  89. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node-2-generated.sparql +1 -0
  90. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node-2.json +214 -63
  91. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node-generated.sparql +1 -0
  92. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node.json +250 -76
  93. package/lib/statics/sparql-1-1/lists-generated.sparql +1 -0
  94. package/lib/statics/sparql-1-1/lists.json +2134 -819
  95. package/lib/statics/sparql-1-1/load-generated.sparql +1 -0
  96. package/lib/statics/sparql-1-1/load-into-generated.sparql +1 -0
  97. package/lib/statics/sparql-1-1/load-into.json +44 -10
  98. package/lib/statics/sparql-1-1/load.json +25 -6
  99. package/lib/statics/sparql-1-1/multiline-generated.sparql +1 -0
  100. package/lib/statics/sparql-1-1/multiline.json +84 -31
  101. package/lib/statics/sparql-1-1/negate-and-generated.sparql +1 -0
  102. package/lib/statics/sparql-1-1/negate-and.json +223 -82
  103. package/lib/statics/sparql-1-1/nested-path-generated.sparql +1 -0
  104. package/lib/statics/sparql-1-1/nested-path.json +151 -40
  105. package/lib/statics/sparql-1-1/optional-generated.sparql +1 -0
  106. package/lib/statics/sparql-1-1/optional-subquery-generated.sparql +1 -0
  107. package/lib/statics/sparql-1-1/optional-subquery.json +139 -42
  108. package/lib/statics/sparql-1-1/optional.json +245 -90
  109. package/lib/statics/sparql-1-1/or-generated.sparql +1 -0
  110. package/lib/statics/sparql-1-1/or.json +663 -294
  111. package/lib/statics/sparql-1-1/order-operator-generated.sparql +1 -0
  112. package/lib/statics/sparql-1-1/order-operator.json +155 -43
  113. package/lib/statics/sparql-1-1/sequence-paths-in-anonymous-node-generated.sparql +1 -0
  114. package/lib/statics/sparql-1-1/sequence-paths-in-anonymous-node.json +207 -59
  115. package/lib/statics/sparql-1-1/spaced-data-update-generated.sparql +3 -0
  116. package/lib/statics/sparql-1-1/spaced-data-update.json +181 -69
  117. package/lib/statics/sparql-1-1/sparql-10-1a-generated.sparql +1 -0
  118. package/lib/statics/sparql-1-1/sparql-10-1a.json +337 -108
  119. package/lib/statics/sparql-1-1/sparql-10-1b-generated.sparql +1 -0
  120. package/lib/statics/sparql-1-1/sparql-10-1b.json +355 -114
  121. package/lib/statics/sparql-1-1/sparql-10-2-2a-generated.sparql +1 -0
  122. package/lib/statics/sparql-1-1/sparql-10-2-2a.json +230 -59
  123. package/lib/statics/sparql-1-1/sparql-10-2-2b-generated.sparql +1 -0
  124. package/lib/statics/sparql-1-1/sparql-10-2-2b.json +227 -63
  125. package/lib/statics/sparql-1-1/sparql-10-2-2c-generated.sparql +1 -0
  126. package/lib/statics/sparql-1-1/sparql-10-2-2c.json +224 -57
  127. package/lib/statics/sparql-1-1/sparql-11-1-generated.sparql +1 -0
  128. package/lib/statics/sparql-1-1/sparql-11-1.json +286 -86
  129. package/lib/statics/sparql-1-1/sparql-11-2-generated.sparql +1 -0
  130. package/lib/statics/sparql-1-1/sparql-11-2.json +185 -49
  131. package/lib/statics/sparql-1-1/sparql-11-3-generated.sparql +1 -0
  132. package/lib/statics/sparql-1-1/sparql-11-3.json +213 -63
  133. package/lib/statics/sparql-1-1/sparql-11-4-generated.sparql +1 -0
  134. package/lib/statics/sparql-1-1/sparql-11-4.json +238 -70
  135. package/lib/statics/sparql-1-1/sparql-11-5-generated.sparql +1 -0
  136. package/lib/statics/sparql-1-1/sparql-11-5.json +247 -67
  137. package/lib/statics/sparql-1-1/sparql-12-generated.sparql +1 -0
  138. package/lib/statics/sparql-1-1/sparql-12.json +289 -77
  139. package/lib/statics/sparql-1-1/sparql-13-2-1-generated.sparql +1 -0
  140. package/lib/statics/sparql-1-1/sparql-13-2-1.json +115 -30
  141. package/lib/statics/sparql-1-1/sparql-13-2-2-generated.sparql +1 -0
  142. package/lib/statics/sparql-1-1/sparql-13-2-2.json +128 -34
  143. package/lib/statics/sparql-1-1/sparql-13-2-3-generated.sparql +1 -0
  144. package/lib/statics/sparql-1-1/sparql-13-2-3.json +244 -68
  145. package/lib/statics/sparql-1-1/sparql-13-3-1-generated.sparql +1 -0
  146. package/lib/statics/sparql-1-1/sparql-13-3-1.json +197 -60
  147. package/lib/statics/sparql-1-1/sparql-13-3-2-generated.sparql +1 -0
  148. package/lib/statics/sparql-1-1/sparql-13-3-2.json +208 -57
  149. package/lib/statics/sparql-1-1/sparql-13-3-3-generated.sparql +1 -0
  150. package/lib/statics/sparql-1-1/sparql-13-3-3.json +458 -139
  151. package/lib/statics/sparql-1-1/sparql-13-3-4-generated.sparql +1 -0
  152. package/lib/statics/sparql-1-1/sparql-13-3-4.json +279 -81
  153. package/lib/statics/sparql-1-1/sparql-15-1a-generated.sparql +1 -0
  154. package/lib/statics/sparql-1-1/sparql-15-1a.json +128 -28
  155. package/lib/statics/sparql-1-1/sparql-15-1b-generated.sparql +1 -0
  156. package/lib/statics/sparql-1-1/sparql-15-1b.json +184 -43
  157. package/lib/statics/sparql-1-1/sparql-15-1c-generated.sparql +1 -0
  158. package/lib/statics/sparql-1-1/sparql-15-1c.json +199 -46
  159. package/lib/statics/sparql-1-1/sparql-15-2-generated.sparql +1 -0
  160. package/lib/statics/sparql-1-1/sparql-15-2.json +103 -25
  161. package/lib/statics/sparql-1-1/sparql-15-3-1-generated.sparql +1 -0
  162. package/lib/statics/sparql-1-1/sparql-15-3-1.json +104 -26
  163. package/lib/statics/sparql-1-1/sparql-15-3-2-generated.sparql +1 -0
  164. package/lib/statics/sparql-1-1/sparql-15-3-2.json +104 -26
  165. package/lib/statics/sparql-1-1/sparql-15-3-generated.sparql +1 -0
  166. package/lib/statics/sparql-1-1/sparql-15-3.json +103 -25
  167. package/lib/statics/sparql-1-1/sparql-15-4-generated.sparql +1 -0
  168. package/lib/statics/sparql-1-1/sparql-15-4.json +139 -30
  169. package/lib/statics/sparql-1-1/sparql-15-5-generated.sparql +1 -0
  170. package/lib/statics/sparql-1-1/sparql-15-5.json +114 -26
  171. package/lib/statics/sparql-1-1/sparql-16-1-1-generated.sparql +1 -0
  172. package/lib/statics/sparql-1-1/sparql-16-1-1.json +255 -80
  173. package/lib/statics/sparql-1-1/sparql-16-1-2a-generated.sparql +1 -0
  174. package/lib/statics/sparql-1-1/sparql-16-1-2a.json +265 -73
  175. package/lib/statics/sparql-1-1/sparql-16-1-2b-generated.sparql +1 -0
  176. package/lib/statics/sparql-1-1/sparql-16-1-2b.json +288 -77
  177. package/lib/statics/sparql-1-1/sparql-16-2-1-generated.sparql +1 -0
  178. package/lib/statics/sparql-1-1/sparql-16-2-1.json +440 -116
  179. package/lib/statics/sparql-1-1/sparql-16-2-2-generated.sparql +1 -0
  180. package/lib/statics/sparql-1-1/sparql-16-2-2.json +349 -97
  181. package/lib/statics/sparql-1-1/sparql-16-2-3-generated.sparql +1 -0
  182. package/lib/statics/sparql-1-1/sparql-16-2-3.json +230 -52
  183. package/lib/statics/sparql-1-1/sparql-16-2-4-generated.sparql +1 -0
  184. package/lib/statics/sparql-1-1/sparql-16-2-4.json +137 -33
  185. package/lib/statics/sparql-1-1/sparql-16-2-generated.sparql +1 -0
  186. package/lib/statics/sparql-1-1/sparql-16-2.json +158 -33
  187. package/lib/statics/sparql-1-1/sparql-16-3-generated.sparql +1 -0
  188. package/lib/statics/sparql-1-1/sparql-16-3.json +129 -40
  189. package/lib/statics/sparql-1-1/sparql-16-4-1-generated.sparql +1 -0
  190. package/lib/statics/sparql-1-1/sparql-16-4-1.json +24 -5
  191. package/lib/statics/sparql-1-1/sparql-16-4-2a-generated.sparql +1 -0
  192. package/lib/statics/sparql-1-1/sparql-16-4-2a.json +103 -25
  193. package/lib/statics/sparql-1-1/sparql-16-4-2b-generated.sparql +1 -0
  194. package/lib/statics/sparql-1-1/sparql-16-4-2b.json +102 -30
  195. package/lib/statics/sparql-1-1/sparql-16-4-2c-generated.sparql +1 -0
  196. package/lib/statics/sparql-1-1/sparql-16-4-2c.json +119 -29
  197. package/lib/statics/sparql-1-1/sparql-16-4-3-generated.sparql +1 -0
  198. package/lib/statics/sparql-1-1/sparql-16-4-3.json +102 -30
  199. package/lib/statics/sparql-1-1/sparql-17-4-1-1a-generated.sparql +1 -0
  200. package/lib/statics/sparql-1-1/sparql-17-4-1-1a.json +228 -57
  201. package/lib/statics/sparql-1-1/sparql-17-4-1-1b-generated.sparql +1 -0
  202. package/lib/statics/sparql-1-1/sparql-17-4-1-1b.json +219 -61
  203. package/lib/statics/sparql-1-1/sparql-17-4-1-7a-generated.sparql +1 -0
  204. package/lib/statics/sparql-1-1/sparql-17-4-1-7a.json +302 -99
  205. package/lib/statics/sparql-1-1/sparql-17-4-1-7b-generated.sparql +1 -0
  206. package/lib/statics/sparql-1-1/sparql-17-4-1-7b.json +238 -66
  207. package/lib/statics/sparql-1-1/sparql-17-4-1-8a-generated.sparql +1 -0
  208. package/lib/statics/sparql-1-1/sparql-17-4-1-8a.json +314 -105
  209. package/lib/statics/sparql-1-1/sparql-17-4-1-8b-generated.sparql +1 -0
  210. package/lib/statics/sparql-1-1/sparql-17-4-1-8b.json +412 -130
  211. package/lib/statics/sparql-1-1/sparql-17-4-2-1-generated.sparql +1 -0
  212. package/lib/statics/sparql-1-1/sparql-17-4-2-1.json +176 -51
  213. package/lib/statics/sparql-1-1/sparql-17-4-2-2-generated.sparql +1 -0
  214. package/lib/statics/sparql-1-1/sparql-17-4-2-2.json +309 -84
  215. package/lib/statics/sparql-1-1/sparql-17-4-2-3-generated.sparql +1 -0
  216. package/lib/statics/sparql-1-1/sparql-17-4-2-3.json +176 -51
  217. package/lib/statics/sparql-1-1/sparql-17-4-2-5-generated.sparql +1 -0
  218. package/lib/statics/sparql-1-1/sparql-17-4-2-5.json +198 -67
  219. package/lib/statics/sparql-1-1/sparql-17-4-2-6-generated.sparql +1 -0
  220. package/lib/statics/sparql-1-1/sparql-17-4-2-6.json +198 -67
  221. package/lib/statics/sparql-1-1/sparql-17-4-2-7-generated.sparql +1 -0
  222. package/lib/statics/sparql-1-1/sparql-17-4-2-7.json +237 -61
  223. package/lib/statics/sparql-1-1/sparql-17-4-3-13a-generated.sparql +1 -0
  224. package/lib/statics/sparql-1-1/sparql-17-4-3-13a.json +188 -68
  225. package/lib/statics/sparql-1-1/sparql-17-4-3-13b-generated.sparql +1 -0
  226. package/lib/statics/sparql-1-1/sparql-17-4-3-13b.json +152 -50
  227. package/lib/statics/sparql-1-1/sparql-17-4-3-14-generated.sparql +1 -0
  228. package/lib/statics/sparql-1-1/sparql-17-4-3-14.json +150 -54
  229. package/lib/statics/sparql-1-1/sparql-17-6a-generated.sparql +1 -0
  230. package/lib/statics/sparql-1-1/sparql-17-6a.json +204 -53
  231. package/lib/statics/sparql-1-1/sparql-17-6b-generated.sparql +1 -0
  232. package/lib/statics/sparql-1-1/sparql-17-6b.json +390 -136
  233. package/lib/statics/sparql-1-1/sparql-17-generated.sparql +1 -0
  234. package/lib/statics/sparql-1-1/sparql-17.json +228 -58
  235. package/lib/statics/sparql-1-1/sparql-18-a-generated.sparql +1 -0
  236. package/lib/statics/sparql-1-1/sparql-18-a.json +252 -77
  237. package/lib/statics/sparql-1-1/sparql-18-b-generated.sparql +1 -0
  238. package/lib/statics/sparql-1-1/sparql-18-b.json +511 -153
  239. package/lib/statics/sparql-1-1/sparql-18-c-generated.sparql +1 -0
  240. package/lib/statics/sparql-1-1/sparql-18-c.json +208 -60
  241. package/lib/statics/sparql-1-1/sparql-19-a-generated.sparql +1 -0
  242. package/lib/statics/sparql-1-1/sparql-19-a.json +134 -33
  243. package/lib/statics/sparql-1-1/sparql-4-2a-generated.sparql +1 -0
  244. package/lib/statics/sparql-1-1/sparql-4-2a.json +103 -25
  245. package/lib/statics/sparql-1-1/sparql-4-2b-generated.sparql +1 -0
  246. package/lib/statics/sparql-1-1/sparql-4-2b.json +124 -26
  247. package/lib/statics/sparql-1-1/sparql-4-2c-generated.sparql +1 -0
  248. package/lib/statics/sparql-1-1/sparql-4-2c.json +122 -26
  249. package/lib/statics/sparql-1-1/sparql-5-2-1-generated.sparql +1 -0
  250. package/lib/statics/sparql-1-1/sparql-5-2-1.json +34 -6
  251. package/lib/statics/sparql-1-1/sparql-5-2-2a-generated.sparql +1 -0
  252. package/lib/statics/sparql-1-1/sparql-5-2-2a.json +188 -61
  253. package/lib/statics/sparql-1-1/sparql-5-2-2b-generated.sparql +1 -0
  254. package/lib/statics/sparql-1-1/sparql-5-2-2b.json +187 -60
  255. package/lib/statics/sparql-1-1/sparql-5-2-2c-generated.sparql +1 -0
  256. package/lib/statics/sparql-1-1/sparql-5-2-2c.json +198 -65
  257. package/lib/statics/sparql-1-1/sparql-5-2-3a-generated.sparql +1 -0
  258. package/lib/statics/sparql-1-1/sparql-5-2-3a.json +151 -42
  259. package/lib/statics/sparql-1-1/sparql-5-2-3b-generated.sparql +1 -0
  260. package/lib/statics/sparql-1-1/sparql-5-2-3b.json +198 -65
  261. package/lib/statics/sparql-1-1/sparql-5-2-3c-generated.sparql +1 -0
  262. package/lib/statics/sparql-1-1/sparql-5-2-3c.json +170 -49
  263. package/lib/statics/sparql-1-1/sparql-5-2a-generated.sparql +1 -0
  264. package/lib/statics/sparql-1-1/sparql-5-2a.json +151 -42
  265. package/lib/statics/sparql-1-1/sparql-5-2b-generated.sparql +1 -0
  266. package/lib/statics/sparql-1-1/sparql-5-2b.json +181 -54
  267. package/lib/statics/sparql-1-1/sparql-6-1-generated.sparql +1 -0
  268. package/lib/statics/sparql-1-1/sparql-6-1.json +171 -50
  269. package/lib/statics/sparql-1-1/sparql-6-2-generated.sparql +1 -0
  270. package/lib/statics/sparql-1-1/sparql-6-2.json +235 -69
  271. package/lib/statics/sparql-1-1/sparql-6-3-generated.sparql +1 -0
  272. package/lib/statics/sparql-1-1/sparql-6-3.json +239 -75
  273. package/lib/statics/sparql-1-1/sparql-7a-generated.sparql +1 -0
  274. package/lib/statics/sparql-1-1/sparql-7a.json +203 -47
  275. package/lib/statics/sparql-1-1/sparql-7b-generated.sparql +1 -0
  276. package/lib/statics/sparql-1-1/sparql-7b.json +211 -49
  277. package/lib/statics/sparql-1-1/sparql-7c-generated.sparql +1 -0
  278. package/lib/statics/sparql-1-1/sparql-7c.json +289 -77
  279. package/lib/statics/sparql-1-1/sparql-8-1-1-generated.sparql +1 -0
  280. package/lib/statics/sparql-1-1/sparql-8-1-1.json +199 -49
  281. package/lib/statics/sparql-1-1/sparql-8-1-2-generated.sparql +1 -0
  282. package/lib/statics/sparql-1-1/sparql-8-1-2.json +199 -49
  283. package/lib/statics/sparql-1-1/sparql-8-2-generated.sparql +1 -0
  284. package/lib/statics/sparql-1-1/sparql-8-2.json +180 -53
  285. package/lib/statics/sparql-1-1/sparql-8-3-1a-generated.sparql +1 -0
  286. package/lib/statics/sparql-1-1/sparql-8-3-1a.json +156 -48
  287. package/lib/statics/sparql-1-1/sparql-8-3-1b-generated.sparql +1 -0
  288. package/lib/statics/sparql-1-1/sparql-8-3-1b.json +139 -46
  289. package/lib/statics/sparql-1-1/sparql-8-3-2a-generated.sparql +1 -0
  290. package/lib/statics/sparql-1-1/sparql-8-3-2a.json +177 -47
  291. package/lib/statics/sparql-1-1/sparql-8-3-2b-generated.sparql +1 -0
  292. package/lib/statics/sparql-1-1/sparql-8-3-2b.json +160 -45
  293. package/lib/statics/sparql-1-1/sparql-8-3-3a-generated.sparql +1 -0
  294. package/lib/statics/sparql-1-1/sparql-8-3-3a.json +198 -50
  295. package/lib/statics/sparql-1-1/sparql-8-3-3b-generated.sparql +1 -0
  296. package/lib/statics/sparql-1-1/sparql-8-3-3b.json +198 -60
  297. package/lib/statics/sparql-1-1/sparql-9-2a-generated.sparql +1 -0
  298. package/lib/statics/sparql-1-1/sparql-9-2a.json +162 -34
  299. package/lib/statics/sparql-1-1/sparql-9-2b-generated.sparql +1 -0
  300. package/lib/statics/sparql-1-1/sparql-9-2b.json +160 -34
  301. package/lib/statics/sparql-1-1/sparql-9-2c-generated.sparql +1 -0
  302. package/lib/statics/sparql-1-1/sparql-9-2c.json +159 -45
  303. package/lib/statics/sparql-1-1/sparql-9-2d-generated.sparql +1 -0
  304. package/lib/statics/sparql-1-1/sparql-9-2d.json +170 -49
  305. package/lib/statics/sparql-1-1/sparql-9-2e-generated.sparql +1 -0
  306. package/lib/statics/sparql-1-1/sparql-9-2e.json +243 -70
  307. package/lib/statics/sparql-1-1/sparql-9-2f-generated.sparql +1 -0
  308. package/lib/statics/sparql-1-1/sparql-9-2f.json +227 -68
  309. package/lib/statics/sparql-1-1/sparql-9-2g-generated.sparql +1 -0
  310. package/lib/statics/sparql-1-1/sparql-9-2g.json +246 -77
  311. package/lib/statics/sparql-1-1/sparql-9-2h-generated.sparql +1 -0
  312. package/lib/statics/sparql-1-1/sparql-9-2h.json +101 -24
  313. package/lib/statics/sparql-1-1/sparql-9-2i-generated.sparql +1 -0
  314. package/lib/statics/sparql-1-1/sparql-9-2i.json +111 -29
  315. package/lib/statics/sparql-1-1/sparql-9-2j-generated.sparql +1 -0
  316. package/lib/statics/sparql-1-1/sparql-9-2j.json +171 -53
  317. package/lib/statics/sparql-1-1/sparql-9-2k-generated.sparql +1 -0
  318. package/lib/statics/sparql-1-1/sparql-9-2k.json +177 -51
  319. package/lib/statics/sparql-1-1/sparql-9-2l-generated.sparql +1 -0
  320. package/lib/statics/sparql-1-1/sparql-9-2l.json +170 -51
  321. package/lib/statics/sparql-1-1/sparql-9-2m-generated.sparql +1 -0
  322. package/lib/statics/sparql-1-1/sparql-9-2m.json +151 -39
  323. package/lib/statics/sparql-1-1/sparql-9-2n-generated.sparql +1 -0
  324. package/lib/statics/sparql-1-1/sparql-9-2n.json +152 -39
  325. package/lib/statics/sparql-1-1/sparql-9-2o-generated.sparql +1 -0
  326. package/lib/statics/sparql-1-1/sparql-9-2o.json +152 -39
  327. package/lib/statics/sparql-1-1/sparql-9-2p-generated.sparql +1 -0
  328. package/lib/statics/sparql-1-1/sparql-9-2p.json +169 -43
  329. package/lib/statics/sparql-1-1/sparql-9-2q-generated.sparql +1 -0
  330. package/lib/statics/sparql-1-1/sparql-9-2q.json +143 -44
  331. package/lib/statics/sparql-1-1/sparql-9-2r-generated.sparql +1 -0
  332. package/lib/statics/sparql-1-1/sparql-9-2r.json +153 -39
  333. package/lib/statics/sparql-1-1/sparql-9-3a-generated.sparql +1 -0
  334. package/lib/statics/sparql-1-1/sparql-9-3a.json +121 -32
  335. package/lib/statics/sparql-1-1/sparql-9-3b-generated.sparql +1 -0
  336. package/lib/statics/sparql-1-1/sparql-9-3b.json +139 -37
  337. package/lib/statics/sparql-1-1/sparql-9-3c-generated.sparql +1 -0
  338. package/lib/statics/sparql-1-1/sparql-9-3c.json +154 -42
  339. package/lib/statics/sparql-1-1/sparql-9-4a-generated.sparql +1 -0
  340. package/lib/statics/sparql-1-1/sparql-9-4a.json +162 -42
  341. package/lib/statics/sparql-1-1/sparql-9-4b-generated.sparql +1 -0
  342. package/lib/statics/sparql-1-1/sparql-9-4b.json +134 -31
  343. package/lib/statics/sparql-1-1/sparql-fed-2-1-generated.sparql +1 -0
  344. package/lib/statics/sparql-1-1/sparql-fed-2-1.json +186 -58
  345. package/lib/statics/sparql-1-1/sparql-fed-2-2-generated.sparql +1 -0
  346. package/lib/statics/sparql-1-1/sparql-fed-2-2.json +269 -87
  347. package/lib/statics/sparql-1-1/sparql-fed-2-3-generated.sparql +1 -0
  348. package/lib/statics/sparql-1-1/sparql-fed-2-3.json +124 -34
  349. package/lib/statics/sparql-1-1/sparql-fed-2-4a-generated.sparql +1 -0
  350. package/lib/statics/sparql-1-1/sparql-fed-2-4a.json +172 -51
  351. package/lib/statics/sparql-1-1/sparql-fed-2-4b-generated.sparql +1 -0
  352. package/lib/statics/sparql-1-1/sparql-fed-2-4b.json +123 -26
  353. package/lib/statics/sparql-1-1/sparql-fed-2-4c-generated.sparql +1 -0
  354. package/lib/statics/sparql-1-1/sparql-fed-2-4c.json +154 -35
  355. package/lib/statics/sparql-1-1/sparql-fed-2-4d-generated.sparql +1 -0
  356. package/lib/statics/sparql-1-1/sparql-fed-2-4d.json +182 -55
  357. package/lib/statics/sparql-1-1/sparql-fed-4-generated.sparql +1 -0
  358. package/lib/statics/sparql-1-1/sparql-fed-4.json +292 -86
  359. package/lib/statics/sparql-1-1/sparql-modifiers-order-generated.sparql +1 -0
  360. package/lib/statics/sparql-1-1/sparql-modifiers-order.json +311 -90
  361. package/lib/statics/sparql-1-1/sparql-update-1-1-1-generated.sparql +1 -0
  362. package/lib/statics/sparql-1-1/sparql-update-1-1-1.json +100 -27
  363. package/lib/statics/sparql-1-1/sparql-update-3-1-1a-generated.sparql +1 -0
  364. package/lib/statics/sparql-1-1/sparql-update-3-1-1a.json +117 -43
  365. package/lib/statics/sparql-1-1/sparql-update-3-1-1b-generated.sparql +1 -0
  366. package/lib/statics/sparql-1-1/sparql-update-3-1-1b.json +128 -30
  367. package/lib/statics/sparql-1-1/sparql-update-3-1-2a-generated.sparql +1 -0
  368. package/lib/statics/sparql-1-1/sparql-update-3-1-2a.json +117 -43
  369. package/lib/statics/sparql-1-1/sparql-update-3-1-2b-generated.sparql +2 -0
  370. package/lib/statics/sparql-1-1/sparql-update-3-1-2b.json +176 -57
  371. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1a-generated.sparql +1 -0
  372. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1a.json +263 -76
  373. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1b-generated.sparql +1 -0
  374. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1b.json +191 -60
  375. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2a-generated.sparql +1 -0
  376. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2a.json +290 -77
  377. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2b-generated.sparql +1 -0
  378. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2b.json +283 -66
  379. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2c-generated.sparql +2 -0
  380. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2c.json +567 -160
  381. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3a-generated.sparql +1 -0
  382. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3a.json +117 -38
  383. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3b-generated.sparql +1 -0
  384. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3b.json +199 -62
  385. package/lib/statics/sparql-1-1/sparql-update-3-1-3-generated.sparql +1 -0
  386. package/lib/statics/sparql-1-1/sparql-update-3-1-3.json +206 -77
  387. package/lib/statics/sparql-1-1/sparql-update-3-2-3-generated.sparql +1 -0
  388. package/lib/statics/sparql-1-1/sparql-update-3-2-3.json +42 -12
  389. package/lib/statics/sparql-1-1/sparql-update-3-2-4-generated.sparql +1 -0
  390. package/lib/statics/sparql-1-1/sparql-update-3-2-4.json +42 -12
  391. package/lib/statics/sparql-1-1/sparql-update-3-2-5-generated.sparql +1 -0
  392. package/lib/statics/sparql-1-1/sparql-update-3-2-5.json +42 -12
  393. package/lib/statics/sparql-1-1/sparql-update-4-2-4-generated.sparql +1 -0
  394. package/lib/statics/sparql-1-1/sparql-update-4-2-4.json +156 -49
  395. package/lib/statics/sparql-1-1/sparql-update-multiple-prefixes-generated.sparql +2 -0
  396. package/lib/statics/sparql-1-1/sparql-update-multiple-prefixes.json +160 -49
  397. package/lib/statics/sparql-1-1/sparql-update-only-prefix-generated.sparql +1 -0
  398. package/lib/statics/sparql-1-1/sparql-update-only-prefix.json +31 -2
  399. package/lib/statics/sparql-1-1/sparql-update-trailing-prologue-generated.sparql +2 -0
  400. package/lib/statics/sparql-1-1/sparql-update-trailing-prologue.json +84 -25
  401. package/lib/statics/sparql-1-1/sparql-update-trailing-semicolon-generated.sparql +1 -0
  402. package/lib/statics/sparql-1-1/sparql-update-trailing-semicolon.json +65 -25
  403. package/lib/statics/sparql-1-1/sparql-values-clause-generated.sparql +1 -0
  404. package/lib/statics/sparql-1-1/sparql-values-clause.json +331 -94
  405. package/lib/statics/sparql-1-1/strlen-generated.sparql +1 -0
  406. package/lib/statics/sparql-1-1/strlen.json +115 -32
  407. package/lib/statics/sparql-1-1/sub-values-generated.sparql +1 -0
  408. package/lib/statics/sparql-1-1/sub-values.json +182 -49
  409. package/lib/statics/sparql-1-1/subquery-generated.sparql +1 -0
  410. package/lib/statics/sparql-1-1/subquery.json +143 -44
  411. package/lib/statics/sparql-1-1/subtract-generated.sparql +1 -0
  412. package/lib/statics/sparql-1-1/subtract.json +91 -33
  413. package/lib/statics/sparql-1-1/sum-count-generated.sparql +1 -0
  414. package/lib/statics/sparql-1-1/sum-count.json +222 -56
  415. package/lib/statics/sparql-1-1/unicode-generated.sparql +1 -0
  416. package/lib/statics/sparql-1-1/unicode.json +81 -31
  417. package/lib/statics/sparql-1-1/union-complex-generated.sparql +1 -0
  418. package/lib/statics/sparql-1-1/union-complex.json +305 -80
  419. package/lib/statics/sparql-1-1/union-generated.sparql +1 -0
  420. package/lib/statics/sparql-1-1/union.json +242 -63
  421. package/lib/statics/sparql-1-1/using-generated.sparql +1 -0
  422. package/lib/statics/sparql-1-1/using.json +165 -55
  423. package/lib/statics/sparql-1-2/01-mine-sparql-1-2-generated.sparql +1 -0
  424. package/lib/statics/sparql-1-2/01-mine-sparql-1-2.json +178 -0
  425. package/lib/statics/sparql-1-2/01-mine-sparql-1-2.sparql +6 -0
  426. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-01-generated.sparql +1 -0
  427. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-01.json +152 -68
  428. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-02-generated.sparql +1 -0
  429. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-02.json +404 -151
  430. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-03-generated.sparql +1 -0
  431. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-03.json +224 -105
  432. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-04-generated.sparql +1 -0
  433. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-04.json +274 -141
  434. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-05-generated.sparql +1 -0
  435. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-05.json +227 -102
  436. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-06-generated.sparql +1 -0
  437. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-06.json +173 -83
  438. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-07-generated.sparql +1 -0
  439. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-07.json +220 -97
  440. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-08-generated.sparql +1 -0
  441. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-08.json +210 -84
  442. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-09-generated.sparql +1 -0
  443. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-09.json +242 -120
  444. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-01-generated.sparql +1 -0
  445. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-01.json +210 -118
  446. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-02-generated.sparql +1 -0
  447. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-02.json +266 -168
  448. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-03-generated.sparql +1 -0
  449. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-03.json +353 -217
  450. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-04-generated.sparql +1 -0
  451. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-04.json +462 -314
  452. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-01-generated.sparql +1 -0
  453. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-01.json +169 -68
  454. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-02-generated.sparql +1 -0
  455. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-02.json +424 -151
  456. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-03-generated.sparql +1 -0
  457. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-03.json +238 -105
  458. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-04-generated.sparql +1 -0
  459. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-04.json +291 -141
  460. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-05-generated.sparql +1 -0
  461. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-05.json +244 -102
  462. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-06-generated.sparql +1 -0
  463. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-06.json +188 -81
  464. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-07-generated.sparql +1 -0
  465. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-07.json +235 -95
  466. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-08-generated.sparql +1 -0
  467. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-08.json +227 -84
  468. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-09-generated.sparql +1 -0
  469. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-09.json +270 -120
  470. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-01-generated.sparql +1 -0
  471. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-01.json +106 -54
  472. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-02-generated.sparql +1 -0
  473. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-02.json +181 -104
  474. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-03-generated.sparql +1 -0
  475. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-03.json +244 -118
  476. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-04-generated.sparql +1 -0
  477. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-04.json +317 -168
  478. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-05-generated.sparql +1 -0
  479. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-05.json +311 -204
  480. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-06-generated.sparql +1 -0
  481. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-06.json +148 -92
  482. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-07-generated.sparql +1 -0
  483. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-07.json +294 -188
  484. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-08-generated.sparql +1 -0
  485. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-08.json +419 -215
  486. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-09-generated.sparql +1 -0
  487. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-09.json +561 -311
  488. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-10-generated.sparql +1 -0
  489. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-10.json +547 -381
  490. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-01-generated.sparql +1 -0
  491. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-01.json +154 -49
  492. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-02-generated.sparql +1 -0
  493. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-02.json +145 -55
  494. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-03-generated.sparql +1 -0
  495. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-03.json +149 -53
  496. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-04-generated.sparql +1 -0
  497. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-04.json +142 -54
  498. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-06-generated.sparql +1 -0
  499. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-06.json +146 -46
  500. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-07-generated.sparql +1 -0
  501. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-07.json +393 -175
  502. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-08-generated.sparql +1 -0
  503. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-08.json +118 -45
  504. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-09-generated.sparql +1 -0
  505. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-09.json +121 -45
  506. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-10-generated.sparql +1 -0
  507. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-10.json +170 -81
  508. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-11-generated.sparql +1 -0
  509. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-11.json +167 -69
  510. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-12-generated.sparql +1 -0
  511. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-12.json +173 -69
  512. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-13-generated.sparql +1 -0
  513. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-13.json +268 -138
  514. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-01-generated.sparql +1 -0
  515. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-01.json +158 -49
  516. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-02-generated.sparql +1 -0
  517. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-02.json +148 -55
  518. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-03-generated.sparql +1 -0
  519. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-03.json +151 -53
  520. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-04-generated.sparql +1 -0
  521. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-04.json +145 -54
  522. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-06-generated.sparql +1 -0
  523. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-06.json +150 -46
  524. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-07-generated.sparql +1 -0
  525. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-07.json +405 -175
  526. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-08-generated.sparql +1 -0
  527. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-08.json +121 -45
  528. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-09-generated.sparql +1 -0
  529. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-09.json +124 -45
  530. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-10-generated.sparql +1 -0
  531. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-10.json +176 -81
  532. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-11-generated.sparql +1 -0
  533. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-11.json +173 -69
  534. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-12-generated.sparql +1 -0
  535. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-12.json +179 -69
  536. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-13-generated.sparql +1 -0
  537. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-13.json +280 -138
  538. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-01-generated.sparql +1 -0
  539. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-01.json +128 -33
  540. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-02-generated.sparql +1 -0
  541. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-02.json +126 -38
  542. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-03-generated.sparql +1 -0
  543. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-03.json +123 -33
  544. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-04-generated.sparql +1 -0
  545. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-04.json +123 -33
  546. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-05-generated.sparql +1 -0
  547. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-05.json +300 -124
  548. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-06-generated.sparql +1 -0
  549. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-06.json +120 -27
  550. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-07-generated.sparql +1 -0
  551. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-07.json +306 -96
  552. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-01-generated.sparql +1 -0
  553. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-01.json +160 -59
  554. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-02-generated.sparql +1 -0
  555. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-02.json +160 -59
  556. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-03-generated.sparql +1 -0
  557. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-03.json +152 -53
  558. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-01-generated.sparql +1 -0
  559. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-01.json +164 -59
  560. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-02-generated.sparql +1 -0
  561. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-02.json +162 -59
  562. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-03-generated.sparql +1 -0
  563. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-03.json +156 -53
  564. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-01-generated.sparql +1 -0
  565. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-01.json +134 -39
  566. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-02-generated.sparql +1 -0
  567. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-02.json +134 -39
  568. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-03-generated.sparql +1 -0
  569. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-03.json +126 -33
  570. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-all-generated.sparql +1 -0
  571. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-all.json +520 -284
  572. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-anonreifier-generated.sparql +1 -0
  573. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-anonreifier.json +534 -306
  574. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-reifier-generated.sparql +1 -0
  575. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-reifier.json +556 -306
  576. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-tripleterm-generated.sparql +1 -0
  577. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-tripleterm.json +212 -65
  578. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-01-generated.sparql +1 -0
  579. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-01.json +151 -43
  580. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-03-generated.sparql +1 -0
  581. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-03.json +159 -47
  582. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-04-generated.sparql +1 -0
  583. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-04.json +170 -52
  584. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-05-generated.sparql +1 -0
  585. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-05.json +288 -99
  586. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-06-generated.sparql +1 -0
  587. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-06.json +210 -59
  588. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-01-generated.sparql +1 -0
  589. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-01.json +192 -68
  590. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-02-generated.sparql +1 -0
  591. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-02.json +344 -152
  592. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-01-generated.sparql +1 -0
  593. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-01.json +195 -68
  594. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-02-generated.sparql +1 -0
  595. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-02.json +349 -152
  596. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-01-generated.sparql +1 -0
  597. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-01.json +173 -47
  598. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-02-generated.sparql +1 -0
  599. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-02.json +306 -110
  600. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-01-generated.sparql +1 -0
  601. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-01.json +298 -134
  602. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-02-generated.sparql +1 -0
  603. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-02.json +284 -129
  604. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-01-generated.sparql +1 -0
  605. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-01.json +307 -134
  606. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-02-generated.sparql +1 -0
  607. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-02.json +292 -129
  608. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-tripleterm-01-generated.sparql +1 -0
  609. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-tripleterm-01.json +215 -65
  610. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-01-generated.sparql +1 -0
  611. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-01.json +136 -48
  612. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-02-generated.sparql +1 -0
  613. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-02.json +138 -63
  614. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-03-generated.sparql +1 -0
  615. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-03.json +371 -199
  616. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-04-generated.sparql +1 -0
  617. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-04.json +469 -269
  618. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-05-generated.sparql +1 -0
  619. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-05.json +353 -201
  620. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-06-generated.sparql +1 -0
  621. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-06.json +222 -96
  622. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-01-generated.sparql +1 -0
  623. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-01.json +140 -48
  624. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-02-generated.sparql +1 -0
  625. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-02.json +155 -63
  626. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-03-generated.sparql +1 -0
  627. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-03.json +379 -199
  628. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-04-generated.sparql +1 -0
  629. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-04.json +479 -269
  630. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-05-generated.sparql +1 -0
  631. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-05.json +359 -201
  632. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-06-generated.sparql +1 -0
  633. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-06.json +239 -96
  634. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-07-generated.sparql +1 -0
  635. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-07.json +302 -147
  636. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-08-generated.sparql +2 -0
  637. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-08.json +284 -137
  638. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-01-generated.sparql +1 -0
  639. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-01.json +110 -29
  640. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-03-generated.sparql +1 -0
  641. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-03.json +306 -181
  642. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-04-generated.sparql +1 -0
  643. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-04.json +368 -213
  644. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-05-generated.sparql +1 -0
  645. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-05.json +303 -181
  646. package/package.json +2 -3
  647. package/lib/statics/sparql-1-1/sparql-16-1-2.json +0 -51
  648. package/lib/statics/sparql-1-1/sparql-16-2-2a.json +0 -67
@@ -2,7 +2,7 @@ import { describe, it } from 'vitest';
2
2
  export function importSparql11NoteTests(parser, dataFactory) {
3
3
  function testErroneousQuery(query, _errorMsg) {
4
4
  return ({ expect }) => {
5
- let error = null;
5
+ let error;
6
6
  try {
7
7
  parser.parse(query);
8
8
  }
@@ -15,29 +15,31 @@ export function importSparql11NoteTests(parser, dataFactory) {
15
15
  };
16
16
  }
17
17
  it('should throw an error on an invalid query', testErroneousQuery('invalid', 'Parse error on line 1'));
18
- it('should throw an error on a projection of ungrouped variable', testErroneousQuery('PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s', 'Projection of ungrouped variable (?o)'));
18
+ it.skip('should throw an error on a projection of ungrouped variable', testErroneousQuery('PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s', 'Projection of ungrouped variable (?o)'));
19
19
  it('should throw an error on a values class with LESS variables than value', testErroneousQuery('SELECT * WHERE { } VALUES ( ?S ) { ( true false ) }', 'Number of dataBlockValues does not match number of variables. Too much values.'));
20
20
  it('should throw an error on a values class with MORE variables than value', testErroneousQuery('SELECT * WHERE { } VALUES ( ?S ?O ) { ( true ) }', 'Number of dataBlockValues does not match number of variables. Too few values.'));
21
21
  it('should NOT throw on a values class with correct amount of values', ({ expect }) => {
22
22
  const query = 'SELECT * WHERE { } VALUES ( ?S ) { ( true ) }';
23
23
  expect(parser.parse(query)).toMatchObject({});
24
24
  });
25
- it('should throw an error on an invalid selectscope', testErroneousQuery('SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }', 'Target id of \'AS\' (?X) already used in subquery'));
26
- it('should throw an error on bind to variable in scope', testErroneousQuery('SELECT * { ?s ?p ?o BIND(?o AS ?o) }', 'Target id of \'AS\' (?X) already used in subquery'));
25
+ it.skip('should throw an error on an invalid selectscope', testErroneousQuery('SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }', 'Target id of \'AS\' (?X) already used in subquery'));
26
+ it.skip('should throw an error on bind to variable in scope', testErroneousQuery('SELECT * { ?s ?p ?o BIND(?o AS ?o) }', 'Target id of \'AS\' (?X) already used in subquery'));
27
27
  it('should preserve BGP and filter pattern order', ({ expect }) => {
28
28
  const query = 'SELECT * { ?s ?p "1" . FILTER(true) . ?s ?p "2" }';
29
29
  expect(parser.parse(query)).toMatchObject({
30
- where: [
31
- { type: 'bgp' },
32
- { type: 'filter' },
33
- { type: 'bgp' },
34
- ],
30
+ where: {
31
+ patterns: [
32
+ { subType: 'bgp' },
33
+ { subType: 'filter' },
34
+ { subType: 'bgp' },
35
+ ],
36
+ },
35
37
  });
36
38
  });
37
39
  it('should throw an error on an aggregate function within an aggregate function', testErroneousQuery('SELECT (SUM(COUNT(?lprice)) AS ?totalPrice) { }', 'An aggregate function is not allowed within an aggregate function'));
38
40
  describe('with pre-defined prefixes', () => {
39
41
  const prefixes = { a: 'ex:abc#', b: 'ex:def#' };
40
- it('should use those prefixes', ({ expect }) => {
42
+ it.skip('should use those prefixes', ({ expect }) => {
41
43
  const query = 'SELECT * { a:a b:b "" }';
42
44
  expect(parser.parse(query, { prefixes })).toMatchObject({
43
45
  where: [
@@ -53,7 +55,7 @@ export function importSparql11NoteTests(parser, dataFactory) {
53
55
  ],
54
56
  });
55
57
  });
56
- it('should allow temporarily overriding prefixes', ({ expect }) => {
58
+ it.skip('should allow temporarily overriding prefixes', ({ expect }) => {
57
59
  const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b "" }';
58
60
  expect(parser.parse(query, { prefixes })).toMatchObject({
59
61
  where: [{
@@ -83,13 +85,13 @@ export function importSparql11NoteTests(parser, dataFactory) {
83
85
  });
84
86
  describe('with pre-defined base IRI', () => {
85
87
  const context = { baseIRI: 'http://ex.org/' };
86
- it('contains the base', ({ expect }) => {
88
+ it.skip('contains the base', ({ expect }) => {
87
89
  const query = 'SELECT * { ?s ?p ?o }';
88
90
  expect(parser.parse(query, context)).toMatchObject({
89
91
  base: 'http://ex.org/',
90
92
  });
91
93
  });
92
- it('using prefixed as relative iri', ({ expect }) => {
94
+ it.skip('using prefixed as relative iri', ({ expect }) => {
93
95
  const context = { baseIRI: 'http://ex.org/apl' };
94
96
  const query = `
95
97
  CONSTRUCT
@@ -104,7 +106,7 @@ WHERE { ?s ?p ?o }
104
106
  },
105
107
  });
106
108
  });
107
- it('should use the base IRI', ({ expect }) => {
109
+ it.skip('should use the base IRI', ({ expect }) => {
108
110
  const query = 'SELECT * { <> <#b> "" }';
109
111
  const result = {
110
112
  subject: dataFactory.namedNode('http://ex.org/'),
@@ -115,7 +117,7 @@ WHERE { ?s ?p ?o }
115
117
  where: [{ triples: [result] }],
116
118
  });
117
119
  });
118
- it('should work after a previous query failed', ({ expect }) => {
120
+ it.skip('should work after a previous query failed', ({ expect }) => {
119
121
  const badQuery = 'SELECT * { <> <#b> "" } invalid!';
120
122
  expect(() => parser.parse(badQuery, context)).toThrow(Error);
121
123
  const goodQuery = 'SELECT * { <> <#b> "" }';
@@ -131,9 +133,9 @@ WHERE { ?s ?p ?o }
131
133
  });
132
134
  });
133
135
  });
134
- it('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery('SELECT * { <a> <b> <c> }', 'Cannot resolve relative IRI a because no base IRI was set.'));
136
+ it.skip('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery('SELECT * { <a> <b> <c> }', 'Cannot resolve relative IRI a because no base IRI was set.'));
135
137
  describe('with group collapsing disabled', () => {
136
- it('should keep explicit pattern group', ({ expect }) => {
138
+ it.skip('should keep explicit pattern group', ({ expect }) => {
137
139
  const query = 'SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }';
138
140
  const result = [
139
141
  {
@@ -164,7 +166,7 @@ WHERE { ?s ?p ?o }
164
166
  ];
165
167
  expect(parser.parse(query)).toMatchObject({ where: result });
166
168
  });
167
- it('should still collapse immediate union groups', ({ expect }) => {
169
+ it.skip('should still collapse immediate union groups', ({ expect }) => {
168
170
  const query = 'SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }';
169
171
  const result = [
170
172
  {
@@ -224,8 +226,8 @@ WHERE { ?s ?p ?o }
224
226
  // Todo: add proper test
225
227
  expect(parser.parse(query)).toMatchObject({});
226
228
  });
227
- it('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }', 'Detected reuse blank node across different INSERT DATA clauses'));
228
- it('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }', 'Detected reuse blank node across different INSERT DATA clauses'));
229
+ it.skip('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }', 'Detected reuse blank node across different INSERT DATA clauses'));
230
+ it.skip('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }', 'Detected reuse blank node across different INSERT DATA clauses'));
229
231
  it('should not throw on comment between INSERT and DATA', ({ expect }) => {
230
232
  const query = `INSERT
231
233
  # Comment
@@ -1 +1 @@
1
- {"version":3,"file":"Sparql11NotesTest.js","sourceRoot":"","sources":["Sparql11NotesTest.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BaseQuad } from '@rdfjs/types';\nimport type { DataFactory } from 'rdf-data-factory';\nimport { describe, it } from 'vitest';\nimport type { TestFunction } from 'vitest';\n\ninterface Parser {\n parse: (query: string, context?: { prefixes?: Record<string, string>; baseIRI?: string }) => unknown;\n}\n\nexport function importSparql11NoteTests(parser: Parser, dataFactory: DataFactory<BaseQuad>): void {\n function testErroneousQuery(query: string, _errorMsg: string): TestFunction<object> {\n return ({ expect }) => {\n let error: any = null;\n try {\n parser.parse(query);\n } catch (e) {\n error = e;\n }\n expect(error).not.toBeUndefined();\n expect(error).toBeInstanceOf(Error);\n // Expect(error.message).toContain(errorMsg);\n };\n }\n\n it('should throw an error on an invalid query', testErroneousQuery('invalid', 'Parse error on line 1'));\n\n it('should throw an error on a projection of ungrouped variable', testErroneousQuery(\n 'PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s',\n 'Projection of ungrouped variable (?o)',\n ));\n\n it('should throw an error on a values class with LESS variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ) { ( true false ) }',\n 'Number of dataBlockValues does not match number of variables. Too much values.',\n ));\n\n it('should throw an error on a values class with MORE variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ?O ) { ( true ) }',\n 'Number of dataBlockValues does not match number of variables. Too few values.',\n ));\n\n it('should NOT throw on a values class with correct amount of values', ({ expect }) => {\n const query = 'SELECT * WHERE { } VALUES ( ?S ) { ( true ) }';\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on an invalid selectscope', testErroneousQuery(\n 'SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it('should throw an error on bind to variable in scope', testErroneousQuery(\n 'SELECT * { ?s ?p ?o BIND(?o AS ?o) }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it('should preserve BGP and filter pattern order', ({ expect }) => {\n const query = 'SELECT * { ?s ?p \"1\" . FILTER(true) . ?s ?p \"2\" }';\n expect(parser.parse(query)).toMatchObject({\n where: [\n { type: 'bgp' },\n { type: 'filter' },\n { type: 'bgp' },\n ],\n });\n });\n\n it('should throw an error on an aggregate function within an aggregate function', testErroneousQuery(\n 'SELECT (SUM(COUNT(?lprice)) AS ?totalPrice) { }',\n 'An aggregate function is not allowed within an aggregate function',\n ));\n\n describe('with pre-defined prefixes', () => {\n const prefixes = { a: 'ex:abc#', b: 'ex:def#' };\n\n it('should use those prefixes', ({ expect }) => {\n const query = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [\n {\n triples: [\n {\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n },\n ],\n },\n ],\n });\n });\n\n it('should allow temporarily overriding prefixes', ({ expect }) => {\n const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:xyz#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n\n const query2 = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query2, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n });\n\n it('should not change the original prefixes', ({ expect }) => {\n expect(prefixes).toEqual({ a: 'ex:abc#', b: 'ex:def#' });\n });\n });\n\n describe('with pre-defined base IRI', () => {\n const context = { baseIRI: 'http://ex.org/' };\n\n it('contains the base', ({ expect }) => {\n const query = 'SELECT * { ?s ?p ?o }';\n expect(parser.parse(query, context)).toMatchObject({\n base: 'http://ex.org/',\n });\n });\n\n it('using prefixed as relative iri', ({ expect }) => {\n const context = { baseIRI: 'http://ex.org/apl' };\n const query = `\nCONSTRUCT\nFROM <data.ttl>\nWHERE { ?s ?p ?o }\n`;\n expect(parser.parse(query, context)).toMatchObject({\n from: {\n default: [\n dataFactory.namedNode('http://ex.org/data.ttl'),\n ],\n },\n });\n });\n\n it('should use the base IRI', ({ expect }) => {\n const query = 'SELECT * { <> <#b> \"\" }';\n const result = {\n subject: dataFactory.namedNode('http://ex.org/'),\n predicate: dataFactory.namedNode('http://ex.org/#b'),\n object: dataFactory.literal(''),\n };\n\n expect(parser.parse(query, context)).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n\n it('should work after a previous query failed', ({ expect }) => {\n const badQuery = 'SELECT * { <> <#b> \"\" } invalid!';\n expect(() => parser.parse(badQuery, context)).toThrow(Error);\n\n const goodQuery = 'SELECT * { <> <#b> \"\" }';\n\n const context = { baseIRI: 'http://ex2.org/' };\n const result = {\n subject: dataFactory.namedNode('http://ex2.org/'),\n predicate: dataFactory.namedNode('http://ex2.org/#b'),\n object: dataFactory.literal(''),\n };\n const data = parser.parse(goodQuery, context);\n expect(data).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n });\n\n it('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery(\n 'SELECT * { <a> <b> <c> }',\n 'Cannot resolve relative IRI a because no base IRI was set.',\n ));\n\n describe('with group collapsing disabled', () => {\n it('should keep explicit pattern group', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }';\n const result = [\n {\n type: 'group',\n patterns: [\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('s'),\n predicate: dataFactory.variable('p'),\n object: dataFactory.variable('o'),\n },\n ],\n },\n ],\n },\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('a'),\n predicate: dataFactory.variable('b'),\n object: dataFactory.variable('c'),\n },\n ],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n\n it('should still collapse immediate union groups', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }';\n\n const result = [\n {\n type: 'union',\n patterns: [{\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 's',\n },\n predicate: {\n termType: 'Variable',\n value: 'p',\n },\n object: {\n termType: 'Variable',\n value: 'o',\n },\n }],\n }, {\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 'a',\n },\n predicate: {\n termType: 'Variable',\n value: 'b',\n },\n object: {\n termType: 'Variable',\n value: 'c',\n },\n }],\n }],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n });\n\n describe('for update queries', () => {\n it('should throw an error on blank nodes in DELETE clause', testErroneousQuery(\n 'DELETE { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should not throw on blank nodes in INSERT clause', ({ expect }) => {\n const query = 'INSERT { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on blank nodes in compact DELETE clause', testErroneousQuery(\n 'DELETE WHERE { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should throw an error on blank nodes in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause with GRAPH', testErroneousQuery(\n 'DELETE DATA { GRAPH ?a { <ex:s> <ex:p> <ex:o> } }',\n 'Detected illegal variable in GRAPH',\n ));\n\n it('should throw an error on variables in INSERT DATA clause', testErroneousQuery(\n 'INSERT DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should not throw on reused blank nodes in one INSERT DATA clause', ({ expect }) => {\n const query = 'INSERT DATA { _:a <ex:p> <ex:o> . _:a <ex:p> <ex:o> . }';\n // Todo: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it('should not throw on comment between INSERT and DATA', ({ expect }) => {\n const query = `INSERT\n# Comment\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should not throw on comment after INSERT that could be confused with DATA', ({ expect }) => {\n const query = `INSERT # DATA\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on commented DATA after INSERT', testErroneousQuery(\n 'INSERT # DATA { GRAPH <ex:G> { <ex:s> <ex:p> \\'o1\\', \\'o2\\', \\'o3\\' } }',\n 'Parse error',\n ));\n });\n\n it('should throw an error on unicode codepoint escaping in literal with partial surrogate pair', testErroneousQuery(\n 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\' }',\n 'Invalid unicode codepoint of surrogate pair without corresponding codepoint',\n ));\n\n it(\n 'should not throw an error on unicode codepoint escaping in literal with complete surrogate pair',\n ({ expect }) => {\n const query = 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\uDFFF\\' }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n },\n );\n}\n"]}
1
+ {"version":3,"file":"Sparql11NotesTest.js","sourceRoot":"","sources":["Sparql11NotesTest.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BaseQuad } from '@rdfjs/types';\nimport type { DataFactory } from 'rdf-data-factory';\nimport { describe, it } from 'vitest';\nimport type { TestFunction } from 'vitest';\n\ninterface Parser {\n parse: (query: string, context?: { prefixes?: Record<string, string>; baseIRI?: string }) => unknown;\n}\n\nexport function importSparql11NoteTests(parser: Parser, dataFactory: DataFactory<BaseQuad>): void {\n function testErroneousQuery(query: string, _errorMsg: string): TestFunction<object> {\n return ({ expect }) => {\n let error: any;\n try {\n parser.parse(query);\n } catch (e) {\n error = e;\n }\n expect(error).not.toBeUndefined();\n expect(error).toBeInstanceOf(Error);\n // Expect(error.message).toContain(errorMsg);\n };\n }\n\n it('should throw an error on an invalid query', testErroneousQuery('invalid', 'Parse error on line 1'));\n\n it.skip('should throw an error on a projection of ungrouped variable', testErroneousQuery(\n 'PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s',\n 'Projection of ungrouped variable (?o)',\n ));\n\n it('should throw an error on a values class with LESS variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ) { ( true false ) }',\n 'Number of dataBlockValues does not match number of variables. Too much values.',\n ));\n\n it('should throw an error on a values class with MORE variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ?O ) { ( true ) }',\n 'Number of dataBlockValues does not match number of variables. Too few values.',\n ));\n\n it('should NOT throw on a values class with correct amount of values', ({ expect }) => {\n const query = 'SELECT * WHERE { } VALUES ( ?S ) { ( true ) }';\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it.skip('should throw an error on an invalid selectscope', testErroneousQuery(\n 'SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it.skip('should throw an error on bind to variable in scope', testErroneousQuery(\n 'SELECT * { ?s ?p ?o BIND(?o AS ?o) }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it('should preserve BGP and filter pattern order', ({ expect }) => {\n const query = 'SELECT * { ?s ?p \"1\" . FILTER(true) . ?s ?p \"2\" }';\n expect(parser.parse(query)).toMatchObject({\n where: {\n patterns: [\n { subType: 'bgp' },\n { subType: 'filter' },\n { subType: 'bgp' },\n ],\n },\n });\n });\n\n it('should throw an error on an aggregate function within an aggregate function', testErroneousQuery(\n 'SELECT (SUM(COUNT(?lprice)) AS ?totalPrice) { }',\n 'An aggregate function is not allowed within an aggregate function',\n ));\n\n describe('with pre-defined prefixes', () => {\n const prefixes = { a: 'ex:abc#', b: 'ex:def#' };\n\n it.skip('should use those prefixes', ({ expect }) => {\n const query = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [\n {\n triples: [\n {\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n },\n ],\n },\n ],\n });\n });\n\n it.skip('should allow temporarily overriding prefixes', ({ expect }) => {\n const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:xyz#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n\n const query2 = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query2, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n });\n\n it('should not change the original prefixes', ({ expect }) => {\n expect(prefixes).toEqual({ a: 'ex:abc#', b: 'ex:def#' });\n });\n });\n\n describe('with pre-defined base IRI', () => {\n const context = { baseIRI: 'http://ex.org/' };\n\n it.skip('contains the base', ({ expect }) => {\n const query = 'SELECT * { ?s ?p ?o }';\n expect(parser.parse(query, context)).toMatchObject({\n base: 'http://ex.org/',\n });\n });\n\n it.skip('using prefixed as relative iri', ({ expect }) => {\n const context = { baseIRI: 'http://ex.org/apl' };\n const query = `\nCONSTRUCT\nFROM <data.ttl>\nWHERE { ?s ?p ?o }\n`;\n expect(parser.parse(query, context)).toMatchObject({\n from: {\n default: [\n dataFactory.namedNode('http://ex.org/data.ttl'),\n ],\n },\n });\n });\n\n it.skip('should use the base IRI', ({ expect }) => {\n const query = 'SELECT * { <> <#b> \"\" }';\n const result = {\n subject: dataFactory.namedNode('http://ex.org/'),\n predicate: dataFactory.namedNode('http://ex.org/#b'),\n object: dataFactory.literal(''),\n };\n\n expect(parser.parse(query, context)).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n\n it.skip('should work after a previous query failed', ({ expect }) => {\n const badQuery = 'SELECT * { <> <#b> \"\" } invalid!';\n expect(() => parser.parse(badQuery, context)).toThrow(Error);\n\n const goodQuery = 'SELECT * { <> <#b> \"\" }';\n\n const context = { baseIRI: 'http://ex2.org/' };\n const result = {\n subject: dataFactory.namedNode('http://ex2.org/'),\n predicate: dataFactory.namedNode('http://ex2.org/#b'),\n object: dataFactory.literal(''),\n };\n const data = parser.parse(goodQuery, context);\n expect(data).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n });\n\n it.skip('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery(\n 'SELECT * { <a> <b> <c> }',\n 'Cannot resolve relative IRI a because no base IRI was set.',\n ));\n\n describe('with group collapsing disabled', () => {\n it.skip('should keep explicit pattern group', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }';\n const result = [\n {\n type: 'group',\n patterns: [\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('s'),\n predicate: dataFactory.variable('p'),\n object: dataFactory.variable('o'),\n },\n ],\n },\n ],\n },\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('a'),\n predicate: dataFactory.variable('b'),\n object: dataFactory.variable('c'),\n },\n ],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n\n it.skip('should still collapse immediate union groups', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }';\n\n const result = [\n {\n type: 'union',\n patterns: [{\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 's',\n },\n predicate: {\n termType: 'Variable',\n value: 'p',\n },\n object: {\n termType: 'Variable',\n value: 'o',\n },\n }],\n }, {\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 'a',\n },\n predicate: {\n termType: 'Variable',\n value: 'b',\n },\n object: {\n termType: 'Variable',\n value: 'c',\n },\n }],\n }],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n });\n\n describe('for update queries', () => {\n it('should throw an error on blank nodes in DELETE clause', testErroneousQuery(\n 'DELETE { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should not throw on blank nodes in INSERT clause', ({ expect }) => {\n const query = 'INSERT { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on blank nodes in compact DELETE clause', testErroneousQuery(\n 'DELETE WHERE { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should throw an error on blank nodes in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause with GRAPH', testErroneousQuery(\n 'DELETE DATA { GRAPH ?a { <ex:s> <ex:p> <ex:o> } }',\n 'Detected illegal variable in GRAPH',\n ));\n\n it('should throw an error on variables in INSERT DATA clause', testErroneousQuery(\n 'INSERT DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should not throw on reused blank nodes in one INSERT DATA clause', ({ expect }) => {\n const query = 'INSERT DATA { _:a <ex:p> <ex:o> . _:a <ex:p> <ex:o> . }';\n // Todo: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it.skip('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it.skip('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it('should not throw on comment between INSERT and DATA', ({ expect }) => {\n const query = `INSERT\n# Comment\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should not throw on comment after INSERT that could be confused with DATA', ({ expect }) => {\n const query = `INSERT # DATA\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on commented DATA after INSERT', testErroneousQuery(\n 'INSERT # DATA { GRAPH <ex:G> { <ex:s> <ex:p> \\'o1\\', \\'o2\\', \\'o3\\' } }',\n 'Parse error',\n ));\n });\n\n it('should throw an error on unicode codepoint escaping in literal with partial surrogate pair', testErroneousQuery(\n 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\' }',\n 'Invalid unicode codepoint of surrogate pair without corresponding codepoint',\n ));\n\n it(\n 'should not throw an error on unicode codepoint escaping in literal with complete surrogate pair',\n ({ expect }) => {\n const query = 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\uDFFF\\' }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n },\n );\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import type { PathLike } from 'node:fs';
2
2
  import type { FileHandle } from 'node:fs/promises';
3
- export declare function readFile(path: PathLike | FileHandle, encoding: BufferEncoding): Promise<string>;
3
+ export declare function readFile(path: PathLike | FileHandle, encoding?: BufferEncoding): Promise<string>;
package/lib/fileUtils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import fsp from 'node:fs/promises';
2
- export async function readFile(path, encoding) {
2
+ export async function readFile(path, encoding = 'utf-8') {
3
3
  const content = await fsp.readFile(path, encoding);
4
4
  return content.replaceAll(/\r?\n/gu, '\n');
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["fileUtils.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAA2B,EAAE,QAAwB;IAClF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["/* eslint-disable import/no-nodejs-modules */\nimport type { PathLike } from 'node:fs';\nimport type { FileHandle } from 'node:fs/promises';\nimport fsp from 'node:fs/promises';\n\nexport async function readFile(path: PathLike | FileHandle, encoding: BufferEncoding): Promise<string> {\n const content = await fsp.readFile(path, encoding);\n return content.replaceAll(/\\r?\\n/gu, '\\n');\n}\n"]}
1
+ {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["fileUtils.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAA2B,EAAE,WAA2B,OAAO;IAC5F,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["/* eslint-disable import/no-nodejs-modules */\nimport type { PathLike } from 'node:fs';\nimport type { FileHandle } from 'node:fs/promises';\nimport fsp from 'node:fs/promises';\n\nexport async function readFile(path: PathLike | FileHandle, encoding: BufferEncoding = 'utf-8'): Promise<string> {\n const content = await fsp.readFile(path, encoding);\n return content.replaceAll(/\\r?\\n/gu, '\\n');\n}\n"]}
package/lib/index.cjs CHANGED
@@ -7359,37 +7359,58 @@ var import_expect_type = __toESM(require_dist(), 1);
7359
7359
 
7360
7360
  // lib/statics/generators.ts
7361
7361
  var fs = __toESM(require("node:fs"), 1);
7362
- var import_promises = __toESM(require("node:fs/promises"), 1);
7363
7362
  var path = __toESM(require("node:path"), 1);
7364
- function* positiveTest(type3) {
7363
+
7364
+ // lib/fileUtils.ts
7365
+ var import_promises = __toESM(require("node:fs/promises"), 1);
7366
+ async function readFile(path2, encoding = "utf-8") {
7367
+ const content = await import_promises.default.readFile(path2, encoding);
7368
+ return content.replaceAll(/\r?\n/gu, "\n");
7369
+ }
7370
+
7371
+ // lib/statics/generators.ts
7372
+ function* positiveTest(type3, filter) {
7365
7373
  const dir = path.join(__dirname, type3);
7366
7374
  const statics = fs.readdirSync(dir);
7367
7375
  for (const file of statics) {
7368
- if (file.endsWith(".sparql")) {
7376
+ if (file.endsWith(".json")) {
7377
+ if (filter && !filter(file.replace(".json", ""))) {
7378
+ continue;
7379
+ }
7369
7380
  yield {
7370
- name: file.replace(/\.sparql$/u, ""),
7381
+ name: file.replace(/\.json$/u, ""),
7371
7382
  statics: async () => {
7372
- const query = await import_promises.default.readFile(`${dir}/${file}`, "utf-8");
7373
- const result = await import_promises.default.readFile(`${dir}/${file.replace(".sparql", ".json")}`, "utf-8");
7383
+ const query = await readFile(`${dir}/${file.replace(".json", ".sparql")}`);
7384
+ const result = await readFile(`${dir}/${file}`);
7385
+ let autoGen;
7386
+ try {
7387
+ autoGen = await readFile(`${dir}/${file.replace(".json", "-generated.sparql")}`);
7388
+ } catch {
7389
+ autoGen = query;
7390
+ }
7374
7391
  const json = JSON.parse(result);
7375
7392
  return {
7376
7393
  query,
7377
- result: json
7394
+ ast: json,
7395
+ autoGen
7378
7396
  };
7379
7397
  }
7380
7398
  };
7381
7399
  }
7382
7400
  }
7383
7401
  }
7384
- function* negativeTest(type3) {
7402
+ function* negativeTest(type3, filter) {
7385
7403
  const dir = path.join(__dirname, type3);
7386
7404
  const statics = fs.readdirSync(dir);
7387
7405
  for (const file of statics) {
7388
7406
  if (file.endsWith(".sparql")) {
7407
+ if (filter && !filter(file.replace(".sparql", ""))) {
7408
+ continue;
7409
+ }
7389
7410
  yield {
7390
7411
  name: file.replace(/\.sparql$/u, ""),
7391
7412
  statics: async () => {
7392
- const query = await import_promises.default.readFile(`${dir}/${file}`, "utf-8");
7413
+ const query = await readFile(`${dir}/${file}`);
7393
7414
  return {
7394
7415
  query
7395
7416
  };
@@ -7403,7 +7424,7 @@ function* negativeTest(type3) {
7403
7424
  function importSparql11NoteTests(parser, dataFactory) {
7404
7425
  function testErroneousQuery(query, _errorMsg) {
7405
7426
  return ({ expect: expect2 }) => {
7406
- let error = null;
7427
+ let error;
7407
7428
  try {
7408
7429
  parser.parse(query);
7409
7430
  } catch (e) {
@@ -7414,7 +7435,7 @@ function importSparql11NoteTests(parser, dataFactory) {
7414
7435
  };
7415
7436
  }
7416
7437
  it("should throw an error on an invalid query", testErroneousQuery("invalid", "Parse error on line 1"));
7417
- it("should throw an error on a projection of ungrouped variable", testErroneousQuery(
7438
+ it.skip("should throw an error on a projection of ungrouped variable", testErroneousQuery(
7418
7439
  "PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s",
7419
7440
  "Projection of ungrouped variable (?o)"
7420
7441
  ));
@@ -7430,22 +7451,24 @@ function importSparql11NoteTests(parser, dataFactory) {
7430
7451
  const query = "SELECT * WHERE { } VALUES ( ?S ) { ( true ) }";
7431
7452
  expect2(parser.parse(query)).toMatchObject({});
7432
7453
  });
7433
- it("should throw an error on an invalid selectscope", testErroneousQuery(
7454
+ it.skip("should throw an error on an invalid selectscope", testErroneousQuery(
7434
7455
  "SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }",
7435
7456
  "Target id of 'AS' (?X) already used in subquery"
7436
7457
  ));
7437
- it("should throw an error on bind to variable in scope", testErroneousQuery(
7458
+ it.skip("should throw an error on bind to variable in scope", testErroneousQuery(
7438
7459
  "SELECT * { ?s ?p ?o BIND(?o AS ?o) }",
7439
7460
  "Target id of 'AS' (?X) already used in subquery"
7440
7461
  ));
7441
7462
  it("should preserve BGP and filter pattern order", ({ expect: expect2 }) => {
7442
7463
  const query = 'SELECT * { ?s ?p "1" . FILTER(true) . ?s ?p "2" }';
7443
7464
  expect2(parser.parse(query)).toMatchObject({
7444
- where: [
7445
- { type: "bgp" },
7446
- { type: "filter" },
7447
- { type: "bgp" }
7448
- ]
7465
+ where: {
7466
+ patterns: [
7467
+ { subType: "bgp" },
7468
+ { subType: "filter" },
7469
+ { subType: "bgp" }
7470
+ ]
7471
+ }
7449
7472
  });
7450
7473
  });
7451
7474
  it("should throw an error on an aggregate function within an aggregate function", testErroneousQuery(
@@ -7454,7 +7477,7 @@ function importSparql11NoteTests(parser, dataFactory) {
7454
7477
  ));
7455
7478
  describe("with pre-defined prefixes", () => {
7456
7479
  const prefixes = { a: "ex:abc#", b: "ex:def#" };
7457
- it("should use those prefixes", ({ expect: expect2 }) => {
7480
+ it.skip("should use those prefixes", ({ expect: expect2 }) => {
7458
7481
  const query = 'SELECT * { a:a b:b "" }';
7459
7482
  expect2(parser.parse(query, { prefixes })).toMatchObject({
7460
7483
  where: [
@@ -7470,7 +7493,7 @@ function importSparql11NoteTests(parser, dataFactory) {
7470
7493
  ]
7471
7494
  });
7472
7495
  });
7473
- it("should allow temporarily overriding prefixes", ({ expect: expect2 }) => {
7496
+ it.skip("should allow temporarily overriding prefixes", ({ expect: expect2 }) => {
7474
7497
  const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b "" }';
7475
7498
  expect2(parser.parse(query, { prefixes })).toMatchObject({
7476
7499
  where: [
@@ -7502,13 +7525,13 @@ function importSparql11NoteTests(parser, dataFactory) {
7502
7525
  });
7503
7526
  describe("with pre-defined base IRI", () => {
7504
7527
  const context = { baseIRI: "http://ex.org/" };
7505
- it("contains the base", ({ expect: expect2 }) => {
7528
+ it.skip("contains the base", ({ expect: expect2 }) => {
7506
7529
  const query = "SELECT * { ?s ?p ?o }";
7507
7530
  expect2(parser.parse(query, context)).toMatchObject({
7508
7531
  base: "http://ex.org/"
7509
7532
  });
7510
7533
  });
7511
- it("using prefixed as relative iri", ({ expect: expect2 }) => {
7534
+ it.skip("using prefixed as relative iri", ({ expect: expect2 }) => {
7512
7535
  const context2 = { baseIRI: "http://ex.org/apl" };
7513
7536
  const query = `
7514
7537
  CONSTRUCT
@@ -7523,7 +7546,7 @@ WHERE { ?s ?p ?o }
7523
7546
  }
7524
7547
  });
7525
7548
  });
7526
- it("should use the base IRI", ({ expect: expect2 }) => {
7549
+ it.skip("should use the base IRI", ({ expect: expect2 }) => {
7527
7550
  const query = 'SELECT * { <> <#b> "" }';
7528
7551
  const result = {
7529
7552
  subject: dataFactory.namedNode("http://ex.org/"),
@@ -7534,7 +7557,7 @@ WHERE { ?s ?p ?o }
7534
7557
  where: [{ triples: [result] }]
7535
7558
  });
7536
7559
  });
7537
- it("should work after a previous query failed", ({ expect: expect2 }) => {
7560
+ it.skip("should work after a previous query failed", ({ expect: expect2 }) => {
7538
7561
  const badQuery = 'SELECT * { <> <#b> "" } invalid!';
7539
7562
  expect2(() => parser.parse(badQuery, context2)).toThrow(Error);
7540
7563
  const goodQuery = 'SELECT * { <> <#b> "" }';
@@ -7550,12 +7573,12 @@ WHERE { ?s ?p ?o }
7550
7573
  });
7551
7574
  });
7552
7575
  });
7553
- it("should throw an error on relative IRIs if no base IRI is specified", testErroneousQuery(
7576
+ it.skip("should throw an error on relative IRIs if no base IRI is specified", testErroneousQuery(
7554
7577
  "SELECT * { <a> <b> <c> }",
7555
7578
  "Cannot resolve relative IRI a because no base IRI was set."
7556
7579
  ));
7557
7580
  describe("with group collapsing disabled", () => {
7558
- it("should keep explicit pattern group", ({ expect: expect2 }) => {
7581
+ it.skip("should keep explicit pattern group", ({ expect: expect2 }) => {
7559
7582
  const query = "SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }";
7560
7583
  const result = [
7561
7584
  {
@@ -7586,7 +7609,7 @@ WHERE { ?s ?p ?o }
7586
7609
  ];
7587
7610
  expect2(parser.parse(query)).toMatchObject({ where: result });
7588
7611
  });
7589
- it("should still collapse immediate union groups", ({ expect: expect2 }) => {
7612
+ it.skip("should still collapse immediate union groups", ({ expect: expect2 }) => {
7590
7613
  const query = "SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }";
7591
7614
  const result = [
7592
7615
  {
@@ -7662,11 +7685,11 @@ WHERE { ?s ?p ?o }
7662
7685
  const query = "INSERT DATA { _:a <ex:p> <ex:o> . _:a <ex:p> <ex:o> . }";
7663
7686
  expect2(parser.parse(query)).toMatchObject({});
7664
7687
  });
7665
- it("should throw an error on reused blank nodes across INSERT DATA clauses", testErroneousQuery(
7688
+ it.skip("should throw an error on reused blank nodes across INSERT DATA clauses", testErroneousQuery(
7666
7689
  "INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }",
7667
7690
  "Detected reuse blank node across different INSERT DATA clauses"
7668
7691
  ));
7669
- it("should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH", testErroneousQuery(
7692
+ it.skip("should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH", testErroneousQuery(
7670
7693
  "INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }",
7671
7694
  "Detected reuse blank node across different INSERT DATA clauses"
7672
7695
  ));
@@ -7698,13 +7721,6 @@ DATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;
7698
7721
  }
7699
7722
  );
7700
7723
  }
7701
-
7702
- // lib/fileUtils.ts
7703
- var import_promises2 = __toESM(require("node:fs/promises"), 1);
7704
- async function readFile(path2, encoding) {
7705
- const content = await import_promises2.default.readFile(path2, encoding);
7706
- return content.replaceAll(/\r?\n/gu, "\n");
7707
- }
7708
7724
  // Annotate the CommonJS export names for ESM import in node:
7709
7725
  0 && (module.exports = {
7710
7726
  importSparql11NoteTests,
@@ -1,9 +1,24 @@
1
- import { Wildcard } from '@traqula/rules-sparql-1-1';
2
- import { BlankNode, DefaultGraph, NamedNode, Quad, Variable } from 'rdf-data-factory';
3
1
  import { expect } from 'vitest';
4
2
  expect.extend({
5
3
  toEqualParsedQuery(received, expected) {
6
- const pass = objectsEqual(received, expected);
4
+ const pass = objectsEqual(received, expected, () => false, []);
5
+ const message = pass ?
6
+ () => `${this.utils.matcherHint('toEqualParsedQuery')}\n\n` +
7
+ `Expected: ${this.utils.printExpected(expected)}\n` +
8
+ `Received: ${this.utils.printReceived(received)}` :
9
+ () => {
10
+ const diffString = this.utils.diff(expected, received, {
11
+ expand: this.expand,
12
+ });
13
+ return (`${this.utils.matcherHint('toEqualParsedQuery')}\n\n${diffString && diffString.includes('- Expect') ?
14
+ `Difference:\n\n${diffString}` :
15
+ `Expected: ${this.utils.printExpected(expected)}\n` +
16
+ `Received: ${this.utils.printReceived(received)}`}`);
17
+ };
18
+ return { pass, message };
19
+ },
20
+ toEqualParsedQueryIgnoring(received, selector, ignoreKeys, expected) {
21
+ const pass = objectsEqual(received, expected, selector, ignoreKeys);
7
22
  const message = pass ?
8
23
  () => `${this.utils.matcherHint('toEqualParsedQuery')}\n\n` +
9
24
  `Expected: ${this.utils.printExpected(expected)}\n` +
@@ -21,7 +36,7 @@ expect.extend({
21
36
  },
22
37
  });
23
38
  // We cannot use native instanceOf to test whether expected is a Term!
24
- function objectsEqual(received, expected) {
39
+ function objectsEqual(received, expected, selector, ignoreKeys) {
25
40
  if (received === undefined || received === null || isPrimitive(received)) {
26
41
  return received === expected;
27
42
  }
@@ -45,7 +60,7 @@ function objectsEqual(received, expected) {
45
60
  return false;
46
61
  }
47
62
  for (const [i, element] of received.entries()) {
48
- if (!objectsEqual(element, expected[i])) {
63
+ if (!objectsEqual(element, expected[i], selector, ignoreKeys)) {
49
64
  return false;
50
65
  }
51
66
  }
@@ -56,10 +71,14 @@ function objectsEqual(received, expected) {
56
71
  return false;
57
72
  }
58
73
  const keys_first = Object.keys(received);
74
+ const receivedMatches = selector(received);
59
75
  for (const key of keys_first) {
76
+ if (receivedMatches && ignoreKeys.includes(key)) {
77
+ continue;
78
+ }
60
79
  // eslint-disable-next-line ts/ban-ts-comment
61
80
  // @ts-expect-error TS7053
62
- if (!objectsEqual(received[key], expected[key])) {
81
+ if (!objectsEqual(received[key], expected[key], selector, ignoreKeys)) {
63
82
  return false;
64
83
  }
65
84
  }
@@ -68,7 +87,7 @@ function objectsEqual(received, expected) {
68
87
  for (const key of keys_second) {
69
88
  // eslint-disable-next-line ts/ban-ts-comment
70
89
  // @ts-expect-error TS7053
71
- if (!objectsEqual(received[key], expected[key])) {
90
+ if (!objectsEqual(received[key], expected[key], selector, ignoreKeys)) {
72
91
  return false;
73
92
  }
74
93
  }
@@ -77,12 +96,7 @@ function objectsEqual(received, expected) {
77
96
  }
78
97
  // If true, the value is a term. With ts annotation
79
98
  function isTerm(value) {
80
- return value instanceof DefaultGraph ||
81
- value instanceof NamedNode ||
82
- value instanceof BlankNode ||
83
- value instanceof Variable ||
84
- value instanceof Wildcard ||
85
- value instanceof Quad;
99
+ return false;
86
100
  }
87
101
  function isPrimitive(value) {
88
102
  return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
@@ -1 +1 @@
1
- {"version":3,"file":"toEqualParsedQuery.js","sourceRoot":"","sources":["toEqualParsedQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import { Wildcard } from '@traqula/rules-sparql-1-1';\nimport { BlankNode, DefaultGraph, NamedNode, Quad, Variable } from 'rdf-data-factory';\nimport { expect } from 'vitest';\n\nexpect.extend({\n toEqualParsedQuery(received, expected) {\n const pass = objectsEqual(received, expected);\n const message = pass ?\n () =>\n `${this.utils.matcherHint('toEqualParsedQuery')\n }\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(received)}` :\n () => {\n const diffString = this.utils.diff(expected, received, {\n expand: this.expand,\n });\n return (\n `${this.utils.matcherHint('toEqualParsedQuery')\n }\\n\\n${\n diffString && diffString.includes('- Expect') ?\n `Difference:\\n\\n${diffString}` :\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(received)}`}`\n );\n };\n\n return { pass, message };\n },\n});\n\n// We cannot use native instanceOf to test whether expected is a Term!\nfunction objectsEqual(received: unknown, expected: unknown): boolean {\n if (received === undefined || received === null || isPrimitive(received)) {\n return received === expected;\n }\n\n if (isTerm(received)) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS2345\n return received.equals(expected);\n }\n if (isTerm(expected)) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS2345\n return expected.equals(received);\n }\n // York\n // test\n if (Array.isArray(received)) {\n if (!Array.isArray(expected)) {\n return false;\n }\n if (received.length !== expected.length) {\n return false;\n }\n for (const [ i, element ] of received.entries()) {\n if (!objectsEqual(element, expected[i])) {\n return false;\n }\n }\n } else {\n // Received == object\n if (expected === undefined || expected === null || isPrimitive(expected) || Array.isArray(expected)) {\n return false;\n }\n const keys_first = Object.keys(received);\n\n for (const key of keys_first) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS7053\n if (!objectsEqual(received[key], expected[key])) {\n return false;\n }\n }\n\n // We do this to make sure that we are not missing keys in the received object\n const keys_second = Object.keys(expected);\n for (const key of keys_second) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS7053\n if (!objectsEqual(received[key], expected[key])) {\n return false;\n }\n }\n }\n return true;\n}\n\n// If true, the value is a term. With ts annotation\nfunction isTerm(value: unknown): value is { equals: (other: { termType: unknown } | undefined | null) => boolean } {\n return value instanceof DefaultGraph ||\n value instanceof NamedNode ||\n value instanceof BlankNode ||\n value instanceof Variable ||\n value instanceof Wildcard ||\n value instanceof Quad;\n}\n\nfunction isPrimitive(value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\n"]}
1
+ {"version":3,"file":"toEqualParsedQuery.js","sourceRoot":"","sources":["toEqualParsedQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'vitest';\n\nexpect.extend({\n toEqualParsedQuery(received: unknown, expected: unknown) {\n const pass = objectsEqual(received, expected, () => false, []);\n const message = pass ?\n () =>\n `${this.utils.matcherHint('toEqualParsedQuery')\n }\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(received)}` :\n () => {\n const diffString = this.utils.diff(expected, received, {\n expand: this.expand,\n });\n return (\n `${this.utils.matcherHint('toEqualParsedQuery')\n }\\n\\n${\n diffString && diffString.includes('- Expect') ?\n `Difference:\\n\\n${diffString}` :\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(received)}`}`\n );\n };\n\n return { pass, message };\n },\n toEqualParsedQueryIgnoring(\n received: unknown,\n selector: (obj: object) => boolean,\n ignoreKeys: string[],\n expected: unknown,\n ) {\n const pass = objectsEqual(received, expected, selector, ignoreKeys);\n const message = pass ?\n () =>\n `${this.utils.matcherHint('toEqualParsedQuery')\n }\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(received)}` :\n () => {\n const diffString = this.utils.diff(expected, received, {\n expand: this.expand,\n });\n return (\n `${this.utils.matcherHint('toEqualParsedQuery')\n }\\n\\n${\n diffString && diffString.includes('- Expect') ?\n `Difference:\\n\\n${diffString}` :\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(received)}`}`\n );\n };\n\n return { pass, message };\n },\n});\n\n// We cannot use native instanceOf to test whether expected is a Term!\nfunction objectsEqual(\n received: unknown,\n expected: unknown,\n selector: (obj: object) => boolean,\n ignoreKeys: string[],\n): boolean {\n if (received === undefined || received === null || isPrimitive(received)) {\n return received === expected;\n }\n\n if (isTerm(received)) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS2345\n return received.equals(expected);\n }\n if (isTerm(expected)) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS2345\n return expected.equals(received);\n }\n // York\n // test\n if (Array.isArray(received)) {\n if (!Array.isArray(expected)) {\n return false;\n }\n if (received.length !== expected.length) {\n return false;\n }\n for (const [ i, element ] of received.entries()) {\n if (!objectsEqual(element, expected[i], selector, ignoreKeys)) {\n return false;\n }\n }\n } else {\n // Received == object\n if (expected === undefined || expected === null || isPrimitive(expected) || Array.isArray(expected)) {\n return false;\n }\n const keys_first = Object.keys(received);\n const receivedMatches = selector(received);\n\n for (const key of keys_first) {\n if (receivedMatches && ignoreKeys.includes(key)) {\n continue;\n }\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS7053\n if (!objectsEqual(received[key], expected[key], selector, ignoreKeys)) {\n return false;\n }\n }\n\n // We do this to make sure that we are not missing keys in the received object\n const keys_second = Object.keys(expected);\n for (const key of keys_second) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-expect-error TS7053\n if (!objectsEqual(received[key], expected[key], selector, ignoreKeys)) {\n return false;\n }\n }\n }\n return true;\n}\n\n// If true, the value is a term. With ts annotation\nfunction isTerm(value: unknown): value is { equals: (other: { termType: unknown } | undefined | null) => boolean } {\n return false;\n}\n\nfunction isPrimitive(value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import 'vitest';
2
2
  interface CustomMatchers<R = unknown> {
3
3
  toEqualParsedQuery: (expected: unknown) => R;
4
+ toEqualParsedQueryIgnoring: (selector: (obj: object) => boolean, keys: string[], expected: unknown) => R;
4
5
  }
5
6
  declare module 'vitest' {
6
7
  interface Assertion<T = any> extends CustomMatchers<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["vitest.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC","sourcesContent":["import 'vitest';\n\ninterface CustomMatchers<R = unknown> {\n toEqualParsedQuery: (expected: unknown) => R;\n}\n\ndeclare module 'vitest' {\n interface Assertion<T = any> extends CustomMatchers<T> {}\n interface AsymmetricMatchersContaining extends CustomMatchers {}\n}\n"]}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["vitest.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC","sourcesContent":["import 'vitest';\n\ninterface CustomMatchers<R = unknown> {\n toEqualParsedQuery: (expected: unknown) => R;\n toEqualParsedQueryIgnoring: (selector: (obj: object) => boolean, keys: string[], expected: unknown) => R;\n}\n\ndeclare module 'vitest' {\n interface Assertion<T = any> extends CustomMatchers<T> {}\n interface AsymmetricMatchersContaining extends CustomMatchers {}\n}\n"]}