@bjornpagen/bumbledb 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/COOKBOOK.md +178 -0
  2. package/README.md +2 -2
  3. package/dist/alternatives.d.ts +25 -0
  4. package/dist/alternatives.d.ts.map +1 -0
  5. package/dist/alternatives.js +59 -0
  6. package/dist/alternatives.js.map +1 -0
  7. package/dist/capacity.d.ts +7 -4
  8. package/dist/capacity.d.ts.map +1 -1
  9. package/dist/capacity.js +3 -1
  10. package/dist/capacity.js.map +1 -1
  11. package/dist/index.d.ts +6 -4
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/law.d.ts +3 -1
  16. package/dist/law.d.ts.map +1 -1
  17. package/dist/law.js.map +1 -1
  18. package/dist/native.d.ts +14 -0
  19. package/dist/native.d.ts.map +1 -1
  20. package/dist/native.js.map +1 -1
  21. package/dist/query/atom.d.ts +2 -1
  22. package/dist/query/atom.d.ts.map +1 -1
  23. package/dist/query/atom.js.map +1 -1
  24. package/dist/query/compute.d.ts +16 -1
  25. package/dist/query/compute.d.ts.map +1 -1
  26. package/dist/query/compute.js +15 -2
  27. package/dist/query/compute.js.map +1 -1
  28. package/dist/query/description.d.ts +10 -2
  29. package/dist/query/description.d.ts.map +1 -1
  30. package/dist/query/description.js +10 -1
  31. package/dist/query/description.js.map +1 -1
  32. package/dist/query/find.d.ts +32 -10
  33. package/dist/query/find.d.ts.map +1 -1
  34. package/dist/query/find.js +1 -1
  35. package/dist/query/find.js.map +1 -1
  36. package/dist/query/lower.d.ts +18 -6
  37. package/dist/query/lower.d.ts.map +1 -1
  38. package/dist/query/lower.js +43 -30
  39. package/dist/query/lower.js.map +1 -1
  40. package/dist/query/parse-ir.d.ts.map +1 -1
  41. package/dist/query/parse-ir.js +24 -1
  42. package/dist/query/parse-ir.js.map +1 -1
  43. package/dist/query/scope.d.ts +21 -12
  44. package/dist/query/scope.d.ts.map +1 -1
  45. package/dist/query/scope.js.map +1 -1
  46. package/dist/query/segments.d.ts +20 -0
  47. package/dist/query/segments.d.ts.map +1 -0
  48. package/dist/query/segments.js +35 -0
  49. package/dist/query/segments.js.map +1 -0
  50. package/dist/scalar.d.ts +30 -8
  51. package/dist/scalar.d.ts.map +1 -1
  52. package/dist/scalar.js +80 -2
  53. package/dist/scalar.js.map +1 -1
  54. package/dist/shape.d.ts +6 -3
  55. package/dist/shape.d.ts.map +1 -1
  56. package/pack-provenance.json +3 -3
  57. package/package.json +4 -4
  58. package/src/alternatives.ts +95 -0
  59. package/src/capacity.ts +7 -4
  60. package/src/index.ts +14 -2
  61. package/src/law.ts +8 -5
  62. package/src/native.ts +14 -0
  63. package/src/query/atom.ts +2 -0
  64. package/src/query/compute.ts +41 -2
  65. package/src/query/description.ts +34 -4
  66. package/src/query/find.ts +47 -23
  67. package/src/query/lower.ts +73 -43
  68. package/src/query/parse-ir.ts +23 -1
  69. package/src/query/scope.ts +32 -15
  70. package/src/query/segments.ts +61 -0
  71. package/src/scalar.ts +140 -7
  72. package/src/shape.ts +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzD,UAAU,QAAQ;IACjB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,GAAG,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,SAAS,MAAM;IACvD,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAA;IAChB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACnB;AAED,KAAK,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAEhD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAA;AAE5D,KAAK,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAMpD,iBAAS,KAAK,IAAI,QAAQ,CAEzB;AAED;;;;;GAKG;AACH,iBAAS,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAE3D;AAED,6EAA6E;AAC7E,iBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAE7D;AAED,iBAAS,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAE3D;AAED,iBAAS,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAE3D;AAED,iBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAE7D;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,IAAI,GACJ,CAAC,SAAS,QAAQ,GACjB,IAAI,GACJ,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GAC5C,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GAC/B,IAAI,GACJ,KAAK,GACN,CAAC,SAAS,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GAC3D,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GAC5C,aAAa,CAAC,CAAC,CAAC,GAChB,CAAC,SAAS,cAAc,GAAG,QAAQ,GAClC,IAAI,GACJ,KAAK,CAAA;AAEb,KAAK,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACtE,CAAA;AAED,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI;IACxC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC3D,CAAA;AAED,KAAK,SAAS,CAAC,CAAC,IACf,CAAC,SAAS,QAAQ,CAAC,MAAM,OAAO,CAAC,GAC9B,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,GACxC,CAAC,SAAS,MAAM,GACf,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GACjB,CAAC,SAAS,QAAQ,GACjB,MAAM,GACN,CAAC,SAAS,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GACpE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GACjB,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GAC5C,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GACjB,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,SAAS,UAAU,CAAC,GAChD,YAAY,CAAC,CAAC,CAAC,GACf,KAAK,CAAA;AAEd,KAAK,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAElF,KAAK,aAAa,GAAG;IACpB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACxB,CAAA;AAED;;;;GAIG;AACH,KAAK,YAAY,CAAC,OAAO,SAAS,aAAa,EAAE,CAAC,SAAS,SAAS,IAAI;IACvE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,OAAO,CAAC,GAC1D;QAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;KAAE,GAChF,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAClB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,IAAI,SAAS,UAAU,CAAC,GACtD;QAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;KAAE,GAClE,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GACpB;QAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;KAAE,GACvD,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B;QAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;KAAE,GACvD,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC,GAClD;QACA,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAA;QAClG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;KACzB,GACA,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC,GACtD;QAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;KAAE,GAC5D,KAAK;CACd,CAAA;AAED,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAA;AAC3F,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA"}
@@ -7,7 +7,7 @@ function count() {
7
7
  /**
8
8
  * Exact checked sum over a NUMERIC (u64/i64/f64) variable — wide accumulator,
9
9
  * one finalize range check; overflow is the engine's typed runtime error —
10
- * or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
10
+ * of a measured interval in a following stage. Bool stays refused: a
11
11
  * quantifier is not an addition (R3).
12
12
  */
13
13
  function sum(over) {
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAwBA,SAAS,SAAS,CAA6C,EAAM,EAAE,IAAU;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,KAAK;IACb,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;AACvC,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAyB,IAAO;IAC3C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,6EAA6E;AAC7E,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,GAAG,CAAyB,IAAO;IAC3C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,GAAG,CAAyB,IAAO;IAC3C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AAsDD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAyBA,SAAS,SAAS,CAA6C,EAAM,EAAE,IAAU;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,KAAK;IACb,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;AACvC,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAyB,IAAO;IAC3C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,6EAA6E;AAC7E,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,GAAG,CAAyB,IAAO;IAC3C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,GAAG,CAAyB,IAAO;IAC3C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AA6ED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA"}
@@ -7,6 +7,7 @@ import type { CheckFind, CheckRecFind, FindShape, HeadRecordOf, RowOfFind } from
7
7
  import { count, max, mean, min, pack, sum } from "./find.js";
8
8
  import type { AnyVar, ClassedField, ExactVars, Flatten, InferredOf, ParamEntry, ParamsRecord, ShapeOf, VarsOf } from "./scope.js";
9
9
  import { inferred, makeParam, makeSetParam } from "./scope.js";
10
+ import { difference, intersection } from "./segments.js";
10
11
  import type { AnySchema, Schema, SchemaRelations } from "../schema.js";
11
12
  type QueryRelation<Rels extends SchemaRelations> = Extract<Rels[keyof Rels], MatchOwner>;
12
13
  type ParamsOf<T> = InferredOf<T> extends {
@@ -16,6 +17,9 @@ type RowOf<T> = InferredOf<T> extends {
16
17
  readonly row: infer R;
17
18
  } ? R : never;
18
19
  type HeadShape = Readonly<Record<string, ClassedField>> | undefined;
20
+ type HeadOf<T> = InferredOf<T> extends {
21
+ readonly head: infer H extends HeadShape;
22
+ } ? H : HeadShape;
19
23
  interface RuleValue<Row, P extends ParamsRecord, Head extends HeadShape = undefined> {
20
24
  readonly rule: RuleData;
21
25
  readonly [inferred]?: {
@@ -52,6 +56,8 @@ interface TermOps {
52
56
  readonly mean: typeof mean;
53
57
  readonly min: typeof min;
54
58
  readonly max: typeof max;
59
+ readonly intersection: typeof intersection;
60
+ readonly difference: typeof difference;
55
61
  readonly pack: typeof pack;
56
62
  }
57
63
  interface QueryRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
@@ -91,7 +97,10 @@ interface QueryRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, C
91
97
  match<Q extends AnyQuery, const B extends ImportMatchShape<Q>>(imported: Q, bindings: B): QueryRuleChain<Rels, P, Classes>;
92
98
  where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): QueryRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
93
99
  interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): QueryRuleChain<Rels, P, Classes>;
94
- find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P>;
100
+ /** A record of variables is already a valid projection, including v(rel)
101
+ * for a generic relation. Aggregate judgments remain on the general form. */
102
+ find<const F extends Readonly<Record<string, AnyVar>>>(entries: F): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
103
+ find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
95
104
  }
96
105
  interface InteriorRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
97
106
  /**
@@ -125,6 +134,7 @@ interface InteriorRuleChain<Rels extends SchemaRelations, P extends ParamsRecord
125
134
  * Nonrecursive derived stages emit aggregate/computed outputs too
126
135
  * (C05): only the RECURSIVE head stays projection-only.
127
136
  */
137
+ find<const F extends Readonly<Record<string, AnyVar>>>(entries: F): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
128
138
  find<const F extends FindShape>(entries: F & CheckFind<F>): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
129
139
  }
130
140
  interface RecRuleScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> extends TermOps {
@@ -156,6 +166,7 @@ interface RecRuleChain<Rels extends SchemaRelations, P extends ParamsRecord, Cla
156
166
  match<Q extends AnyQuery, const B extends ImportMatchShape<Q>>(imported: Q, bindings: B): RecRuleChain<Rels, P, Classes>;
157
167
  where<const C extends AnyCond>(cond: CheckCond<Classes, C> & C): RecRuleChain<Rels, Flatten<P & CondParamsShape<C>>, Classes>;
158
168
  interior<const B extends Readonly<Record<string, AnyVar>>>(name: string, bindings: B & CheckInteriorBindings<B>): RecRuleChain<Rels, P, Classes>;
169
+ find<const F extends Readonly<Record<string, AnyVar>>>(entries: F): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
159
170
  find<const F extends FindShape>(entries: F & CheckRecFind<F>): RuleValue<RowOfFind<F>, P, HeadRecordOf<Classes, F>>;
160
171
  }
161
172
  type QueryData = {
@@ -172,17 +183,18 @@ type QueryData = {
172
183
  readonly finds: readonly FindColumn[];
173
184
  readonly params: readonly ParamEntry[];
174
185
  };
175
- interface Query<Rels extends SchemaRelations, Row, Params extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses> {
186
+ interface Query<Rels extends SchemaRelations, Row, Params extends ParamsRecord, Classes extends SchemaClasses = SchemaClasses, Head extends HeadShape = HeadShape> {
176
187
  readonly schema: Schema<Rels, Classes>;
177
188
  readonly data: QueryData;
178
- rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, Row | RowOf<RV>, Flatten<Params & ParamsOf<RV>>, Classes>;
189
+ rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, Row | RowOf<RV>, Flatten<Params & ParamsOf<RV>>, Classes, Head | HeadOf<RV>>;
179
190
  /** A diagnostic name for composition/tracing — never a schema relation. */
180
- named(label: string): Query<Rels, Row, Params, Classes>;
191
+ named(label: string): Query<Rels, Row, Params, Classes, Head>;
181
192
  interior(name: string, ...builds: never[]): never;
182
193
  reach(name: string, arms: never): never;
183
194
  readonly [inferred]?: {
184
195
  readonly row: Row;
185
196
  readonly params: Params;
197
+ readonly head: Head;
186
198
  };
187
199
  }
188
200
  interface AnyQuery {
@@ -192,7 +204,7 @@ interface AnyQuery {
192
204
  type QueryRow<Q extends AnyQuery> = RowOf<Q>;
193
205
  type QueryParams<Q extends AnyQuery> = ParamsOf<Q>;
194
206
  type QueryStart<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses, P extends ParamsRecord = Record<never, never>> = {
195
- rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, Flatten<P & ParamsOf<RV>>, Classes>;
207
+ rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, Flatten<P & ParamsOf<RV>>, Classes, HeadOf<RV>>;
196
208
  interior<const Builds extends readonly InteriorBuild<Rels, Classes>[]>(name: string, ...builds: Builds): QueryStart<Rels, Classes, Flatten<P & BuildsParams<Builds>>>;
197
209
  reach<const Base extends readonly RecBuild<Rels, Classes>[], const Step extends readonly RecBuild<Rels, Classes>[]>(name: string, arms: {
198
210
  readonly base: Base;
@@ -200,7 +212,7 @@ type QueryStart<Rels extends SchemaRelations, Classes extends SchemaClasses = Sc
200
212
  }): QueryReachStart<Rels, Classes, Flatten<P & BuildsParams<Base> & BuildsParams<Step>>>;
201
213
  };
202
214
  type QueryReachStart<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses, P extends ParamsRecord = Record<never, never>> = {
203
- rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, Flatten<P & ParamsOf<RV>>, Classes>;
215
+ rule<RV extends AnyRuleValue>(build: (r: QueryRuleScope<Rels, Classes>) => RV): Query<Rels, RowOf<RV>, Flatten<P & ParamsOf<RV>>, Classes, HeadOf<RV>>;
204
216
  };
205
217
  interface RuleBuildState {
206
218
  readonly items: readonly RuleItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ import { computeFieldOf, computeVarsOf, isComputeExpr, MAX_COMPUTE_DEPTH } from
7
7
  import { count, max, mean, min, pack, sum } from "#query/find.ts";
8
8
  import { parseQueryIr } from "#query/parse-ir.ts";
9
9
  import { fieldAntiJoins, fieldJoins, headFieldJoins, importFacadeOf, importFacadeOfOwner, inferred, isImportedSource, isTerm, labelImport, makeParam, makeSetParam, renderFieldKind, term } from "#query/scope.ts";
10
- import { literalWireOf } from "#scalar.ts";
10
+ import { difference, intersection, isSegments, segmentField } from "#query/segments.ts";
11
+ import { scalarWire } from "#scalar.ts";
11
12
  import { schemaDescriptor, schemasAgree } from "#schema.ts";
12
13
  import { arrayValue, recordValue, taggedValueOf } from "#values.ts";
13
14
  const termOps = Object.freeze({
@@ -29,7 +30,9 @@ const termOps = Object.freeze({
29
30
  mean,
30
31
  min,
31
32
  max,
32
- pack
33
+ pack,
34
+ intersection,
35
+ difference
33
36
  });
34
37
  const EMPTY_RULE = Object.freeze({
35
38
  items: Object.freeze([]),
@@ -359,6 +362,8 @@ function findColumnOf(name, entry) {
359
362
  message: `find ${name}: a ${entry[term]} is not projectable — find takes variables, aggregates or Compute expressions`
360
363
  });
361
364
  }
365
+ if (isSegments(entry))
366
+ return Object.freeze({ name, entry: Object.freeze({ ...entry }), closed: undefined, slot: undefined });
362
367
  if (isComputeExpr(entry)) {
363
368
  return Object.freeze({
364
369
  name,
@@ -427,6 +432,8 @@ function assertNumeric(where, position, ref) {
427
432
  */
428
433
  function findColumnSlotOf(context, column) {
429
434
  const entry = column.entry;
435
+ if (entry.kind === "segments")
436
+ return { field: segmentField(entry), class: undefined };
430
437
  if (entry.kind === "var") {
431
438
  return mintSlotOf(context, entry.over);
432
439
  }
@@ -444,12 +451,20 @@ function findColumnSlotOf(context, column) {
444
451
  return { field: agg.over.field, class: undefined };
445
452
  }
446
453
  case "pack":
447
- return { field: agg.over.field, class: undefined };
454
+ return {
455
+ field: { kind: "interval", element: agg.over.field.element, width: undefined },
456
+ class: undefined
457
+ };
448
458
  }
449
459
  }
450
460
  function validateColumn(context, bound, column) {
451
461
  const where = `${contextLabel(context)} find ${column.name}`;
452
462
  const entry = column.entry;
463
+ if (entry.kind === "segments") {
464
+ assertBound(where, bound, entry.left);
465
+ assertBound(where, bound, entry.right);
466
+ return;
467
+ }
453
468
  if (entry.kind === "var") {
454
469
  assertBound(where, bound, entry.over);
455
470
  return;
@@ -559,6 +574,14 @@ function completeRule(context, state, rawColumns) {
559
574
  if (rawColumns.length === 0) {
560
575
  throw new AuthoringError({ message: `${label}: a find needs at least one entry` });
561
576
  }
577
+ const aggregates = rawColumns.flatMap((column) => (column.entry.kind === "aggregate" ? [column.entry.agg] : []));
578
+ const packs = aggregates.filter((agg) => agg.op === "pack").length;
579
+ if (packs > 1)
580
+ throw new AuthoringError({ message: "a query stage can pack one interval column" });
581
+ if (packs !== 0 && aggregates.length !== packs)
582
+ throw new AuthoringError({ message: "pack intervals and compute numeric aggregates in separate query stages" });
583
+ if (rawColumns.some((c) => c.entry.kind === "segments") && aggregates.length !== 0)
584
+ throw new AuthoringError({ message: "aggregate generated segments in a following query stage" });
562
585
  const columns = rawColumns.map(function enrichColumn(column) {
563
586
  assertDeclarationOrderKey(`${label} find column`, column.name);
564
587
  validateColumn(context, state.bound, column);
@@ -888,6 +911,8 @@ function renderClosedSlice(closed) {
888
911
  }
889
912
  function headSignature(column) {
890
913
  const entry = column.entry;
914
+ if (entry.kind === "segments")
915
+ return `${column.name}:compute`;
891
916
  if (entry.kind === "var") {
892
917
  return `${column.name}:var`;
893
918
  }
@@ -1206,7 +1231,9 @@ function makeQueryStart(theory, interiors) {
1206
1231
  },
1207
1232
  rule(build) {
1208
1233
  const built = build(makeQueryRuleScope(theory, env));
1209
- return makeQuery(theory, interiors, undefined, [built.rule]);
1234
+ return makeQuery(theory, interiors, undefined, [
1235
+ built.rule
1236
+ ]);
1210
1237
  }
1211
1238
  };
1212
1239
  Object.freeze(start);
@@ -1217,7 +1244,9 @@ function makeQueryReachStart(theory, interiors, rec) {
1217
1244
  const start = {
1218
1245
  rule(build) {
1219
1246
  const built = build(makeQueryRuleScope(theory, env));
1220
- return makeQuery(theory, interiors, rec, [built.rule]);
1247
+ return makeQuery(theory, interiors, rec, [
1248
+ built.rule
1249
+ ]);
1221
1250
  }
1222
1251
  };
1223
1252
  Object.freeze(start);
@@ -1424,33 +1453,15 @@ function lowerComputeNode(node, ids) {
1424
1453
  return lowerComputeGrammar(node, ids);
1425
1454
  }
1426
1455
  function lowerComputeGrammar(node, ids) {
1427
- switch (node.kind) {
1428
- case "var":
1429
- return { kind: "var", var: ids.of(node.ref) };
1430
- case "literal":
1431
- return { kind: "literal", value: literalWireOf(node.value) };
1432
- case "negate":
1433
- case "isNaN":
1434
- case "isFinite":
1435
- return { kind: node.kind, expr: lowerComputeGrammar(node.expr, ids) };
1436
- case "cast":
1437
- return { kind: "cast", cast: node.cast, expr: lowerComputeGrammar(node.expr, ids) };
1438
- case "add":
1439
- case "subtract":
1440
- case "multiply":
1441
- case "divide":
1442
- return {
1443
- kind: node.kind,
1444
- left: lowerComputeGrammar(node.left, ids),
1445
- right: lowerComputeGrammar(node.right, ids)
1446
- };
1447
- default:
1448
- throw new AuthoringError({
1449
- message: "query lowering: a query-var tree cannot carry a source-field leaf — use Compute over bound variables"
1450
- });
1451
- }
1456
+ return scalarWire(node, (leaf) => {
1457
+ if (leaf.kind !== "var")
1458
+ throw new AuthoringError({ message: "query expressions require bound variables" });
1459
+ return ids.of(leaf.ref);
1460
+ });
1452
1461
  }
1453
1462
  function lowerFind(entry, ids) {
1463
+ if (entry.kind === "segments")
1464
+ return { kind: entry.kind, op: entry.op, left: ids.of(entry.left), right: ids.of(entry.right) };
1454
1465
  if (entry.kind === "var") {
1455
1466
  return { kind: "var", var: ids.of(entry.over) };
1456
1467
  }
@@ -1479,6 +1490,8 @@ function headOpOf(agg) {
1479
1490
  }
1480
1491
  function headTermOf(column) {
1481
1492
  const entry = column.entry;
1493
+ if (entry.kind === "segments")
1494
+ return { kind: "compute" };
1482
1495
  if (entry.kind === "var") {
1483
1496
  return { kind: "var" };
1484
1497
  }