@undefineds.co/drizzle-solid 0.2.13 → 0.3.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 (339) hide show
  1. package/CHANGELOG-DRAFT.md +1 -1
  2. package/README.md +163 -248
  3. package/dist/core/ast-to-sparql.d.ts +32 -25
  4. package/dist/core/ast-to-sparql.d.ts.map +1 -1
  5. package/dist/core/ast-to-sparql.js +1 -1
  6. package/dist/core/ast-to-sparql.js.map +1 -1
  7. package/dist/core/compile-time-types.d.ts +10 -7
  8. package/dist/core/compile-time-types.d.ts.map +1 -1
  9. package/dist/core/compile-time-types.js +6 -4
  10. package/dist/core/compile-time-types.js.map +1 -1
  11. package/dist/core/comunica-patch.d.ts +1 -6
  12. package/dist/core/comunica-patch.d.ts.map +1 -1
  13. package/dist/core/comunica-patch.js +16 -20
  14. package/dist/core/comunica-patch.js.map +1 -1
  15. package/dist/core/conflict-resolution.d.ts.map +1 -1
  16. package/dist/core/conflict-resolution.js +3 -2
  17. package/dist/core/conflict-resolution.js.map +1 -1
  18. package/dist/core/discovery/typeindex-discovery.d.ts.map +1 -1
  19. package/dist/core/discovery/typeindex-discovery.js +0 -2
  20. package/dist/core/discovery/typeindex-discovery.js.map +1 -1
  21. package/dist/core/execution/ldp-executor.d.ts.map +1 -1
  22. package/dist/core/execution/ldp-executor.js +2 -21
  23. package/dist/core/execution/ldp-executor.js.map +1 -1
  24. package/dist/core/execution/pod-executor.d.ts.map +1 -1
  25. package/dist/core/execution/pod-executor.js +2 -4
  26. package/dist/core/execution/pod-executor.js.map +1 -1
  27. package/dist/core/execution/sparql-strategy.d.ts +8 -40
  28. package/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  29. package/dist/core/execution/sparql-strategy.js +24 -186
  30. package/dist/core/execution/sparql-strategy.js.map +1 -1
  31. package/dist/core/execution/strategy-factory.d.ts +7 -20
  32. package/dist/core/execution/strategy-factory.d.ts.map +1 -1
  33. package/dist/core/execution/strategy-factory.js +2 -17
  34. package/dist/core/execution/strategy-factory.js.map +1 -1
  35. package/dist/core/expressions.d.ts +10 -9
  36. package/dist/core/expressions.d.ts.map +1 -1
  37. package/dist/core/expressions.js.map +1 -1
  38. package/dist/core/pod-database.d.ts +62 -18
  39. package/dist/core/pod-database.d.ts.map +1 -1
  40. package/dist/core/pod-database.js +136 -72
  41. package/dist/core/pod-database.js.map +1 -1
  42. package/dist/core/pod-dialect.d.ts +7 -1
  43. package/dist/core/pod-dialect.d.ts.map +1 -1
  44. package/dist/core/pod-dialect.js +36 -29
  45. package/dist/core/pod-dialect.js.map +1 -1
  46. package/dist/core/pod-session.d.ts +10 -9
  47. package/dist/core/pod-session.d.ts.map +1 -1
  48. package/dist/core/pod-session.js.map +1 -1
  49. package/dist/core/query-builders/delete-query-builder.d.ts +2 -2
  50. package/dist/core/query-builders/delete-query-builder.d.ts.map +1 -1
  51. package/dist/core/query-builders/delete-query-builder.js +8 -6
  52. package/dist/core/query-builders/delete-query-builder.js.map +1 -1
  53. package/dist/core/query-builders/select-query-builder.d.ts +15 -6
  54. package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  55. package/dist/core/query-builders/select-query-builder.js +217 -31
  56. package/dist/core/query-builders/select-query-builder.js.map +1 -1
  57. package/dist/core/query-builders/update-query-builder.d.ts +2 -2
  58. package/dist/core/query-builders/update-query-builder.d.ts.map +1 -1
  59. package/dist/core/query-builders/update-query-builder.js +7 -5
  60. package/dist/core/query-builders/update-query-builder.js.map +1 -1
  61. package/dist/core/query-conditions.d.ts +18 -11
  62. package/dist/core/query-conditions.d.ts.map +1 -1
  63. package/dist/core/query-conditions.js.map +1 -1
  64. package/dist/core/query-where-policy.d.ts +7 -0
  65. package/dist/core/query-where-policy.d.ts.map +1 -0
  66. package/dist/core/query-where-policy.js +83 -0
  67. package/dist/core/query-where-policy.js.map +1 -0
  68. package/dist/core/resource-resolver/base-resolver.d.ts +1 -0
  69. package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  70. package/dist/core/resource-resolver/base-resolver.js +33 -39
  71. package/dist/core/resource-resolver/base-resolver.js.map +1 -1
  72. package/dist/core/resource-resolver/document-resolver.d.ts +2 -1
  73. package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -1
  74. package/dist/core/resource-resolver/document-resolver.js +17 -46
  75. package/dist/core/resource-resolver/document-resolver.js.map +1 -1
  76. package/dist/core/runtime/pod-runtime.d.ts.map +1 -1
  77. package/dist/core/runtime/pod-runtime.js +0 -6
  78. package/dist/core/runtime/pod-runtime.js.map +1 -1
  79. package/dist/core/schema/columns.d.ts +6 -6
  80. package/dist/core/schema/columns.d.ts.map +1 -1
  81. package/dist/core/schema/columns.js +18 -18
  82. package/dist/core/schema/columns.js.map +1 -1
  83. package/dist/core/schema/defs.d.ts +4 -4
  84. package/dist/core/schema/defs.d.ts.map +1 -1
  85. package/dist/core/schema/pod-table.js +2 -2
  86. package/dist/core/schema/pod-table.js.map +1 -1
  87. package/dist/core/select-plan.d.ts +9 -7
  88. package/dist/core/select-plan.d.ts.map +1 -1
  89. package/dist/core/services/pod-services.d.ts +7 -5
  90. package/dist/core/services/pod-services.d.ts.map +1 -1
  91. package/dist/core/services/pod-services.js +7 -5
  92. package/dist/core/services/pod-services.js.map +1 -1
  93. package/dist/core/shape/generator.js +3 -3
  94. package/dist/core/shape/generator.js.map +1 -1
  95. package/dist/core/shape/manager.js +5 -5
  96. package/dist/core/shape/manager.js.map +1 -1
  97. package/dist/core/solid-n3-client.d.ts.map +1 -1
  98. package/dist/core/solid-n3-client.js +20 -9
  99. package/dist/core/solid-n3-client.js.map +1 -1
  100. package/dist/core/sparql/builder/expression-builder.d.ts +14 -16
  101. package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  102. package/dist/core/sparql/builder/expression-builder.js +177 -74
  103. package/dist/core/sparql/builder/expression-builder.js.map +1 -1
  104. package/dist/core/sparql/builder/select-builder.d.ts +1 -1
  105. package/dist/core/sparql/builder/select-builder.d.ts.map +1 -1
  106. package/dist/core/sparql/builder/select-builder.js +19 -5
  107. package/dist/core/sparql/builder/select-builder.js.map +1 -1
  108. package/dist/core/sparql/builder/update-builder.d.ts +1 -1
  109. package/dist/core/sparql/builder/update-builder.d.ts.map +1 -1
  110. package/dist/core/sparql/builder/update-builder.js +4 -15
  111. package/dist/core/sparql/builder/update-builder.js.map +1 -1
  112. package/dist/core/sparql/helpers.js +3 -3
  113. package/dist/core/sparql/helpers.js.map +1 -1
  114. package/dist/core/sparql-engine.d.ts +16 -0
  115. package/dist/core/sparql-engine.d.ts.map +1 -0
  116. package/dist/core/sparql-engine.js +128 -0
  117. package/dist/core/sparql-engine.js.map +1 -0
  118. package/dist/core/sparql-executor.d.ts +12 -7
  119. package/dist/core/sparql-executor.d.ts.map +1 -1
  120. package/dist/core/sparql-executor.js +56 -47
  121. package/dist/core/sparql-executor.js.map +1 -1
  122. package/dist/core/triple/handlers/inverse.js +4 -4
  123. package/dist/core/triple/handlers/inverse.js.map +1 -1
  124. package/dist/core/triple/handlers/uri.d.ts +1 -1
  125. package/dist/core/triple/handlers/uri.js +3 -3
  126. package/dist/core/triple/handlers/uri.js.map +1 -1
  127. package/dist/core/typeindex-manager.d.ts.map +1 -1
  128. package/dist/core/typeindex-manager.js +3 -0
  129. package/dist/core/typeindex-manager.js.map +1 -1
  130. package/dist/core/types.d.ts +3 -3
  131. package/dist/core/types.d.ts.map +1 -1
  132. package/dist/core/uri/resolver.d.ts +9 -9
  133. package/dist/core/uri/resolver.d.ts.map +1 -1
  134. package/dist/core/uri/resolver.js +51 -51
  135. package/dist/core/uri/resolver.js.map +1 -1
  136. package/dist/core/uri/types.d.ts +10 -10
  137. package/dist/core/uri/types.d.ts.map +1 -1
  138. package/dist/core/zod-integration.d.ts +9 -7
  139. package/dist/core/zod-integration.d.ts.map +1 -1
  140. package/dist/core/zod-integration.js.map +1 -1
  141. package/dist/driver.d.ts +10 -1
  142. package/dist/driver.d.ts.map +1 -1
  143. package/dist/driver.js +1 -5
  144. package/dist/driver.js.map +1 -1
  145. package/dist/esm/core/ast-to-sparql.d.ts +32 -25
  146. package/dist/esm/core/ast-to-sparql.d.ts.map +1 -1
  147. package/dist/esm/core/ast-to-sparql.js +1 -1
  148. package/dist/esm/core/ast-to-sparql.js.map +1 -1
  149. package/dist/esm/core/compile-time-types.d.ts +10 -7
  150. package/dist/esm/core/compile-time-types.d.ts.map +1 -1
  151. package/dist/esm/core/compile-time-types.js +6 -4
  152. package/dist/esm/core/compile-time-types.js.map +1 -1
  153. package/dist/esm/core/comunica-patch.d.ts +1 -6
  154. package/dist/esm/core/comunica-patch.d.ts.map +1 -1
  155. package/dist/esm/core/comunica-patch.js +13 -21
  156. package/dist/esm/core/comunica-patch.js.map +1 -1
  157. package/dist/esm/core/conflict-resolution.d.ts.map +1 -1
  158. package/dist/esm/core/conflict-resolution.js +3 -2
  159. package/dist/esm/core/conflict-resolution.js.map +1 -1
  160. package/dist/esm/core/discovery/typeindex-discovery.d.ts.map +1 -1
  161. package/dist/esm/core/discovery/typeindex-discovery.js +0 -2
  162. package/dist/esm/core/discovery/typeindex-discovery.js.map +1 -1
  163. package/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  164. package/dist/esm/core/execution/ldp-executor.js +2 -21
  165. package/dist/esm/core/execution/ldp-executor.js.map +1 -1
  166. package/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
  167. package/dist/esm/core/execution/pod-executor.js +2 -4
  168. package/dist/esm/core/execution/pod-executor.js.map +1 -1
  169. package/dist/esm/core/execution/sparql-strategy.d.ts +8 -40
  170. package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  171. package/dist/esm/core/execution/sparql-strategy.js +25 -187
  172. package/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  173. package/dist/esm/core/execution/strategy-factory.d.ts +7 -20
  174. package/dist/esm/core/execution/strategy-factory.d.ts.map +1 -1
  175. package/dist/esm/core/execution/strategy-factory.js +2 -17
  176. package/dist/esm/core/execution/strategy-factory.js.map +1 -1
  177. package/dist/esm/core/expressions.d.ts +10 -9
  178. package/dist/esm/core/expressions.d.ts.map +1 -1
  179. package/dist/esm/core/expressions.js.map +1 -1
  180. package/dist/esm/core/pod-database.d.ts +62 -18
  181. package/dist/esm/core/pod-database.d.ts.map +1 -1
  182. package/dist/esm/core/pod-database.js +136 -72
  183. package/dist/esm/core/pod-database.js.map +1 -1
  184. package/dist/esm/core/pod-dialect.d.ts +7 -1
  185. package/dist/esm/core/pod-dialect.d.ts.map +1 -1
  186. package/dist/esm/core/pod-dialect.js +37 -30
  187. package/dist/esm/core/pod-dialect.js.map +1 -1
  188. package/dist/esm/core/pod-session.d.ts +10 -9
  189. package/dist/esm/core/pod-session.d.ts.map +1 -1
  190. package/dist/esm/core/pod-session.js.map +1 -1
  191. package/dist/esm/core/query-builders/delete-query-builder.d.ts +2 -2
  192. package/dist/esm/core/query-builders/delete-query-builder.d.ts.map +1 -1
  193. package/dist/esm/core/query-builders/delete-query-builder.js +8 -6
  194. package/dist/esm/core/query-builders/delete-query-builder.js.map +1 -1
  195. package/dist/esm/core/query-builders/select-query-builder.d.ts +15 -6
  196. package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  197. package/dist/esm/core/query-builders/select-query-builder.js +218 -32
  198. package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  199. package/dist/esm/core/query-builders/update-query-builder.d.ts +2 -2
  200. package/dist/esm/core/query-builders/update-query-builder.d.ts.map +1 -1
  201. package/dist/esm/core/query-builders/update-query-builder.js +7 -5
  202. package/dist/esm/core/query-builders/update-query-builder.js.map +1 -1
  203. package/dist/esm/core/query-conditions.d.ts +18 -11
  204. package/dist/esm/core/query-conditions.d.ts.map +1 -1
  205. package/dist/esm/core/query-conditions.js.map +1 -1
  206. package/dist/esm/core/query-where-policy.d.ts +7 -0
  207. package/dist/esm/core/query-where-policy.d.ts.map +1 -0
  208. package/dist/esm/core/query-where-policy.js +78 -0
  209. package/dist/esm/core/query-where-policy.js.map +1 -0
  210. package/dist/esm/core/resource-resolver/base-resolver.d.ts +1 -0
  211. package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  212. package/dist/esm/core/resource-resolver/base-resolver.js +33 -39
  213. package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  214. package/dist/esm/core/resource-resolver/document-resolver.d.ts +2 -1
  215. package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -1
  216. package/dist/esm/core/resource-resolver/document-resolver.js +17 -46
  217. package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  218. package/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
  219. package/dist/esm/core/runtime/pod-runtime.js +0 -6
  220. package/dist/esm/core/runtime/pod-runtime.js.map +1 -1
  221. package/dist/esm/core/schema/columns.d.ts +6 -6
  222. package/dist/esm/core/schema/columns.d.ts.map +1 -1
  223. package/dist/esm/core/schema/columns.js +18 -18
  224. package/dist/esm/core/schema/columns.js.map +1 -1
  225. package/dist/esm/core/schema/defs.d.ts +4 -4
  226. package/dist/esm/core/schema/defs.d.ts.map +1 -1
  227. package/dist/esm/core/schema/pod-table.js +2 -2
  228. package/dist/esm/core/schema/pod-table.js.map +1 -1
  229. package/dist/esm/core/select-plan.d.ts +9 -7
  230. package/dist/esm/core/select-plan.d.ts.map +1 -1
  231. package/dist/esm/core/services/pod-services.d.ts +7 -5
  232. package/dist/esm/core/services/pod-services.d.ts.map +1 -1
  233. package/dist/esm/core/services/pod-services.js +7 -5
  234. package/dist/esm/core/services/pod-services.js.map +1 -1
  235. package/dist/esm/core/shape/generator.js +3 -3
  236. package/dist/esm/core/shape/generator.js.map +1 -1
  237. package/dist/esm/core/shape/manager.js +5 -5
  238. package/dist/esm/core/shape/manager.js.map +1 -1
  239. package/dist/esm/core/solid-n3-client.d.ts.map +1 -1
  240. package/dist/esm/core/solid-n3-client.js +20 -9
  241. package/dist/esm/core/solid-n3-client.js.map +1 -1
  242. package/dist/esm/core/sparql/builder/expression-builder.d.ts +14 -16
  243. package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  244. package/dist/esm/core/sparql/builder/expression-builder.js +177 -74
  245. package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  246. package/dist/esm/core/sparql/builder/select-builder.d.ts +1 -1
  247. package/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -1
  248. package/dist/esm/core/sparql/builder/select-builder.js +19 -5
  249. package/dist/esm/core/sparql/builder/select-builder.js.map +1 -1
  250. package/dist/esm/core/sparql/builder/update-builder.d.ts +1 -1
  251. package/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -1
  252. package/dist/esm/core/sparql/builder/update-builder.js +4 -15
  253. package/dist/esm/core/sparql/builder/update-builder.js.map +1 -1
  254. package/dist/esm/core/sparql/helpers.js +3 -3
  255. package/dist/esm/core/sparql/helpers.js.map +1 -1
  256. package/dist/esm/core/sparql-engine.d.ts +16 -0
  257. package/dist/esm/core/sparql-engine.d.ts.map +1 -0
  258. package/dist/esm/core/sparql-engine.js +89 -0
  259. package/dist/esm/core/sparql-engine.js.map +1 -0
  260. package/dist/esm/core/sparql-executor.d.ts +12 -7
  261. package/dist/esm/core/sparql-executor.d.ts.map +1 -1
  262. package/dist/esm/core/sparql-executor.js +56 -47
  263. package/dist/esm/core/sparql-executor.js.map +1 -1
  264. package/dist/esm/core/triple/handlers/inverse.js +4 -4
  265. package/dist/esm/core/triple/handlers/inverse.js.map +1 -1
  266. package/dist/esm/core/triple/handlers/uri.d.ts +1 -1
  267. package/dist/esm/core/triple/handlers/uri.js +3 -3
  268. package/dist/esm/core/triple/handlers/uri.js.map +1 -1
  269. package/dist/esm/core/typeindex-manager.d.ts.map +1 -1
  270. package/dist/esm/core/typeindex-manager.js +3 -0
  271. package/dist/esm/core/typeindex-manager.js.map +1 -1
  272. package/dist/esm/core/types.d.ts +3 -3
  273. package/dist/esm/core/types.d.ts.map +1 -1
  274. package/dist/esm/core/uri/resolver.d.ts +9 -9
  275. package/dist/esm/core/uri/resolver.d.ts.map +1 -1
  276. package/dist/esm/core/uri/resolver.js +51 -51
  277. package/dist/esm/core/uri/resolver.js.map +1 -1
  278. package/dist/esm/core/uri/types.d.ts +10 -10
  279. package/dist/esm/core/uri/types.d.ts.map +1 -1
  280. package/dist/esm/core/zod-integration.d.ts +9 -7
  281. package/dist/esm/core/zod-integration.d.ts.map +1 -1
  282. package/dist/esm/core/zod-integration.js.map +1 -1
  283. package/dist/esm/driver.d.ts +10 -1
  284. package/dist/esm/driver.d.ts.map +1 -1
  285. package/dist/esm/driver.js +1 -5
  286. package/dist/esm/driver.js.map +1 -1
  287. package/dist/esm/index.d.ts +3 -1
  288. package/dist/esm/index.d.ts.map +1 -1
  289. package/dist/esm/index.js +4 -2
  290. package/dist/esm/index.js.map +1 -1
  291. package/dist/esm/pod.d.ts +118 -0
  292. package/dist/esm/pod.d.ts.map +1 -0
  293. package/dist/esm/pod.js +146 -0
  294. package/dist/esm/pod.js.map +1 -0
  295. package/dist/esm/utils/find-by-iri.d.ts +4 -2
  296. package/dist/esm/utils/find-by-iri.d.ts.map +1 -1
  297. package/dist/esm/utils/find-by-iri.js +8 -8
  298. package/dist/esm/utils/find-by-iri.js.map +1 -1
  299. package/dist/esm/utils/helpers.d.ts +2 -2
  300. package/dist/esm/utils/helpers.d.ts.map +1 -1
  301. package/dist/esm/utils/rdf-helpers.d.ts +2 -2
  302. package/dist/esm/utils/rdf-helpers.d.ts.map +1 -1
  303. package/dist/esm/utils/rdf-helpers.js +9 -6
  304. package/dist/esm/utils/rdf-helpers.js.map +1 -1
  305. package/dist/esm/utils/rdf-validation.d.ts +5 -3
  306. package/dist/esm/utils/rdf-validation.d.ts.map +1 -1
  307. package/dist/esm/utils/rdf-validation.js +47 -8
  308. package/dist/esm/utils/rdf-validation.js.map +1 -1
  309. package/dist/esm/utils/webid-resolver.d.ts +1 -2
  310. package/dist/esm/utils/webid-resolver.d.ts.map +1 -1
  311. package/dist/esm/utils/webid-resolver.js +37 -31
  312. package/dist/esm/utils/webid-resolver.js.map +1 -1
  313. package/dist/index.d.ts +3 -1
  314. package/dist/index.d.ts.map +1 -1
  315. package/dist/index.js +12 -4
  316. package/dist/index.js.map +1 -1
  317. package/dist/pod.d.ts +118 -0
  318. package/dist/pod.d.ts.map +1 -0
  319. package/dist/pod.js +153 -0
  320. package/dist/pod.js.map +1 -0
  321. package/dist/utils/find-by-iri.d.ts +4 -2
  322. package/dist/utils/find-by-iri.d.ts.map +1 -1
  323. package/dist/utils/find-by-iri.js +8 -8
  324. package/dist/utils/find-by-iri.js.map +1 -1
  325. package/dist/utils/helpers.d.ts +2 -2
  326. package/dist/utils/helpers.d.ts.map +1 -1
  327. package/dist/utils/rdf-helpers.d.ts +2 -2
  328. package/dist/utils/rdf-helpers.d.ts.map +1 -1
  329. package/dist/utils/rdf-helpers.js +9 -6
  330. package/dist/utils/rdf-helpers.js.map +1 -1
  331. package/dist/utils/rdf-validation.d.ts +5 -3
  332. package/dist/utils/rdf-validation.d.ts.map +1 -1
  333. package/dist/utils/rdf-validation.js +47 -8
  334. package/dist/utils/rdf-validation.js.map +1 -1
  335. package/dist/utils/webid-resolver.d.ts +1 -2
  336. package/dist/utils/webid-resolver.d.ts.map +1 -1
  337. package/dist/utils/webid-resolver.js +37 -31
  338. package/dist/utils/webid-resolver.js.map +1 -1
  339. package/package.json +13 -4
@@ -9,14 +9,10 @@ import { LdpStrategy } from './ldp-strategy';
9
9
  import { SparqlStrategy } from './sparql-strategy';
10
10
  export class ExecutionStrategyFactoryImpl {
11
11
  constructor(deps) {
12
- // Cache strategies by mode to avoid recreating them
13
12
  this.ldpStrategy = null;
14
13
  this.sparqlStrategy = null;
15
14
  this.deps = deps;
16
15
  }
17
- /**
18
- * Get the appropriate execution strategy for a table
19
- */
20
16
  getStrategy(table) {
21
17
  const endpoint = table.getSparqlEndpoint?.();
22
18
  if (endpoint) {
@@ -24,15 +20,9 @@ export class ExecutionStrategyFactoryImpl {
24
20
  }
25
21
  return this.getLdpStrategy();
26
22
  }
27
- /**
28
- * Get LDP strategy explicitly (used for write operations in SPARQL mode)
29
- */
30
23
  getLdpStrategy() {
31
24
  return this.getLdpStrategyInternal();
32
25
  }
33
- /**
34
- * Get or create LDP strategy (singleton)
35
- */
36
26
  getLdpStrategyInternal() {
37
27
  if (!this.ldpStrategy) {
38
28
  const ldpDeps = {
@@ -48,9 +38,6 @@ export class ExecutionStrategyFactoryImpl {
48
38
  }
49
39
  return this.ldpStrategy;
50
40
  }
51
- /**
52
- * Get or create SPARQL strategy (singleton)
53
- */
54
41
  getSparqlStrategy() {
55
42
  if (!this.sparqlStrategy) {
56
43
  const sparqlDeps = {
@@ -58,15 +45,13 @@ export class ExecutionStrategyFactoryImpl {
58
45
  sparqlConverter: this.deps.sparqlConverter,
59
46
  sessionFetch: this.deps.sessionFetch,
60
47
  podUrl: this.deps.podUrl,
61
- uriResolver: this.deps.uriResolver
48
+ uriResolver: this.deps.uriResolver,
49
+ createQueryEngine: this.deps.createQueryEngine,
62
50
  };
63
51
  this.sparqlStrategy = new SparqlStrategy(sparqlDeps);
64
52
  }
65
53
  return this.sparqlStrategy;
66
54
  }
67
- /**
68
- * Determine execution mode for a table
69
- */
70
55
  static getMode(table) {
71
56
  return table.getSparqlEndpoint?.() ? 'sparql' : 'ldp';
72
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-factory.js","sourceRoot":"","sources":["../../../../src/core/execution/strategy-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAmC,MAAM,mBAAmB,CAAC;AAoBpF,MAAM,OAAO,4BAA4B;IAOvC,YAAY,IAAiC;QAJ7C,oDAAoD;QAC5C,gBAAW,GAAuB,IAAI,CAAC;QACvC,mBAAc,GAA0B,IAAI,CAAC;QAGnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAe;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,OAAO,GAA4B;gBACvC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB;gBACxD,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB;aAC7D,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,UAAU,GAA+B;gBAC7C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;aACnC,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"strategy-factory.js","sourceRoot":"","sources":["../../../../src/core/execution/strategy-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAmC,MAAM,mBAAmB,CAAC;AAqBpF,MAAM,OAAO,4BAA4B;IAMvC,YAAY,IAAiC;QAHrC,gBAAW,GAAuB,IAAI,CAAC;QACvC,mBAAc,GAA0B,IAAI,CAAC;QAGnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,KAAe;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,OAAO,GAA4B;gBACvC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB;gBACxD,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB;aAC7D,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,UAAU,GAA+B;gBAC7C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;aAC/C,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { PodColumnBase } from './schema';
2
- type AnyColumn = PodColumnBase<any, any, any, any>;
2
+ type AnyColumn = PodColumnBase;
3
+ type ExpressionValue = unknown;
3
4
  /**
4
5
  * SPARQL 表达式基类
5
6
  * 不再实现 drizzle-orm 的 SQLWrapper 接口,避免假 SQL 对象导致的问题
@@ -10,21 +11,21 @@ export declare abstract class SPARQLExpression {
10
11
  export declare class BinaryExpression extends SPARQLExpression {
11
12
  left: AnyColumn | SPARQLExpression | string;
12
13
  operator: string;
13
- right: any;
14
+ right: ExpressionValue;
14
15
  readonly type = "binary_expr";
15
- constructor(left: AnyColumn | SPARQLExpression | string, operator: string, right: any);
16
+ constructor(left: AnyColumn | SPARQLExpression | string, operator: string, right: ExpressionValue);
16
17
  }
17
18
  export declare class LogicalExpression extends SPARQLExpression {
18
19
  operator: 'AND' | 'OR';
19
- expressions: (SPARQLExpression | any)[];
20
+ expressions: (SPARQLExpression | ExpressionValue)[];
20
21
  readonly type = "logical_expr";
21
- constructor(operator: 'AND' | 'OR', expressions: (SPARQLExpression | any)[]);
22
+ constructor(operator: 'AND' | 'OR', expressions: (SPARQLExpression | ExpressionValue)[]);
22
23
  }
23
24
  export declare class UnaryExpression extends SPARQLExpression {
24
25
  operator: string;
25
- value: any;
26
+ value: ExpressionValue;
26
27
  readonly type = "unary_expr";
27
- constructor(operator: string, value: any);
28
+ constructor(operator: string, value: ExpressionValue);
28
29
  }
29
30
  export declare class SelectionAliasExpression extends SPARQLExpression {
30
31
  alias: string;
@@ -32,8 +33,8 @@ export declare class SelectionAliasExpression extends SPARQLExpression {
32
33
  }
33
34
  export declare class FunctionExpression extends SPARQLExpression {
34
35
  functionName: string;
35
- args: any[];
36
- constructor(functionName: string, args: any[]);
36
+ args: ExpressionValue[];
37
+ constructor(functionName: string, args: ExpressionValue[]);
37
38
  }
38
39
  export {};
39
40
  //# sourceMappingURL=expressions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/core/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,KAAK,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD;;;GAGG;AACH,8BAAsB,gBAAgB;IAEpC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB;CACpD;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IAG3C,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,MAAM;IAC3C,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,GAAG;IAJnB,SAAgB,IAAI,iBAAiB;gBAE5B,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,MAAM,EAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG;CAIpB;AAED,qBAAa,iBAAkB,SAAQ,gBAAgB;IAG5C,QAAQ,EAAE,KAAK,GAAG,IAAI;IACtB,WAAW,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAAC,EAAE;IAHhD,SAAgB,IAAI,kBAAkB;gBAE7B,QAAQ,EAAE,KAAK,GAAG,IAAI,EACtB,WAAW,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAAC,EAAE;CAIjD;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IAG1C,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,GAAG;IAHnB,SAAgB,IAAI,gBAAgB;gBAE3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG;CAIpB;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;IAEnD,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAIvB;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IAE7C,YAAY,EAAE,MAAM;IACpB,IAAI,EAAE,GAAG,EAAE;gBADX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,GAAG,EAAE;CAIrB"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/core/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,KAAK,SAAS,GAAG,aAAa,CAAC;AAC/B,KAAK,eAAe,GAAG,OAAO,CAAC;AAE/B;;;GAGG;AACH,8BAAsB,gBAAgB;IAEpC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB;CACpD;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IAG3C,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,MAAM;IAC3C,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,eAAe;IAJ/B,SAAgB,IAAI,iBAAiB;gBAE5B,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,MAAM,EAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe;CAIhC;AAED,qBAAa,iBAAkB,SAAQ,gBAAgB;IAG5C,QAAQ,EAAE,KAAK,GAAG,IAAI;IACtB,WAAW,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE;IAH5D,SAAgB,IAAI,kBAAkB;gBAE7B,QAAQ,EAAE,KAAK,GAAG,IAAI,EACtB,WAAW,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE;CAI7D;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IAG1C,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,eAAe;IAH/B,SAAgB,IAAI,gBAAgB;gBAE3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe;CAIhC;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;IAEnD,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAIvB;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IAE7C,YAAY,EAAE,MAAM;IACpB,IAAI,EAAE,eAAe,EAAE;gBADvB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,eAAe,EAAE;CAIjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/core/expressions.ts"],"names":[],"mappings":";AAKA;;;GAGG;AACH,MAAM,OAAgB,gBAAgB;IAAtC;QACE,gBAAgB;QACP,QAAoB,GAAG,kBAAkB,CAAC;IACrD,CAAC;CAAA;KADW,MAAM,CAAC,WAAW;AAG9B,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAEpD,YACS,IAA2C,EAC3C,QAAgB,EAChB,KAAU;QAEjB,KAAK,EAAE,CAAC;QAJD,SAAI,GAAJ,IAAI,CAAuC;QAC3C,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAK;QAJH,SAAI,GAAG,aAAa,CAAC;IAOrC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAErD,YACS,QAAsB,EACtB,WAAuC;QAE9C,KAAK,EAAE,CAAC;QAHD,aAAQ,GAAR,QAAQ,CAAc;QACtB,gBAAW,GAAX,WAAW,CAA4B;QAHhC,SAAI,GAAG,cAAc,CAAC;IAMtC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IAEnD,YACS,QAAgB,EAChB,KAAU;QAEjB,KAAK,EAAE,CAAC;QAHD,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAK;QAHH,SAAI,GAAG,YAAY,CAAC;IAMpC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,gBAAgB;IAC5D,YACS,KAAa;QAEpB,KAAK,EAAE,CAAC;QAFD,UAAK,GAAL,KAAK,CAAQ;IAGtB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YACS,YAAoB,EACpB,IAAW;QAElB,KAAK,EAAE,CAAC;QAHD,iBAAY,GAAZ,YAAY,CAAQ;QACpB,SAAI,GAAJ,IAAI,CAAO;IAGpB,CAAC;CACF"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/core/expressions.ts"],"names":[],"mappings":";AAMA;;;GAGG;AACH,MAAM,OAAgB,gBAAgB;IAAtC;QACE,gBAAgB;QACP,QAAoB,GAAG,kBAAkB,CAAC;IACrD,CAAC;CAAA;KADW,MAAM,CAAC,WAAW;AAG9B,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAEpD,YACS,IAA2C,EAC3C,QAAgB,EAChB,KAAsB;QAE7B,KAAK,EAAE,CAAC;QAJD,SAAI,GAAJ,IAAI,CAAuC;QAC3C,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAiB;QAJf,SAAI,GAAG,aAAa,CAAC;IAOrC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAErD,YACS,QAAsB,EACtB,WAAmD;QAE1D,KAAK,EAAE,CAAC;QAHD,aAAQ,GAAR,QAAQ,CAAc;QACtB,gBAAW,GAAX,WAAW,CAAwC;QAH5C,SAAI,GAAG,cAAc,CAAC;IAMtC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IAEnD,YACS,QAAgB,EAChB,KAAsB;QAE7B,KAAK,EAAE,CAAC;QAHD,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAiB;QAHf,SAAI,GAAG,YAAY,CAAC;IAMpC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,gBAAgB;IAC5D,YACS,KAAa;QAEpB,KAAK,EAAE,CAAC;QAFD,UAAK,GAAL,KAAK,CAAQ;IAGtB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YACS,YAAoB,EACpB,IAAuB;QAE9B,KAAK,EAAE,CAAC;QAHD,iBAAY,GAAZ,YAAY,CAAQ;QACpB,SAAI,GAAJ,IAAI,CAAmB;IAGhC,CAAC;CACF"}
@@ -1,10 +1,12 @@
1
1
  import { entityKind } from 'drizzle-orm';
2
2
  import { PodDialect } from './pod-dialect';
3
3
  import { PodAsyncSession, type SelectFieldMap, SelectQueryBuilder, InsertQueryBuilder, UpdateQueryBuilder, DeleteQueryBuilder } from './pod-session';
4
- import { PodTable, SolidSchema, type InferTableData, PodColumnBase, type InstantiateTableOptions } from './schema';
4
+ import { PodTable, SolidSchema, type InferTableData, type ColumnBuilderDataType, PodColumnBase, type InstantiateTableOptions } from './schema';
5
+ import { type PublicQueryCondition, type PublicWhereObject } from './query-conditions';
5
6
  import { type TableSubscribeOptions, type EntitySubscribeOptions, type Subscription } from './notifications';
6
7
  import { type FederatedError } from './federated';
7
8
  import type { DataDiscovery } from './discovery';
9
+ import type { OrderByExpression } from './order-by';
8
10
  /**
9
11
  * 初始化表选项
10
12
  */
@@ -16,6 +18,41 @@ export interface InitOptions {
16
18
  /** Shape 保存位置(容器路径或完整 URL),默认为 Pod 根目录下的 /shapes/ */
17
19
  shapeLocation?: string;
18
20
  }
21
+ type GenericPodTable = PodTable;
22
+ type QueryOrderBy = {
23
+ column: PodColumnBase | string | OrderByExpression;
24
+ direction?: 'asc' | 'desc';
25
+ };
26
+ type QueryExactOptions = {
27
+ columns?: SelectFieldMap;
28
+ with?: Record<string, boolean | {
29
+ table?: GenericPodTable;
30
+ }>;
31
+ };
32
+ type EntityLocator = Record<string, unknown>;
33
+ type QueryFindManyOptions = {
34
+ where?: PublicWhereObject | PublicQueryCondition;
35
+ columns?: SelectFieldMap;
36
+ limit?: number;
37
+ offset?: number;
38
+ orderBy?: QueryOrderBy[] | QueryOrderBy;
39
+ with?: Record<string, boolean | {
40
+ table?: GenericPodTable;
41
+ }>;
42
+ };
43
+ type QueryTableHelper<TTable extends GenericPodTable = GenericPodTable> = {
44
+ findMany<T = InferTableData<TTable>>(options?: QueryFindManyOptions): Promise<T[]>;
45
+ findFirst<T = InferTableData<TTable>>(options?: QueryFindManyOptions): Promise<T | null>;
46
+ findByLocator<T = InferTableData<TTable>>(locator: EntityLocator, options?: QueryExactOptions): Promise<T | null>;
47
+ findByIri<T = InferTableData<TTable>>(iri: string, options?: QueryExactOptions): Promise<T | null>;
48
+ count(options?: {
49
+ where?: PublicWhereObject | PublicQueryCondition;
50
+ }): Promise<number>;
51
+ };
52
+ type QueryProxy<TSchema extends Record<string, unknown>> = {
53
+ [K in keyof TSchema as TSchema[K] extends GenericPodTable ? K : never]: TSchema[K] extends GenericPodTable ? QueryTableHelper<TSchema[K]> : never;
54
+ };
55
+ type GenericPodColumn = PodColumnBase<ColumnBuilderDataType, boolean, boolean, ColumnBuilderDataType | null>;
19
56
  export declare class PodDatabase<TSchema extends Record<string, unknown> = Record<string, never>> {
20
57
  dialect: PodDialect;
21
58
  session: PodAsyncSession;
@@ -82,17 +119,21 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
82
119
  * });
83
120
  * ```
84
121
  */
85
- createTable<TColumns extends Record<string, PodColumnBase<any, any, any, any>>>(schema: SolidSchema<TColumns>, options: InstantiateTableOptions): PodTable<TColumns>;
86
- select<TTable extends PodTable<any>>(fields?: SelectFieldMap): SelectQueryBuilder<TTable>;
87
- insert<TTable extends PodTable<any>>(table: TTable): InsertQueryBuilder<TTable>;
88
- update<TTable extends PodTable<any>>(table: TTable): UpdateQueryBuilder<TTable>;
89
- delete<TTable extends PodTable<any>>(table: TTable): DeleteQueryBuilder<TTable>;
122
+ createTable<TColumns extends Record<string, PodColumnBase>>(schema: SolidSchema<TColumns>, options: InstantiateTableOptions): PodTable<TColumns>;
123
+ select<TTable extends PodTable>(fields?: SelectFieldMap): SelectQueryBuilder<TTable>;
124
+ insert<TTable extends PodTable>(table: TTable): InsertQueryBuilder<TTable>;
125
+ update<TTable extends PodTable>(table: TTable): UpdateQueryBuilder<TTable>;
126
+ delete<TTable extends PodTable>(table: TTable): DeleteQueryBuilder<TTable>;
90
127
  execute(query: string): Promise<unknown[]>;
91
128
  executeSPARQL(query: string): Promise<unknown[]>;
92
129
  batch<TOperations extends readonly unknown[]>(operations: TOperations): Promise<{
93
130
  [K in keyof TOperations]: Awaited<TOperations[K]>;
94
131
  }>;
95
- findFirst<TTable extends PodTable<any>>(table: TTable, where?: Record<string, unknown>): Promise<InferTableData<TTable> | null>;
132
+ findFirst<TTable extends PodTable>(table: TTable, where?: PublicWhereObject): Promise<InferTableData<TTable> | null>;
133
+ private getLocatorTemplate;
134
+ private getRequiredLocatorKeys;
135
+ private resolveLocatorSubject;
136
+ findByLocator<TTable extends PodTable>(table: TTable, locator: EntityLocator): Promise<InferTableData<TTable> | null>;
96
137
  /**
97
138
  * 通过完整 IRI 查询单个实体
98
139
  *
@@ -112,7 +153,7 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
112
153
  * db.findByIri(agentTable, contact.entityUri)
113
154
  * ```
114
155
  */
115
- findByIri<TTable extends PodTable<any>>(table: TTable, iri: string): Promise<InferTableData<TTable> | null>;
156
+ findByIri<TTable extends PodTable>(table: TTable, iri: string): Promise<InferTableData<TTable> | null>;
116
157
  /**
117
158
  * 解析 IRI 为文档 URL 和 fragment
118
159
  */
@@ -147,7 +188,7 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
147
188
  * unsubscribe()
148
189
  * ```
149
190
  */
150
- subscribeByIri<TTable extends PodTable<any>>(table: TTable, iri: string, options: EntitySubscribeOptions<InferTableData<TTable>>): Promise<() => void>;
191
+ subscribeByIri<TTable extends PodTable>(table: TTable, iri: string, options: EntitySubscribeOptions<InferTableData<TTable>>): Promise<() => void>;
151
192
  /**
152
193
  * 通过完整 IRI 更新单个实体
153
194
  *
@@ -165,7 +206,8 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
165
206
  * )
166
207
  * ```
167
208
  */
168
- updateByIri<TTable extends PodTable<any>>(table: TTable, iri: string, data: Partial<Omit<InferTableData<TTable>, '@id' | 'id'>>): Promise<InferTableData<TTable> | null>;
209
+ updateByIri<TTable extends PodTable>(table: TTable, iri: string, data: Partial<Omit<InferTableData<TTable>, '@id' | 'id'>>): Promise<InferTableData<TTable> | null>;
210
+ updateByLocator<TTable extends PodTable>(table: TTable, locator: EntityLocator, data: Partial<Omit<InferTableData<TTable>, '@id' | 'id'>>): Promise<InferTableData<TTable> | null>;
169
211
  /**
170
212
  * 通过完整 IRI 删除单个实体
171
213
  *
@@ -181,7 +223,8 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
181
223
  * )
182
224
  * ```
183
225
  */
184
- deleteByIri<TTable extends PodTable<any>>(table: TTable, iri: string): Promise<boolean>;
226
+ deleteByIri<TTable extends PodTable>(table: TTable, iri: string): Promise<boolean>;
227
+ deleteByLocator<TTable extends PodTable>(table: TTable, locator: EntityLocator): Promise<boolean>;
185
228
  transaction<T>(transaction: (tx: PodDatabase<TSchema>) => Promise<T>): Promise<T>;
186
229
  getDialect(): PodDialect;
187
230
  getSession(): PodAsyncSession;
@@ -222,7 +265,7 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
222
265
  * subscription.unsubscribe();
223
266
  * ```
224
267
  */
225
- subscribe<TTable extends PodTable<any>>(table: TTable, options: TableSubscribeOptions): Promise<Subscription>;
268
+ subscribe<TTable extends PodTable>(table: TTable, options: TableSubscribeOptions): Promise<Subscription>;
226
269
  /**
227
270
  * 解析表对应的订阅主题 URL
228
271
  * @param table 表定义
@@ -365,21 +408,22 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
365
408
  removeSource(source: string): void;
366
409
  getSources(): string[];
367
410
  addSourcesFromTypeIndex(): Promise<void>;
368
- init<TTable extends PodTable<any>>(tables: TTable | TTable[], options?: InitOptions): Promise<void>;
369
- init<TTable extends PodTable<any>>(...tables: Array<TTable | TTable[]>): Promise<void>;
411
+ init<TColumns extends Record<string, GenericPodColumn>, TTable extends PodTable<TColumns>>(tables: TTable | TTable[], options?: InitOptions): Promise<void>;
412
+ init<TColumns extends Record<string, GenericPodColumn>, TTable extends PodTable<TColumns>>(...tables: Array<TTable | TTable[]>): Promise<void>;
370
413
  private queryProxy?;
371
- get query(): Record<string, any>;
414
+ get query(): QueryProxy<TSchema>;
372
415
  private buildQueryProxy;
373
416
  private eagerLoadWith;
374
417
  private dedupeBySubject;
375
418
  private resolveIdFromRow;
376
419
  private resolveParentKey;
377
420
  private resolveIriFromRow;
378
- private collectReferenceLookupKeys;
379
- private normalizeReferenceValue;
421
+ private collectLinkLookupKeys;
422
+ private normalizeLinkValue;
380
423
  private normalizeLiteralValue;
381
- private collectInverseReferenceValues;
424
+ private collectInverseLinkValues;
382
425
  private groupRowsByIri;
383
426
  private extractFragment;
384
427
  }
428
+ export {};
385
429
  //# sourceMappingURL=pod-database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pod-database.d.ts","sourceRoot":"","sources":["../../../src/core/pod-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pod-database.d.ts","sourceRoot":"","sources":["../../../src/core/pod-database.ts"],"names":[],"mappings":"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"}