@rocicorp/zero 0.25.0-canary.18 → 0.25.0-canary.21

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 (228) hide show
  1. package/out/replicache/src/persist/idb-databases-store.d.ts +1 -0
  2. package/out/replicache/src/persist/idb-databases-store.d.ts.map +1 -1
  3. package/out/replicache/src/persist/idb-databases-store.js +13 -2
  4. package/out/replicache/src/persist/idb-databases-store.js.map +1 -1
  5. package/out/zero/package.json.js +1 -1
  6. package/out/zero/src/adapters/drizzle.d.ts +1 -1
  7. package/out/zero/src/adapters/drizzle.d.ts.map +1 -1
  8. package/out/zero/src/adapters/drizzle.js +4 -1
  9. package/out/zero/src/bindings.d.ts +2 -0
  10. package/out/zero/src/bindings.d.ts.map +1 -0
  11. package/out/zero/src/bindings.js +27 -0
  12. package/out/zero/src/bindings.js.map +1 -0
  13. package/out/zero/src/react.js +2 -4
  14. package/out/zero/src/react.js.map +1 -1
  15. package/out/zero/src/solid.js +2 -2
  16. package/out/zero/src/zero.js +3 -5
  17. package/out/zero-cache/src/auth/read-authorizer.d.ts +1 -1
  18. package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
  19. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  20. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  21. package/out/zero-cache/src/auth/write-authorizer.js +5 -4
  22. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  23. package/out/zero-cache/src/config/zero-config.d.ts +24 -0
  24. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  25. package/out/zero-cache/src/config/zero-config.js +23 -4
  26. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  27. package/out/zero-cache/src/server/anonymous-otel-start.d.ts +10 -1
  28. package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +1 -1
  29. package/out/zero-cache/src/server/anonymous-otel-start.js +34 -18
  30. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  31. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  32. package/out/zero-cache/src/server/syncer.js +1 -0
  33. package/out/zero-cache/src/server/syncer.js.map +1 -1
  34. package/out/zero-cache/src/services/analyze.d.ts +1 -1
  35. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  36. package/out/zero-cache/src/services/analyze.js +5 -5
  37. package/out/zero-cache/src/services/analyze.js.map +1 -1
  38. package/out/zero-cache/src/services/mutagen/pusher.d.ts +4 -4
  39. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +2 -1
  40. package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +1 -1
  41. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +26 -13
  42. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -1
  43. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +1 -1
  44. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  45. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +39 -15
  46. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  47. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +4 -1
  48. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  49. package/out/zero-cache/src/services/view-syncer/cvr-store.js +31 -9
  50. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  51. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +3 -0
  52. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  53. package/out/zero-cache/src/services/view-syncer/cvr.js +11 -0
  54. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  55. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +1 -1
  56. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  57. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -2
  58. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  59. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +6 -6
  60. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  61. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +1 -0
  62. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  63. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +23 -10
  64. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  65. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/view-syncer/schema/init.js +31 -1
  67. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  68. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +1 -0
  69. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/view-syncer/view-syncer.js +20 -16
  71. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  72. package/out/zero-cache/src/workers/connect-params.d.ts +1 -0
  73. package/out/zero-cache/src/workers/connect-params.d.ts.map +1 -1
  74. package/out/zero-cache/src/workers/connect-params.js +2 -0
  75. package/out/zero-cache/src/workers/connect-params.js.map +1 -1
  76. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  77. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +2 -0
  78. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  79. package/out/zero-client/src/client/bindings.d.ts +12 -41
  80. package/out/zero-client/src/client/bindings.d.ts.map +1 -1
  81. package/out/zero-client/src/client/custom.d.ts +3 -0
  82. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  83. package/out/zero-client/src/client/custom.js +3 -0
  84. package/out/zero-client/src/client/custom.js.map +1 -1
  85. package/out/zero-client/src/client/delete-clients-manager.d.ts +1 -1
  86. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  87. package/out/zero-client/src/client/delete-clients-manager.js +30 -3
  88. package/out/zero-client/src/client/delete-clients-manager.js.map +1 -1
  89. package/out/zero-client/src/client/make-replicache-mutators.js +1 -3
  90. package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -1
  91. package/out/zero-client/src/client/options.d.ts +1 -1
  92. package/out/zero-client/src/client/options.js.map +1 -1
  93. package/out/zero-client/src/client/version.js +1 -1
  94. package/out/zero-client/src/client/zero.d.ts +1 -0
  95. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  96. package/out/zero-client/src/client/zero.js +43 -26
  97. package/out/zero-client/src/client/zero.js.map +1 -1
  98. package/out/zero-client/src/mod.d.ts +6 -4
  99. package/out/zero-client/src/mod.d.ts.map +1 -1
  100. package/out/zero-protocol/src/analyze-query-result.d.ts +2 -2
  101. package/out/zero-protocol/src/analyze-query-result.js +2 -2
  102. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  103. package/out/zero-protocol/src/down.d.ts +2 -2
  104. package/out/zero-protocol/src/inspect-down.d.ts +6 -6
  105. package/out/zero-protocol/src/inspect-up.d.ts +4 -4
  106. package/out/zero-protocol/src/inspect-up.js +1 -1
  107. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  108. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  109. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  110. package/out/zero-protocol/src/protocol-version.js +1 -1
  111. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  112. package/out/zero-protocol/src/up.d.ts +1 -1
  113. package/out/zero-react/src/bindings.d.ts +2 -0
  114. package/out/zero-react/src/bindings.d.ts.map +1 -0
  115. package/out/zero-react/src/mod.d.ts +1 -10
  116. package/out/zero-react/src/mod.d.ts.map +1 -1
  117. package/out/zero-react/src/{use-zero-connection-state.d.ts → use-connection-state.d.ts} +3 -3
  118. package/out/zero-react/src/use-connection-state.d.ts.map +1 -0
  119. package/out/zero-react/src/{use-zero-connection-state.js → use-connection-state.js} +3 -3
  120. package/out/zero-react/src/use-connection-state.js.map +1 -0
  121. package/out/zero-react/src/use-query.d.ts +2 -10
  122. package/out/zero-react/src/use-query.d.ts.map +1 -1
  123. package/out/zero-react/src/use-query.js +24 -22
  124. package/out/zero-react/src/use-query.js.map +1 -1
  125. package/out/zero-react/src/use-zero-online.d.ts +1 -1
  126. package/out/zero-react/src/use-zero-online.js.map +1 -1
  127. package/out/zero-react/src/zero-provider.d.ts +1 -5
  128. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  129. package/out/zero-react/src/zero-provider.js +16 -0
  130. package/out/zero-react/src/zero-provider.js.map +1 -1
  131. package/out/zero-react/src/zero.d.ts +2 -0
  132. package/out/zero-react/src/zero.d.ts.map +1 -0
  133. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  134. package/out/zero-schema/src/permissions.js +2 -8
  135. package/out/zero-schema/src/permissions.js.map +1 -1
  136. package/out/zero-server/src/custom.d.ts +3 -0
  137. package/out/zero-server/src/custom.d.ts.map +1 -1
  138. package/out/zero-server/src/custom.js +3 -0
  139. package/out/zero-server/src/custom.js.map +1 -1
  140. package/out/zero-solid/src/bindings.d.ts +2 -0
  141. package/out/zero-solid/src/bindings.d.ts.map +1 -0
  142. package/out/zero-solid/src/mod.d.ts +1 -8
  143. package/out/zero-solid/src/mod.d.ts.map +1 -1
  144. package/out/zero-solid/src/solid-view.d.ts +1 -8
  145. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  146. package/out/zero-solid/src/solid-view.js +31 -0
  147. package/out/zero-solid/src/solid-view.js.map +1 -1
  148. package/out/zero-solid/src/{use-zero-connection-state.d.ts → use-connection-state.d.ts} +3 -3
  149. package/out/zero-solid/src/use-connection-state.d.ts.map +1 -0
  150. package/out/zero-solid/src/{use-zero-connection-state.js → use-connection-state.js} +3 -3
  151. package/out/zero-solid/src/use-connection-state.js.map +1 -0
  152. package/out/zero-solid/src/use-query.d.ts +1 -7
  153. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  154. package/out/zero-solid/src/use-query.js +43 -12
  155. package/out/zero-solid/src/use-query.js.map +1 -1
  156. package/out/zero-solid/src/use-zero-online.d.ts +1 -1
  157. package/out/zero-solid/src/use-zero-online.js.map +1 -1
  158. package/out/zero-solid/src/use-zero.d.ts +1 -5
  159. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  160. package/out/zero-solid/src/use-zero.js +16 -0
  161. package/out/zero-solid/src/use-zero.js.map +1 -1
  162. package/out/zero-solid/src/zero.d.ts +2 -0
  163. package/out/zero-solid/src/zero.d.ts.map +1 -0
  164. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
  165. package/out/zql/src/ivm/flipped-join.js +29 -27
  166. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  167. package/out/zql/src/ivm/join-utils.d.ts +7 -1
  168. package/out/zql/src/ivm/join-utils.d.ts.map +1 -1
  169. package/out/zql/src/ivm/join-utils.js +12 -0
  170. package/out/zql/src/ivm/join-utils.js.map +1 -1
  171. package/out/zql/src/ivm/join.d.ts.map +1 -1
  172. package/out/zql/src/ivm/join.js +11 -25
  173. package/out/zql/src/ivm/join.js.map +1 -1
  174. package/out/zql/src/mutate/custom.d.ts +3 -0
  175. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  176. package/out/zql/src/mutate/custom.js.map +1 -1
  177. package/out/zql/src/mutate/mutator-registry.d.ts +2 -2
  178. package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -1
  179. package/out/zql/src/mutate/mutator-registry.js.map +1 -1
  180. package/out/zql/src/mutate/mutator.d.ts +1 -1
  181. package/out/zql/src/mutate/mutator.d.ts.map +1 -1
  182. package/out/zql/src/mutate/mutator.js.map +1 -1
  183. package/out/zql/src/planner/planner-debug.d.ts +3 -3
  184. package/out/zql/src/planner/planner-debug.js.map +1 -1
  185. package/out/zql/src/query/create-builder.d.ts +2 -1
  186. package/out/zql/src/query/create-builder.d.ts.map +1 -1
  187. package/out/zql/src/query/create-builder.js +3 -0
  188. package/out/zql/src/query/create-builder.js.map +1 -1
  189. package/out/zql/src/query/query-impl.d.ts +39 -6
  190. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  191. package/out/zql/src/query/query-impl.js +414 -23
  192. package/out/zql/src/query/query-impl.js.map +1 -1
  193. package/out/zql/src/query/query-registry.d.ts +2 -2
  194. package/out/zql/src/query/query-registry.d.ts.map +1 -1
  195. package/out/zql/src/query/query-registry.js.map +1 -1
  196. package/out/zql/src/query/runnable-query-impl.d.ts +2 -2
  197. package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -1
  198. package/out/zql/src/query/runnable-query-impl.js +2 -2
  199. package/out/zql/src/query/runnable-query-impl.js.map +1 -1
  200. package/out/zql/src/query/schema-query.d.ts +4 -2
  201. package/out/zql/src/query/schema-query.d.ts.map +1 -1
  202. package/out/zql/src/query/static-query.d.ts +2 -16
  203. package/out/zql/src/query/static-query.d.ts.map +1 -1
  204. package/out/zql/src/query/static-query.js +10 -37
  205. package/out/zql/src/query/static-query.js.map +1 -1
  206. package/package.json +7 -3
  207. package/out/zero-client/src/client/bindings.js +0 -33
  208. package/out/zero-client/src/client/bindings.js.map +0 -1
  209. package/out/zero-react/src/components/inspector.d.ts +0 -9
  210. package/out/zero-react/src/components/inspector.d.ts.map +0 -1
  211. package/out/zero-react/src/components/inspector.js +0 -38
  212. package/out/zero-react/src/components/inspector.js.map +0 -1
  213. package/out/zero-react/src/components/mark-icon.d.ts +0 -3
  214. package/out/zero-react/src/components/mark-icon.d.ts.map +0 -1
  215. package/out/zero-react/src/components/mark-icon.js +0 -28
  216. package/out/zero-react/src/components/mark-icon.js.map +0 -1
  217. package/out/zero-react/src/components/zero-inspector.d.ts +0 -8
  218. package/out/zero-react/src/components/zero-inspector.d.ts.map +0 -1
  219. package/out/zero-react/src/components/zero-inspector.js +0 -44
  220. package/out/zero-react/src/components/zero-inspector.js.map +0 -1
  221. package/out/zero-react/src/use-zero-connection-state.d.ts.map +0 -1
  222. package/out/zero-react/src/use-zero-connection-state.js.map +0 -1
  223. package/out/zero-solid/src/use-zero-connection-state.d.ts.map +0 -1
  224. package/out/zero-solid/src/use-zero-connection-state.js.map +0 -1
  225. package/out/zql/src/query/abstract-query.d.ts +0 -42
  226. package/out/zql/src/query/abstract-query.d.ts.map +0 -1
  227. package/out/zql/src/query/abstract-query.js +0 -405
  228. package/out/zql/src/query/abstract-query.js.map +0 -1
@@ -1,11 +1,44 @@
1
- import { type AST, type System } from '../../../zero-protocol/src/ast.ts';
1
+ import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
2
+ import { type AST, type Parameter, type SimpleOperator, type System } from '../../../zero-protocol/src/ast.ts';
2
3
  import type { Schema } from '../../../zero-types/src/schema.ts';
3
- import type { Format } from '../ivm/view.ts';
4
- import { AbstractQuery } from './abstract-query.ts';
4
+ import type { Format, ViewFactory } from '../ivm/view.ts';
5
+ import { type ExpressionFactory, ExpressionBuilder } from './expression.ts';
5
6
  import type { CustomQueryID } from './named.ts';
6
- import { type PullRow, type Query } from './query.ts';
7
+ import { type QueryInternals, queryInternalsTag } from './query-internals.ts';
8
+ import type { AnyQuery, ExistsOptions, GetFilterType, HumanReadable, PreloadOptions, PullRow, Query, RunOptions } from './query.ts';
9
+ import type { TTL } from './ttl.ts';
10
+ import type { TypedView } from './typed-view.ts';
11
+ type GetFilterTypeAny = GetFilterType<any, any, any>;
12
+ type NewQueryFunction<TSchema extends Schema> = <TTable extends keyof TSchema['tables'] & string, TReturn>(this: unknown, tableName: TTable, ast: AST, format: Format, customQueryID: CustomQueryID | undefined, currentJunction: string | undefined) => QueryImpl<TTable, TSchema, TReturn>;
7
13
  export declare function newQuery<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema>(schema: TSchema, table: TTable): Query<TTable, TSchema>;
8
- export declare class QueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn = PullRow<TTable, TSchema>> extends AbstractQuery<TTable, TSchema, TReturn> implements Query<TTable, TSchema, TReturn> {
9
- constructor(schema: TSchema, tableName: TTable, ast?: AST, format?: Format, system?: System, customQueryID?: CustomQueryID, currentJunction?: string);
14
+ export declare function newQueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn = PullRow<TTable, TSchema>>(schema: TSchema, tableName: TTable, ast: AST, format: Format, system: System): QueryImpl<TTable, TSchema, TReturn>;
15
+ export declare class QueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn = PullRow<TTable, TSchema>> implements Query<TTable, TSchema, TReturn>, QueryInternals<TTable, TSchema, TReturn> {
16
+ #private;
17
+ readonly [queryInternalsTag] = true;
18
+ readonly format: Format;
19
+ readonly customQueryID: CustomQueryID | undefined;
20
+ constructor(schema: TSchema, tableName: TTable, ast: AST, format: Format, system: System, customQueryID: CustomQueryID | undefined, currentJunction: string | undefined, newQuery: NewQueryFunction<TSchema>);
21
+ run(_options?: RunOptions): Promise<HumanReadable<TReturn>>;
22
+ preload(_options?: PreloadOptions): {
23
+ cleanup: () => void;
24
+ complete: Promise<void>;
25
+ };
26
+ materialize(ttl?: TTL): TypedView<HumanReadable<TReturn>>;
27
+ materialize<T>(factory: ViewFactory<TTable, TSchema, TReturn, T>, ttl?: TTL): T;
28
+ nameAndArgs(name: string, args: ReadonlyArray<ReadonlyJSONValue>): Query<TTable, TSchema, TReturn>;
29
+ hash(): string;
30
+ one: () => Query<TTable, TSchema, TReturn | undefined>;
31
+ whereExists: (relationship: string, cbOrOptions?: ((q: AnyQuery) => AnyQuery) | ExistsOptions, options?: ExistsOptions) => Query<TTable, TSchema, TReturn>;
32
+ related: (relationship: string, cb?: (q: AnyQuery) => AnyQuery) => Query<TTable, TSchema, any>;
33
+ where: (fieldOrExpressionFactory: string | ExpressionFactory<TTable, TSchema>, opOrValue?: SimpleOperator | GetFilterTypeAny | Parameter, value?: GetFilterTypeAny | Parameter) => Query<TTable, TSchema, TReturn>;
34
+ start: (row: Partial<Record<string, ReadonlyJSONValue | undefined>>, opts?: {
35
+ inclusive: boolean;
36
+ }) => Query<TTable, TSchema, TReturn>;
37
+ limit: (limit: number) => Query<TTable, TSchema, TReturn>;
38
+ orderBy: <TSelector extends keyof TSchema["tables"][TTable]["columns"]>(field: TSelector, direction: "asc" | "desc") => Query<TTable, TSchema, TReturn>;
39
+ get ast(): AST;
40
+ expressionBuilder(): ExpressionBuilder<string, Schema>;
10
41
  }
42
+ export declare function asQueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn>(q: Query<TTable, TSchema, TReturn>): QueryImpl<TTable, TSchema, TReturn>;
43
+ export {};
11
44
  //# sourceMappingURL=query-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAE,KAAK,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAE9D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,KAAK,EAAC,MAAM,YAAY,CAAC;AAEpD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,SAAS,MAAM,EACtB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAExD;AAED,qBAAa,SAAS,CAClB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,SAAS,MAAM,EACtB,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAEpC,SAAQ,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAC9C,YAAW,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBAGxC,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,GAAwB,EAC7B,MAAM,GAAE,MAAsB,EAC9B,MAAM,GAAE,MAAiB,EACzB,aAAa,CAAC,EAAE,aAAa,EAC7B,eAAe,CAAC,EAAE,MAAM;CAsB3B"}
1
+ {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,424 @@
1
- import "../../../zero-protocol/src/ast.js";
1
+ import { assert } from "../../../shared/src/asserts.js";
2
+ import { SUBQ_PREFIX } from "../../../zero-protocol/src/ast.js";
3
+ import { hashOfAST } from "../../../zero-protocol/src/query-hash.js";
4
+ import { NotImplementedError } from "../error.js";
2
5
  import { defaultFormat } from "../../../zero-types/src/format.js";
3
- import { AbstractQuery } from "./abstract-query.js";
6
+ import { cmp, and, simplifyCondition, ExpressionBuilder } from "./expression.js";
7
+ import { queryInternalsTag } from "./query-internals.js";
4
8
  function newQuery(schema, table) {
5
- return new QueryImpl(schema, table, { table }, defaultFormat, void 0);
6
- }
7
- class QueryImpl extends AbstractQuery {
8
- constructor(schema, tableName, ast = { table: tableName }, format = defaultFormat, system = "client", customQueryID, currentJunction) {
9
- super(
10
- schema,
11
- tableName,
12
- ast,
13
- format,
14
- system,
15
- customQueryID,
16
- currentJunction,
17
- (tableName2, ast2, format2, customQueryID2, currentJunction2) => new QueryImpl(
18
- schema,
19
- tableName2,
20
- ast2,
21
- format2,
22
- system,
23
- customQueryID2,
24
- currentJunction2
9
+ return newQueryImpl(schema, table, { table }, defaultFormat, "client");
10
+ }
11
+ function newQueryImpl(schema, tableName, ast, format, system) {
12
+ const inner = (tableName2, ast2, format2, customQueryID, currentJunction) => new QueryImpl(
13
+ schema,
14
+ tableName2,
15
+ ast2,
16
+ format2,
17
+ system,
18
+ customQueryID,
19
+ currentJunction,
20
+ inner
21
+ );
22
+ return inner(tableName, ast, format, void 0, void 0);
23
+ }
24
+ class QueryImpl {
25
+ [queryInternalsTag] = true;
26
+ #schema;
27
+ #tableName;
28
+ #ast;
29
+ format;
30
+ #hash = "";
31
+ #system;
32
+ #currentJunction;
33
+ customQueryID;
34
+ #newQuery;
35
+ constructor(schema, tableName, ast, format, system, customQueryID, currentJunction, newQuery2) {
36
+ this.#schema = schema;
37
+ this.#tableName = tableName;
38
+ this.#ast = ast;
39
+ this.format = format;
40
+ this.#system = system;
41
+ this.#currentJunction = currentJunction;
42
+ this.customQueryID = customQueryID;
43
+ this.#newQuery = newQuery2;
44
+ }
45
+ run(_options) {
46
+ throwQueryNotRunnable();
47
+ }
48
+ preload(_options) {
49
+ throwQueryNotRunnable();
50
+ }
51
+ materialize(_factoryOrTTL, _ttl) {
52
+ throwQueryNotRunnable();
53
+ }
54
+ nameAndArgs(name, args) {
55
+ return this.#newQuery(
56
+ this.#tableName,
57
+ this.#ast,
58
+ this.format,
59
+ {
60
+ name,
61
+ args
62
+ },
63
+ this.#currentJunction
64
+ );
65
+ }
66
+ hash() {
67
+ if (!this.#hash) {
68
+ this.#hash = hashOfAST(this.#ast);
69
+ }
70
+ return this.#hash;
71
+ }
72
+ one = () => this.#newQuery(
73
+ this.#tableName,
74
+ {
75
+ ...this.#ast,
76
+ limit: 1
77
+ },
78
+ {
79
+ ...this.format,
80
+ singular: true
81
+ },
82
+ this.customQueryID,
83
+ this.#currentJunction
84
+ );
85
+ whereExists = (relationship, cbOrOptions, options) => {
86
+ const cb = typeof cbOrOptions === "function" ? cbOrOptions : void 0;
87
+ const opts = typeof cbOrOptions === "function" ? options : cbOrOptions;
88
+ const flipped = opts?.flip;
89
+ return this.where(
90
+ ({ exists }) => exists(
91
+ relationship,
92
+ cb,
93
+ flipped !== void 0 ? { flip: flipped } : void 0
25
94
  )
26
95
  );
96
+ };
97
+ related = (relationship, cb) => {
98
+ if (relationship.startsWith(SUBQ_PREFIX)) {
99
+ throw new Error(
100
+ `Relationship names may not start with "${SUBQ_PREFIX}". That is a reserved prefix.`
101
+ );
102
+ }
103
+ cb = cb ?? ((q) => q);
104
+ const related = this.#schema.relationships[this.#tableName][relationship];
105
+ assert(related, "Invalid relationship");
106
+ if (isOneHop(related)) {
107
+ const { destSchema, destField, sourceField, cardinality } = related[0];
108
+ const q = this.#newQuery(
109
+ destSchema,
110
+ {
111
+ table: destSchema,
112
+ alias: relationship
113
+ },
114
+ {
115
+ relationships: {},
116
+ singular: cardinality === "one"
117
+ },
118
+ this.customQueryID,
119
+ void 0
120
+ );
121
+ const subQuery = asQueryImpl(cb(q));
122
+ assert(
123
+ isCompoundKey(sourceField),
124
+ "The source of a relationship must specify at last 1 field"
125
+ );
126
+ assert(
127
+ isCompoundKey(destField),
128
+ "The destination of a relationship must specify at last 1 field"
129
+ );
130
+ assert(
131
+ sourceField.length === destField.length,
132
+ "The source and destination of a relationship must have the same number of fields"
133
+ );
134
+ return this.#newQuery(
135
+ this.#tableName,
136
+ {
137
+ ...this.#ast,
138
+ related: [
139
+ ...this.#ast.related ?? [],
140
+ {
141
+ system: this.#system,
142
+ correlation: {
143
+ parentField: sourceField,
144
+ childField: destField
145
+ },
146
+ subquery: subQuery.#ast
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ ...this.format,
152
+ relationships: {
153
+ ...this.format.relationships,
154
+ [relationship]: subQuery.format
155
+ }
156
+ },
157
+ this.customQueryID,
158
+ this.#currentJunction
159
+ );
160
+ }
161
+ if (isTwoHop(related)) {
162
+ const [firstRelation, secondRelation] = related;
163
+ const { destSchema } = secondRelation;
164
+ const junctionSchema = firstRelation.destSchema;
165
+ const sq = asQueryImpl(
166
+ cb(
167
+ this.#newQuery(
168
+ destSchema,
169
+ {
170
+ table: destSchema,
171
+ alias: relationship
172
+ },
173
+ {
174
+ relationships: {},
175
+ singular: secondRelation.cardinality === "one"
176
+ },
177
+ this.customQueryID,
178
+ relationship
179
+ )
180
+ )
181
+ );
182
+ assert(isCompoundKey(firstRelation.sourceField), "Invalid relationship");
183
+ assert(isCompoundKey(firstRelation.destField), "Invalid relationship");
184
+ assert(isCompoundKey(secondRelation.sourceField), "Invalid relationship");
185
+ assert(isCompoundKey(secondRelation.destField), "Invalid relationship");
186
+ return this.#newQuery(
187
+ this.#tableName,
188
+ {
189
+ ...this.#ast,
190
+ related: [
191
+ ...this.#ast.related ?? [],
192
+ {
193
+ system: this.#system,
194
+ correlation: {
195
+ parentField: firstRelation.sourceField,
196
+ childField: firstRelation.destField
197
+ },
198
+ hidden: true,
199
+ subquery: {
200
+ table: junctionSchema,
201
+ alias: relationship,
202
+ related: [
203
+ {
204
+ system: this.#system,
205
+ correlation: {
206
+ parentField: secondRelation.sourceField,
207
+ childField: secondRelation.destField
208
+ },
209
+ subquery: sq.#ast
210
+ }
211
+ ]
212
+ }
213
+ }
214
+ ]
215
+ },
216
+ {
217
+ ...this.format,
218
+ relationships: {
219
+ ...this.format.relationships,
220
+ [relationship]: sq.format
221
+ }
222
+ },
223
+ this.customQueryID,
224
+ this.#currentJunction
225
+ );
226
+ }
227
+ throw new Error(`Invalid relationship ${relationship}`);
228
+ };
229
+ where = (fieldOrExpressionFactory, opOrValue, value) => {
230
+ let cond;
231
+ if (typeof fieldOrExpressionFactory === "function") {
232
+ cond = fieldOrExpressionFactory(this.expressionBuilder());
233
+ } else {
234
+ assert(opOrValue !== void 0, "Invalid condition");
235
+ cond = cmp(fieldOrExpressionFactory, opOrValue, value);
236
+ }
237
+ const existingWhere = this.#ast.where;
238
+ if (existingWhere) {
239
+ cond = and(existingWhere, cond);
240
+ }
241
+ const where = simplifyCondition(cond);
242
+ return this.#newQuery(
243
+ this.#tableName,
244
+ {
245
+ ...this.#ast,
246
+ where
247
+ },
248
+ this.format,
249
+ this.customQueryID,
250
+ this.#currentJunction
251
+ );
252
+ };
253
+ start = (row, opts) => this.#newQuery(
254
+ this.#tableName,
255
+ {
256
+ ...this.#ast,
257
+ start: {
258
+ row,
259
+ exclusive: !opts?.inclusive
260
+ }
261
+ },
262
+ this.format,
263
+ this.customQueryID,
264
+ this.#currentJunction
265
+ );
266
+ limit = (limit) => {
267
+ if (limit < 0) {
268
+ throw new Error("Limit must be non-negative");
269
+ }
270
+ if ((limit | 0) !== limit) {
271
+ throw new Error("Limit must be an integer");
272
+ }
273
+ if (this.#currentJunction) {
274
+ throw new NotImplementedError(
275
+ "Limit is not supported in junction relationships yet. Junction relationship being limited: " + this.#currentJunction
276
+ );
277
+ }
278
+ return this.#newQuery(
279
+ this.#tableName,
280
+ {
281
+ ...this.#ast,
282
+ limit
283
+ },
284
+ this.format,
285
+ this.customQueryID,
286
+ this.#currentJunction
287
+ );
288
+ };
289
+ orderBy = (field, direction) => {
290
+ if (this.#currentJunction) {
291
+ throw new NotImplementedError(
292
+ "Order by is not supported in junction relationships yet. Junction relationship being ordered: " + this.#currentJunction
293
+ );
294
+ }
295
+ return this.#newQuery(
296
+ this.#tableName,
297
+ {
298
+ ...this.#ast,
299
+ orderBy: [...this.#ast.orderBy ?? [], [field, direction]]
300
+ },
301
+ this.format,
302
+ this.customQueryID,
303
+ this.#currentJunction
304
+ );
305
+ };
306
+ #exists = (relationship, cb, options) => {
307
+ cb = cb ?? ((q) => q);
308
+ const flip = options?.flip;
309
+ const related = this.#schema.relationships[this.#tableName][relationship];
310
+ assert(related, "Invalid relationship");
311
+ if (isOneHop(related)) {
312
+ const { destSchema: destTableName, sourceField, destField } = related[0];
313
+ assert(isCompoundKey(sourceField), "Invalid relationship");
314
+ assert(isCompoundKey(destField), "Invalid relationship");
315
+ const subQuery = asQueryImpl(
316
+ cb(
317
+ this.#newQuery(
318
+ destTableName,
319
+ {
320
+ table: destTableName,
321
+ alias: `${SUBQ_PREFIX}${relationship}`
322
+ },
323
+ defaultFormat,
324
+ this.customQueryID,
325
+ void 0
326
+ )
327
+ )
328
+ );
329
+ return {
330
+ type: "correlatedSubquery",
331
+ related: {
332
+ system: this.#system,
333
+ correlation: {
334
+ parentField: sourceField,
335
+ childField: destField
336
+ },
337
+ subquery: subQuery.#ast
338
+ },
339
+ op: "EXISTS",
340
+ flip
341
+ };
342
+ }
343
+ if (isTwoHop(related)) {
344
+ const [firstRelation, secondRelation] = related;
345
+ assert(isCompoundKey(firstRelation.sourceField), "Invalid relationship");
346
+ assert(isCompoundKey(firstRelation.destField), "Invalid relationship");
347
+ assert(isCompoundKey(secondRelation.sourceField), "Invalid relationship");
348
+ assert(isCompoundKey(secondRelation.destField), "Invalid relationship");
349
+ const { destSchema } = secondRelation;
350
+ const junctionSchema = firstRelation.destSchema;
351
+ const queryToDest = cb(
352
+ this.#newQuery(
353
+ destSchema,
354
+ {
355
+ table: destSchema,
356
+ alias: `${SUBQ_PREFIX}zhidden_${relationship}`
357
+ },
358
+ defaultFormat,
359
+ this.customQueryID,
360
+ relationship
361
+ )
362
+ );
363
+ return {
364
+ type: "correlatedSubquery",
365
+ related: {
366
+ system: this.#system,
367
+ correlation: {
368
+ parentField: firstRelation.sourceField,
369
+ childField: firstRelation.destField
370
+ },
371
+ subquery: {
372
+ table: junctionSchema,
373
+ alias: `${SUBQ_PREFIX}${relationship}`,
374
+ where: {
375
+ type: "correlatedSubquery",
376
+ related: {
377
+ system: this.#system,
378
+ correlation: {
379
+ parentField: secondRelation.sourceField,
380
+ childField: secondRelation.destField
381
+ },
382
+ subquery: asQueryImpl(queryToDest).#ast
383
+ },
384
+ op: "EXISTS",
385
+ flip
386
+ }
387
+ }
388
+ },
389
+ op: "EXISTS",
390
+ flip
391
+ };
392
+ }
393
+ throw new Error(`Invalid relationship ${relationship}`);
394
+ };
395
+ get ast() {
396
+ return this.#ast;
27
397
  }
398
+ expressionBuilder() {
399
+ return new ExpressionBuilder(this.#exists);
400
+ }
401
+ }
402
+ function asQueryImpl(q) {
403
+ assert(q instanceof QueryImpl);
404
+ return q;
405
+ }
406
+ function throwQueryNotRunnable() {
407
+ throw new Error("Query is not runnable");
408
+ }
409
+ function isCompoundKey(field) {
410
+ return Array.isArray(field) && field.length >= 1;
411
+ }
412
+ function isOneHop(r) {
413
+ return r.length === 1;
414
+ }
415
+ function isTwoHop(r) {
416
+ return r.length === 2;
28
417
  }
29
418
  export {
30
419
  QueryImpl,
31
- newQuery
420
+ asQueryImpl,
421
+ newQuery,
422
+ newQueryImpl
32
423
  };
33
424
  //# sourceMappingURL=query-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-impl.js","sources":["../../../../../zql/src/query/query-impl.ts"],"sourcesContent":["import {type AST, type System} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {defaultFormat} from '../ivm/default-format.ts';\nimport type {Format} from '../ivm/view.ts';\nimport {AbstractQuery} from './abstract-query.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {type PullRow, type Query} from './query.ts';\n\nexport function newQuery<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n>(schema: TSchema, table: TTable): Query<TTable, TSchema> {\n return new QueryImpl(schema, table, {table}, defaultFormat, undefined);\n}\n\nexport class QueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn = PullRow<TTable, TSchema>,\n >\n extends AbstractQuery<TTable, TSchema, TReturn>\n implements Query<TTable, TSchema, TReturn>\n{\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST = {table: tableName},\n format: Format = defaultFormat,\n system: System = 'client',\n customQueryID?: CustomQueryID,\n currentJunction?: string,\n ) {\n super(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n (tableName, ast, format, customQueryID, currentJunction) =>\n new QueryImpl(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n ),\n );\n }\n}\n"],"names":["tableName","ast","format","customQueryID","currentJunction"],"mappings":";;;AAQO,SAAS,SAGd,QAAiB,OAAuC;AACxD,SAAO,IAAI,UAAU,QAAQ,OAAO,EAAC,MAAA,GAAQ,eAAe,MAAS;AACvE;AAEO,MAAM,kBAKH,cAEV;AAAA,EACE,YACE,QACA,WACA,MAAW,EAAC,OAAO,aACnB,SAAiB,eACjB,SAAiB,UACjB,eACA,iBACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,CAACA,YAAWC,MAAKC,SAAQC,gBAAeC,qBACtC,IAAI;AAAA,QACF;AAAA,QACAJ;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACA;AAAA,QACAC;AAAAA,QACAC;AAAAA,MAAA;AAAA,IACF;AAAA,EAEN;AACF;"}
1
+ {"version":3,"file":"query-impl.js","sources":["../../../../../zql/src/query/query-impl.ts"],"sourcesContent":["// oxlint-disable no-explicit-any\nimport {assert} from '../../../shared/src/asserts.ts';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport {\n type AST,\n type CompoundKey,\n type Condition,\n type Parameter,\n type SimpleOperator,\n type System,\n SUBQ_PREFIX,\n} from '../../../zero-protocol/src/ast.ts';\nimport {hashOfAST} from '../../../zero-protocol/src/query-hash.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {NotImplementedError} from '../error.ts';\nimport {defaultFormat} from '../ivm/default-format.ts';\nimport type {Format, ViewFactory} from '../ivm/view.ts';\nimport {\n type ExpressionFactory,\n ExpressionBuilder,\n and,\n cmp,\n simplifyCondition,\n} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {type QueryInternals, queryInternalsTag} from './query-internals.ts';\nimport type {\n AnyQuery,\n ExistsOptions,\n GetFilterType,\n HumanReadable,\n PreloadOptions,\n PullRow,\n Query,\n RunOptions,\n} from './query.ts';\nimport type {TTL} from './ttl.ts';\nimport type {TypedView} from './typed-view.ts';\n\ntype GetFilterTypeAny = GetFilterType<any, any, any>;\n\ntype NewQueryFunction<TSchema extends Schema> = <\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n this: unknown,\n tableName: TTable,\n ast: AST,\n format: Format,\n customQueryID: CustomQueryID | undefined,\n currentJunction: string | undefined,\n) => QueryImpl<TTable, TSchema, TReturn>;\n\nexport function newQuery<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n>(schema: TSchema, table: TTable): Query<TTable, TSchema> {\n return newQueryImpl(schema, table, {table}, defaultFormat, 'client');\n}\n\nexport function newQueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn = PullRow<TTable, TSchema>,\n>(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System,\n): QueryImpl<TTable, TSchema, TReturn> {\n const inner: NewQueryFunction<TSchema> = (\n tableName,\n ast,\n format,\n customQueryID,\n currentJunction,\n ) =>\n new QueryImpl(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n inner,\n );\n\n return inner(tableName, ast, format, undefined, undefined);\n}\n\nexport class QueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn = PullRow<TTable, TSchema>,\n >\n implements\n Query<TTable, TSchema, TReturn>,\n QueryInternals<TTable, TSchema, TReturn>\n{\n readonly [queryInternalsTag] = true;\n\n readonly #schema: TSchema;\n readonly #tableName: TTable;\n readonly #ast: AST;\n readonly format: Format;\n #hash: string = '';\n readonly #system: System;\n readonly #currentJunction: string | undefined;\n readonly customQueryID: CustomQueryID | undefined;\n readonly #newQuery: NewQueryFunction<TSchema>;\n\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System,\n customQueryID: CustomQueryID | undefined,\n currentJunction: string | undefined,\n newQuery: NewQueryFunction<TSchema>,\n ) {\n this.#schema = schema;\n this.#tableName = tableName;\n this.#ast = ast;\n this.format = format;\n this.#system = system;\n this.#currentJunction = currentJunction;\n this.customQueryID = customQueryID;\n this.#newQuery = newQuery;\n }\n\n run(_options?: RunOptions): Promise<HumanReadable<TReturn>> {\n throwQueryNotRunnable();\n }\n\n preload(_options?: PreloadOptions): {\n cleanup: () => void;\n complete: Promise<void>;\n } {\n throwQueryNotRunnable();\n }\n\n materialize(ttl?: TTL): TypedView<HumanReadable<TReturn>>;\n materialize<T>(\n factory: ViewFactory<TTable, TSchema, TReturn, T>,\n ttl?: TTL,\n ): T;\n materialize<T>(\n _factoryOrTTL?: ViewFactory<TTable, TSchema, TReturn, T> | TTL,\n _ttl?: TTL,\n ): T | TypedView<HumanReadable<TReturn>> {\n throwQueryNotRunnable();\n }\n\n nameAndArgs(\n name: string,\n args: ReadonlyArray<ReadonlyJSONValue>,\n ): Query<TTable, TSchema, TReturn> {\n return this.#newQuery(\n this.#tableName,\n this.#ast,\n this.format,\n {\n name,\n args,\n },\n this.#currentJunction,\n );\n }\n\n hash(): string {\n if (!this.#hash) {\n this.#hash = hashOfAST(this.#ast);\n }\n return this.#hash;\n }\n\n one = (): Query<TTable, TSchema, TReturn | undefined> =>\n this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n limit: 1,\n },\n {\n ...this.format,\n singular: true,\n },\n this.customQueryID,\n this.#currentJunction,\n );\n\n whereExists = (\n relationship: string,\n cbOrOptions?: ((q: AnyQuery) => AnyQuery) | ExistsOptions,\n options?: ExistsOptions,\n ): Query<TTable, TSchema, TReturn> => {\n const cb = typeof cbOrOptions === 'function' ? cbOrOptions : undefined;\n const opts = typeof cbOrOptions === 'function' ? options : cbOrOptions;\n const flipped = opts?.flip;\n return this.where(({exists}) =>\n exists(\n relationship,\n cb,\n flipped !== undefined ? {flip: flipped} : undefined,\n ),\n ) as Query<TTable, TSchema, TReturn>;\n };\n\n related = (\n relationship: string,\n cb?: (q: AnyQuery) => AnyQuery,\n ): Query<TTable, TSchema, any> => {\n if (relationship.startsWith(SUBQ_PREFIX)) {\n throw new Error(\n `Relationship names may not start with \"${SUBQ_PREFIX}\". That is a reserved prefix.`,\n );\n }\n cb = cb ?? (q => q);\n\n const related = this.#schema.relationships[this.#tableName][relationship];\n assert(related, 'Invalid relationship');\n if (isOneHop(related)) {\n const {destSchema, destField, sourceField, cardinality} = related[0];\n const q: AnyQuery = this.#newQuery(\n destSchema,\n {\n table: destSchema,\n alias: relationship,\n },\n {\n relationships: {},\n singular: cardinality === 'one',\n },\n this.customQueryID,\n undefined,\n ) as AnyQuery;\n // Intentionally not setting to `one` as it is a perf degradation\n // and the user should not be making the mistake of setting cardinality to\n // `one` when it is actually not.\n // if (cardinality === 'one') {\n // q = q.one();\n // }\n const subQuery = asQueryImpl(cb(q));\n assert(\n isCompoundKey(sourceField),\n 'The source of a relationship must specify at last 1 field',\n );\n assert(\n isCompoundKey(destField),\n 'The destination of a relationship must specify at last 1 field',\n );\n assert(\n sourceField.length === destField.length,\n 'The source and destination of a relationship must have the same number of fields',\n );\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n related: [\n ...(this.#ast.related ?? []),\n {\n system: this.#system,\n correlation: {\n parentField: sourceField,\n childField: destField,\n },\n subquery: subQuery.#ast,\n },\n ],\n },\n {\n ...this.format,\n relationships: {\n ...this.format.relationships,\n [relationship]: subQuery.format,\n },\n },\n this.customQueryID,\n this.#currentJunction,\n ) as AnyQuery;\n }\n\n if (isTwoHop(related)) {\n const [firstRelation, secondRelation] = related;\n const {destSchema} = secondRelation;\n const junctionSchema = firstRelation.destSchema;\n const sq = asQueryImpl(\n cb(\n this.#newQuery(\n destSchema,\n {\n table: destSchema,\n alias: relationship,\n },\n {\n relationships: {},\n singular: secondRelation.cardinality === 'one',\n },\n this.customQueryID,\n relationship,\n ),\n ),\n );\n\n assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n related: [\n ...(this.#ast.related ?? []),\n {\n system: this.#system,\n correlation: {\n parentField: firstRelation.sourceField,\n childField: firstRelation.destField,\n },\n hidden: true,\n subquery: {\n table: junctionSchema,\n alias: relationship,\n related: [\n {\n system: this.#system,\n correlation: {\n parentField: secondRelation.sourceField,\n childField: secondRelation.destField,\n },\n subquery: sq.#ast,\n },\n ],\n },\n },\n ],\n },\n {\n ...this.format,\n relationships: {\n ...this.format.relationships,\n [relationship]: sq.format,\n },\n },\n this.customQueryID,\n this.#currentJunction,\n ) as AnyQuery;\n }\n\n throw new Error(`Invalid relationship ${relationship}`);\n };\n\n where = (\n fieldOrExpressionFactory: string | ExpressionFactory<TTable, TSchema>,\n opOrValue?: SimpleOperator | GetFilterTypeAny | Parameter,\n value?: GetFilterTypeAny | Parameter,\n ): Query<TTable, TSchema, TReturn> => {\n let cond: Condition;\n\n if (typeof fieldOrExpressionFactory === 'function') {\n cond = fieldOrExpressionFactory(this.expressionBuilder());\n } else {\n assert(opOrValue !== undefined, 'Invalid condition');\n cond = cmp(fieldOrExpressionFactory, opOrValue, value);\n }\n\n const existingWhere = this.#ast.where;\n if (existingWhere) {\n cond = and(existingWhere, cond);\n }\n\n const where = simplifyCondition(cond);\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n where,\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n };\n\n start = (\n row: Partial<Record<string, ReadonlyJSONValue | undefined>>,\n opts?: {inclusive: boolean},\n ): Query<TTable, TSchema, TReturn> =>\n this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n start: {\n row,\n exclusive: !opts?.inclusive,\n },\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n\n limit = (limit: number): Query<TTable, TSchema, TReturn> => {\n if (limit < 0) {\n throw new Error('Limit must be non-negative');\n }\n if ((limit | 0) !== limit) {\n throw new Error('Limit must be an integer');\n }\n if (this.#currentJunction) {\n throw new NotImplementedError(\n 'Limit is not supported in junction relationships yet. Junction relationship being limited: ' +\n this.#currentJunction,\n );\n }\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n limit,\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n };\n\n orderBy = <TSelector extends keyof TSchema['tables'][TTable]['columns']>(\n field: TSelector,\n direction: 'asc' | 'desc',\n ): Query<TTable, TSchema, TReturn> => {\n if (this.#currentJunction) {\n throw new NotImplementedError(\n 'Order by is not supported in junction relationships yet. Junction relationship being ordered: ' +\n this.#currentJunction,\n );\n }\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n orderBy: [...(this.#ast.orderBy ?? []), [field as string, direction]],\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n };\n\n #exists = (\n relationship: string,\n cb: ((query: AnyQuery) => AnyQuery) | undefined,\n options?: ExistsOptions,\n ): Condition => {\n cb = cb ?? (q => q);\n const flip = options?.flip;\n const related = this.#schema.relationships[this.#tableName][relationship];\n assert(related, 'Invalid relationship');\n\n if (isOneHop(related)) {\n const {destSchema: destTableName, sourceField, destField} = related[0];\n assert(isCompoundKey(sourceField), 'Invalid relationship');\n assert(isCompoundKey(destField), 'Invalid relationship');\n\n const subQuery = asQueryImpl(\n cb(\n this.#newQuery(\n destTableName,\n {\n table: destTableName,\n alias: `${SUBQ_PREFIX}${relationship}`,\n },\n defaultFormat,\n this.customQueryID,\n undefined,\n ),\n ),\n );\n return {\n type: 'correlatedSubquery',\n related: {\n system: this.#system,\n correlation: {\n parentField: sourceField,\n childField: destField,\n },\n subquery: subQuery.#ast,\n },\n op: 'EXISTS',\n flip,\n };\n }\n\n if (isTwoHop(related)) {\n const [firstRelation, secondRelation] = related;\n assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');\n const {destSchema} = secondRelation;\n const junctionSchema = firstRelation.destSchema;\n const queryToDest = cb(\n this.#newQuery(\n destSchema,\n {\n table: destSchema,\n alias: `${SUBQ_PREFIX}zhidden_${relationship}`,\n },\n defaultFormat,\n this.customQueryID,\n relationship,\n ) as AnyQuery,\n );\n\n return {\n type: 'correlatedSubquery',\n related: {\n system: this.#system,\n correlation: {\n parentField: firstRelation.sourceField,\n childField: firstRelation.destField,\n },\n subquery: {\n table: junctionSchema,\n alias: `${SUBQ_PREFIX}${relationship}`,\n where: {\n type: 'correlatedSubquery',\n related: {\n system: this.#system,\n correlation: {\n parentField: secondRelation.sourceField,\n childField: secondRelation.destField,\n },\n subquery: asQueryImpl(queryToDest).#ast,\n },\n op: 'EXISTS',\n flip,\n },\n },\n },\n op: 'EXISTS',\n flip,\n };\n }\n\n throw new Error(`Invalid relationship ${relationship}`);\n };\n\n get ast(): AST {\n return this.#ast;\n }\n\n expressionBuilder() {\n return new ExpressionBuilder(this.#exists);\n }\n}\n\nexport function asQueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn,\n>(q: Query<TTable, TSchema, TReturn>): QueryImpl<TTable, TSchema, TReturn> {\n assert(q instanceof QueryImpl);\n return q;\n}\n\nfunction throwQueryNotRunnable(): never {\n throw new Error('Query is not runnable');\n}\n\nfunction isCompoundKey(field: readonly string[]): field is CompoundKey {\n return Array.isArray(field) && field.length >= 1;\n}\n\nfunction isOneHop<T>(r: readonly T[]): r is readonly [T] {\n return r.length === 1;\n}\n\nfunction isTwoHop<T>(r: readonly T[]): r is readonly [T, T] {\n return r.length === 2;\n}\n"],"names":["tableName","ast","format","newQuery"],"mappings":"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"}
@@ -20,14 +20,14 @@ export type CustomQuery<TTable extends keyof TSchema['tables'] & string, TInput
20
20
  readonly 'fn': QueryDefinitionFunction<TTable, TInput, TReturn, TContext>;
21
21
  readonly '~': CustomQueryTypes<TTable, TInput, TSchema, TReturn, TContext>;
22
22
  } & CustomQueryCallable<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
23
- type CustomQueryCallable<TTable extends keyof TSchema['tables'] & string, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema = DefaultSchema, TReturn = PullRow<TTable, TSchema>, TContext = DefaultContext> = [TInput] extends [undefined] ? () => QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext> : undefined extends TInput ? {
23
+ type CustomQueryCallable<TTable extends keyof TSchema['tables'] & string, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema, TReturn, TContext> = [TInput] extends [undefined] ? () => QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext> : undefined extends TInput ? {
24
24
  (): QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
25
25
  (args?: TInput): QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
26
26
  } : {
27
27
  (args: TInput): QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
28
28
  };
29
29
  export type AnyCustomQuery = CustomQuery<string, any, any, Schema, any, any>;
30
- export declare function isQuery(value: unknown): value is AnyCustomQuery;
30
+ export declare function isQuery<S extends Schema>(value: unknown): value is CustomQuery<string, any, any, S, any, any>;
31
31
  export type QueryRequestTypes<TTable extends keyof TSchema['tables'] & string, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema, TReturn, TContext> = 'QueryRequest' & {
32
32
  readonly $tableName: TTable;
33
33
  readonly $input: TInput;
@@ -1 +1 @@
1
- {"version":3,"file":"query-registry.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-registry.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-registry.ts"],"names":[],"mappings":"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"}