@rindle/client 0.2.0 → 0.4.2
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.
- package/dist/ast.d.ts +11 -0
- package/dist/ast.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/mutation-ops.d.ts +140 -0
- package/dist/mutation-ops.d.ts.map +1 -0
- package/dist/mutation-ops.js +60 -0
- package/dist/mutation-ops.js.map +1 -0
- package/dist/operators.d.ts +5 -0
- package/dist/operators.d.ts.map +1 -1
- package/dist/operators.js +5 -0
- package/dist/operators.js.map +1 -1
- package/dist/query.d.ts +65 -9
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +56 -1
- package/dist/query.js.map +1 -1
- package/dist/resolve.d.ts +40 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +109 -0
- package/dist/resolve.js.map +1 -0
- package/dist/schema.d.ts +53 -5
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +65 -4
- package/dist/schema.js.map +1 -1
- package/dist/ssr.d.ts +14 -0
- package/dist/ssr.d.ts.map +1 -1
- package/dist/ssr.js +15 -0
- package/dist/ssr.js.map +1 -1
- package/dist/store.d.ts +47 -15
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +163 -25
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +37 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/view.d.ts +43 -5
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +87 -22
- package/dist/view.js.map +1 -1
- package/package.json +1 -1
- package/src/ast.ts +11 -0
- package/src/index.ts +29 -1
- package/src/mutation-ops.ts +190 -0
- package/src/operators.ts +5 -0
- package/src/query.ts +142 -13
- package/src/resolve.ts +136 -0
- package/src/schema.ts +130 -5
- package/src/ssr.ts +21 -0
- package/src/store.ts +157 -34
- package/src/types.ts +35 -1
- package/src/view.ts +103 -22
package/dist/ast.d.ts
CHANGED
|
@@ -78,6 +78,17 @@ export interface Ast {
|
|
|
78
78
|
* with a plain singular join + the same projection instead of a `reduce`. Only meaningful
|
|
79
79
|
* with `aggregate`; absent ⇒ `false`. */
|
|
80
80
|
aggregatePrecomputed?: boolean;
|
|
81
|
+
/** Top-level `GROUP BY` columns (names), meaningful only alongside a root {@link Ast.aggregate}
|
|
82
|
+
* (`REDUCE-DESIGN.md` §8). Empty + `aggregate` set ⇒ a **global** aggregate (one `[count]` row);
|
|
83
|
+
* non-empty ⇒ one `[group…, count]` row per distinct value-tuple. Distinct from a relationship
|
|
84
|
+
* aggregate's implicit grouping (the correlation child key). Absent on the wire ⇒ empty. */
|
|
85
|
+
groupBy?: string[];
|
|
86
|
+
/** `HAVING` — a filter over the **post-aggregation** rows of a root {@link Ast.aggregate}
|
|
87
|
+
* (`REDUCE-DESIGN.md` §4: a filter directly above the `reduce`). Its condition addresses the
|
|
88
|
+
* aggregate's *output* columns — the {@link Ast.groupBy} columns and the synthetic `count`
|
|
89
|
+
* column — not base-table columns (those go in {@link Ast.where}, which filters rows *below* the
|
|
90
|
+
* reduce). Absent ⇒ no post-aggregation filter. */
|
|
91
|
+
having?: Condition;
|
|
81
92
|
orderBy?: OrderPart[];
|
|
82
93
|
}
|
|
83
94
|
//# sourceMappingURL=ast.d.ts.map
|
package/dist/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjC,qFAAqF;AACrF,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAElD,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;AAErE,uDAAuD;AACvD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzC,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,MAAM,GACN,UAAU,GACV,OAAO,GACP,WAAW,GACX,IAAI,GACJ,QAAQ,CAAC;AAEb,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/C;sFACsF;AACtF,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;8FAE8F;AAC9F,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;CAC5C;AAED;;qFAEqF;AACrF,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC;0FAC0F;AAC1F,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;uEAEmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;iGAE6F;IAC7F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;8CAI0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjC,qFAAqF;AACrF,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAElD,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;AAErE,uDAAuD;AACvD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzC,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,MAAM,GACN,UAAU,GACV,OAAO,GACP,WAAW,GACX,IAAI,GACJ,QAAQ,CAAC;AAEb,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/C;sFACsF;AACtF,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;8FAE8F;AAC9F,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;CAC5C;AAED;;qFAEqF;AACrF,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC;0FAC0F;AAC1F,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;uEAEmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;iGAE6F;IAC7F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;8CAI0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;iGAG6F;IAC7F,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;wDAIoD;IACpD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,9 +4,14 @@ export * from "./query.ts";
|
|
|
4
4
|
export * from "./view.ts";
|
|
5
5
|
export * from "./store.ts";
|
|
6
6
|
export * from "./ssr.ts";
|
|
7
|
+
export { resolveChange, subRow } from "./resolve.ts";
|
|
8
|
+
export type { NamedRow, ResolvedChange } from "./resolve.ts";
|
|
9
|
+
export type { KeyedRow, MutationOp, ServerWriteTx } from "./mutation-ops.ts";
|
|
10
|
+
export { driveMutationAsync, driveMutationSync, isGeneratorMutator, isoTx, shared, } from "./mutation-ops.ts";
|
|
11
|
+
export type { ArgSchema, AsyncEffectExec, BatchEffect, IsoTx, MutationGen, MutatorCtx, ReadEffect, SharedMutator, SharedMutatorWithArgs, SyncEffectExec, YieldEffect, } from "./mutation-ops.ts";
|
|
7
12
|
export { stableKey } from "./key.ts";
|
|
8
13
|
export { COMPARATOR_VERSION, compareNumber, compareRows, compareString, compareValue } from "./compare.ts";
|
|
9
|
-
export type { Backend, ChangeEvent, ColType, FlatChange, FlatOp, Mutation, MutationEnvelope, NormalizedEvent, NormalizedOp, NormalizedSource, NormalizedTableSchema, OptimisticSource, PathSeg, ProgressFrame, QueryId, RemoteQuery, ResultType, WireNode, WireProjection, WireRel, WireSchema, WireValue, } from "./types.ts";
|
|
14
|
+
export type { Backend, BackendDevObserver, BackendServerDelta, ChangeEvent, ColType, FlatChange, FlatOp, Mutation, MutationEnvelope, NormalizedEvent, NormalizedOp, NormalizedSource, NormalizedTableSchema, OptimisticSource, PathSeg, ProgressFrame, QueryId, RemoteQuery, ResultType, WireNode, WireProjection, WireRel, WireSchema, WireValue, } from "./types.ts";
|
|
10
15
|
export { CLIENT_MUTATIONS_SCHEMA, CLIENT_MUTATIONS_TABLE, LMID_QUERY_NAME } from "./types.ts";
|
|
11
16
|
export type { Aggregate, Ast, Bound, Condition, CorrelatedSubquery, Correlation, Dir, ExistsOp, LitValue, OrderPart, SimpleOp, ValuePosition, } from "./ast.ts";
|
|
12
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3G,YAAY,EACV,OAAO,EACP,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,OAAO,EACP,UAAU,EACV,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9F,YAAY,EACV,SAAS,EACT,GAAG,EACH,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,aAAa,GACd,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3G,YAAY,EACV,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,OAAO,EACP,UAAU,EACV,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9F,YAAY,EACV,SAAS,EACT,GAAG,EACH,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,aAAa,GACd,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
// @rindle/client — the backend-agnostic flat-change client core: typed schema, query builder,
|
|
2
2
|
// comparator, Backend seam, and the ArrayView contract. (The ArrayView folding impl + the
|
|
3
3
|
// Store/backend wiring land in later slices.)
|
|
4
|
-
export * from "./schema.js"; // table/columns/primaryKey, createSchema/extendSchema, string/number/boolean/json, Col, RowOf, Row, TableDef, tableSpec, SCHEMA
|
|
4
|
+
export * from "./schema.js"; // table/columns/primaryKey, createSchema/extendSchema, refineTable/refineSchema, string/number/boolean/json, Col, RowOf, Row, TableDef, tableSpec, SCHEMA
|
|
5
5
|
export * from "./operators.js"; // eq/ne/gt/ge/lt/le/like/notLike/ilike/notIlike/inList/notInList/is/isNot, and/or, Pred, Cond, Arg
|
|
6
6
|
export * from "./query.js"; // Query, QueryRoot, queries/newQueryBuilder, defineQuery/NamedQuery, exists, notExists, defineFragment/Fragment/FragmentRef/isFragment
|
|
7
7
|
export * from "./view.js"; // ArrayView, SingularArrayView, FlatArrayView, SingularView, ViewTypes
|
|
8
8
|
export * from "./store.js"; // Store, WriteTx, AssembledNode, DehydratedQuery, DehydratedState
|
|
9
9
|
export * from "./ssr.js"; // createServerStore, ServerStore, OneShotBackend, OneShotQueryFn, OneShotResult, ServerStoreOptions
|
|
10
|
+
export { resolveChange, subRow } from "./resolve.js"; // positional FlatChange → named rows (inverse of the wire encoder)
|
|
11
|
+
// shared (generator) mutator seam — one body, sync on the client + async on the server
|
|
12
|
+
export { driveMutationAsync, driveMutationSync, isGeneratorMutator, isoTx, shared, } from "./mutation-ops.js";
|
|
10
13
|
export { stableKey } from "./key.js"; // canonical viewKey for an AST (shared with @rindle/react)
|
|
11
14
|
export { COMPARATOR_VERSION, compareNumber, compareRows, compareString, compareValue } from "./compare.js";
|
|
12
15
|
export { CLIENT_MUTATIONS_SCHEMA, CLIENT_MUTATIONS_TABLE, LMID_QUERY_NAME } from "./types.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,8CAA8C;AAE9C,cAAc,aAAa,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,8CAA8C;AAE9C,cAAc,aAAa,CAAC,CAAC,0JAA0J;AACvL,cAAc,gBAAgB,CAAC,CAAC,mGAAmG;AACnI,cAAc,YAAY,CAAC,CAAC,uIAAuI;AACnK,cAAc,WAAW,CAAC,CAAC,uEAAuE;AAClG,cAAc,YAAY,CAAC,CAAC,kEAAkE;AAC9F,cAAc,UAAU,CAAC,CAAC,oGAAoG;AAE9H,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC,CAAC,mEAAmE;AAIzH,uFAAuF;AACvF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC,CAAC,2DAA2D;AAEjG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA6B3G,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { WireValue } from "./types.ts";
|
|
2
|
+
/** A keyed row: column name → cell. The ergonomic write shape (validated against the schema at
|
|
3
|
+
* runtime). JSON columns carry their raw JSON string (a {@link WireValue}), never a parsed object. */
|
|
4
|
+
export type KeyedRow = Record<string, WireValue>;
|
|
5
|
+
/** One structured write intent — the discriminated union that mirrors the write half of the client
|
|
6
|
+
* `MutationTx` 1:1. Keyed (column-name addressed), so it is independent of column order. */
|
|
7
|
+
export type MutationOp = {
|
|
8
|
+
kind: "insert";
|
|
9
|
+
table: string;
|
|
10
|
+
row: KeyedRow;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "upsert";
|
|
13
|
+
table: string;
|
|
14
|
+
row: KeyedRow;
|
|
15
|
+
} | {
|
|
16
|
+
kind: "insertIgnore";
|
|
17
|
+
table: string;
|
|
18
|
+
row: KeyedRow;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "update";
|
|
21
|
+
table: string;
|
|
22
|
+
row: KeyedRow;
|
|
23
|
+
} | {
|
|
24
|
+
kind: "delete";
|
|
25
|
+
table: string;
|
|
26
|
+
pk: KeyedRow;
|
|
27
|
+
};
|
|
28
|
+
/** The ASYNC server-side write surface a mutator runs against. Semantically the twin of the client's
|
|
29
|
+
* synchronous `MutationTx` write methods — same names, same keyed-row arguments — but every op is a
|
|
30
|
+
* Promise so a Postgres backend can execute it live against an open transaction (read-your-writes).
|
|
31
|
+
* A rindle/daemon backend resolves writes immediately (accumulate) and serves `row` from committed
|
|
32
|
+
* state. `insert` requires every column; `update`/`delete` require the pk columns. */
|
|
33
|
+
export interface ServerWriteTx {
|
|
34
|
+
/** Insert a FULL row (every column named; missing or unknown columns throw). */
|
|
35
|
+
insert(table: string, row: KeyedRow): Promise<void>;
|
|
36
|
+
/** Update the row identified by the pk columns; only the named non-pk columns change. A missing
|
|
37
|
+
* row is a NO-OP. */
|
|
38
|
+
update(table: string, row: KeyedRow): Promise<void>;
|
|
39
|
+
/** Insert, or fully replace when the pk already exists (a FULL row, like `insert`). */
|
|
40
|
+
upsert(table: string, row: KeyedRow): Promise<void>;
|
|
41
|
+
/** Insert a FULL row, or do nothing if the pk already exists (the SQL twin of the client
|
|
42
|
+
* `if (!tx.row(pk)) tx.insert(row)` pattern). */
|
|
43
|
+
insertIgnore(table: string, row: KeyedRow): Promise<void>;
|
|
44
|
+
/** Delete the row identified by the pk columns. A missing row is a NO-OP. */
|
|
45
|
+
delete(table: string, pk: KeyedRow): Promise<void>;
|
|
46
|
+
/** Read one row by primary key, through the OPEN transaction on both backends
|
|
47
|
+
* (read-your-writes: live on Postgres; via an interactive mutation session on the daemon,
|
|
48
|
+
* DAEMON-INTERACTIVE-TXN-DESIGN.md §5.3). */
|
|
49
|
+
row(table: string, pk: KeyedRow): Promise<KeyedRow | undefined>;
|
|
50
|
+
}
|
|
51
|
+
/** A point read a generator mutator yields; the driver resolves it and feeds the row back through
|
|
52
|
+
* `gen.next(row)`. Read-your-writes on every tier: the client reads its local engine, and both
|
|
53
|
+
* server backends read the open transaction (the daemon via an interactive mutation session). */
|
|
54
|
+
export type ReadEffect = {
|
|
55
|
+
kind: "row";
|
|
56
|
+
table: string;
|
|
57
|
+
pk: KeyedRow;
|
|
58
|
+
};
|
|
59
|
+
/** A fan-out a generator mutator yields: run several effects "together". The server driver resolves
|
|
60
|
+
* them with `Promise.all`; the client driver runs them in array order (already synchronous). Results
|
|
61
|
+
* return in the SAME order on both tiers, so the mutator stays deterministic. The `yield` evaluates
|
|
62
|
+
* to `(KeyedRow | undefined)[]` at runtime (cast it — the generator's single next-type is a row). */
|
|
63
|
+
export type BatchEffect = {
|
|
64
|
+
kind: "all";
|
|
65
|
+
effects: readonly YieldEffect[];
|
|
66
|
+
};
|
|
67
|
+
/** Everything a generator mutator may `yield`: a write {@link MutationOp}, a {@link ReadEffect}, or a
|
|
68
|
+
* {@link BatchEffect}. */
|
|
69
|
+
export type YieldEffect = MutationOp | ReadEffect | BatchEffect;
|
|
70
|
+
/** The tier-AGNOSTIC effect factory a generator mutator writes against. Every method just BUILDS an
|
|
71
|
+
* effect to `yield` — it performs no I/O and holds no state, so the single {@link isoTx} instance is
|
|
72
|
+
* shared by every mutator on both tiers; only the driver differs. `insert`/`upsert`/`insertIgnore`
|
|
73
|
+
* take a FULL row; `update`/`delete` take the pk columns (`update` adds the columns to change). */
|
|
74
|
+
export interface IsoTx {
|
|
75
|
+
insert(table: string, row: KeyedRow): MutationOp;
|
|
76
|
+
update(table: string, row: KeyedRow): MutationOp;
|
|
77
|
+
upsert(table: string, row: KeyedRow): MutationOp;
|
|
78
|
+
insertIgnore(table: string, row: KeyedRow): MutationOp;
|
|
79
|
+
delete(table: string, pk: KeyedRow): MutationOp;
|
|
80
|
+
row(table: string, pk: KeyedRow): ReadEffect;
|
|
81
|
+
all(effects: readonly YieldEffect[]): BatchEffect;
|
|
82
|
+
}
|
|
83
|
+
/** The one shared effect factory (stateless — see {@link IsoTx}). */
|
|
84
|
+
export declare const isoTx: IsoTx;
|
|
85
|
+
/** The minimal per-invocation context a shared mutator sees on BOTH tiers: the acting principal. The
|
|
86
|
+
* server injects its AUTHENTICATED user; the client injects its local user. (The server's own
|
|
87
|
+
* `MutationContext` is a superset of this.) */
|
|
88
|
+
export interface MutatorCtx {
|
|
89
|
+
user: string;
|
|
90
|
+
}
|
|
91
|
+
/** What a generator mutator IS: `yield tx.<op>()` on every side effect; a `yield tx.row()` expression
|
|
92
|
+
* evaluates to the row. Neither sync nor async — the tier's driver decides, which is what lets one
|
|
93
|
+
* body run synchronously on the client and against a live async transaction on the server. */
|
|
94
|
+
export type MutationGen = Generator<YieldEffect, void, KeyedRow | undefined>;
|
|
95
|
+
/** A generator (isomorphic) mutator, shared verbatim by both tiers: the client trusts typed `args`,
|
|
96
|
+
* the server parses untrusted args into `Args` before invoking. */
|
|
97
|
+
export type SharedMutator<Args, Ctx extends MutatorCtx = MutatorCtx> = (tx: IsoTx, args: Args, ctx: Ctx) => MutationGen;
|
|
98
|
+
/** The minimal arg validator a shared mutator can carry so the SERVER can parse UNTRUSTED wire args
|
|
99
|
+
* before driving it (the client trusts its typed callsites and never calls this). Structural on
|
|
100
|
+
* purpose — a zod schema satisfies it as-is — so `@rindle/client` stays validator-library-agnostic. */
|
|
101
|
+
export interface ArgSchema<Args> {
|
|
102
|
+
parse(raw: unknown): Args;
|
|
103
|
+
}
|
|
104
|
+
/** A shared mutator that CARRIES its own arg validator, co-located at the def site (`shared(schema,
|
|
105
|
+
* gen)`). The client registers it exactly like a bare generator mutator — the `.args` validator is
|
|
106
|
+
* inert there (typed callsites skip the parse); the server ({@link runSharedMutation}, via the
|
|
107
|
+
* api-server's `sharedApiMutators`) reads `.args` to parse untrusted wire args before driving the
|
|
108
|
+
* SAME body. */
|
|
109
|
+
export type SharedMutatorWithArgs<Args, Ctx extends MutatorCtx = MutatorCtx> = SharedMutator<Args, Ctx> & {
|
|
110
|
+
args: ArgSchema<Args>;
|
|
111
|
+
};
|
|
112
|
+
/** Co-locate a shared (generator) mutator with the validator for its args — pairing the arg SHAPE
|
|
113
|
+
* with the body that consumes it at ONE site, so neither tier restates it (the client derives its
|
|
114
|
+
* callsite type from `Args`; the server parses untrusted args through `.args`). Returns the SAME
|
|
115
|
+
* generator function with an `args` property attached (`Object.assign` mutates + returns it), so the
|
|
116
|
+
* registered value is byte-for-byte what the client drove before: {@link isGeneratorMutator} still
|
|
117
|
+
* detects it and it still `satisfies ClientRegistry`. */
|
|
118
|
+
export declare function shared<Args, Ctx extends MutatorCtx = MutatorCtx>(args: ArgSchema<Args>, run: SharedMutator<Args, Ctx>): SharedMutatorWithArgs<Args, Ctx>;
|
|
119
|
+
/** True iff `fn` is a generator function (a shared/isomorphic mutator) rather than a plain function —
|
|
120
|
+
* the driver accepts both forms. Detected structurally (native `GeneratorFunction`). */
|
|
121
|
+
export declare function isGeneratorMutator(fn: unknown): fn is (...args: never[]) => MutationGen;
|
|
122
|
+
/** A tier's SYNCHRONOUS effect executor (the browser wasm engine): apply a write, resolve a read —
|
|
123
|
+
* both immediate. */
|
|
124
|
+
export interface SyncEffectExec {
|
|
125
|
+
apply(op: MutationOp): void;
|
|
126
|
+
read(table: string, pk: KeyedRow): KeyedRow | undefined;
|
|
127
|
+
}
|
|
128
|
+
/** Drive a generator mutator SYNCHRONOUSLY (the client, inside the wasm write transaction). Each
|
|
129
|
+
* yielded write applies immediately; each read is resolved and fed back; a batch runs in order. */
|
|
130
|
+
export declare function driveMutationSync(gen: MutationGen, exec: SyncEffectExec): void;
|
|
131
|
+
/** A tier's ASYNCHRONOUS effect executor (the server transaction): every op is a Promise. */
|
|
132
|
+
export interface AsyncEffectExec {
|
|
133
|
+
apply(op: MutationOp): Promise<void>;
|
|
134
|
+
read(table: string, pk: KeyedRow): Promise<KeyedRow | undefined>;
|
|
135
|
+
}
|
|
136
|
+
/** Drive a generator mutator ASYNCHRONOUSLY (the server, against the open transaction). Writes are
|
|
137
|
+
* awaited (harmless: a single interactive Postgres connection serializes statements anyway, and the
|
|
138
|
+
* daemon backend resolves them instantly), reads suspend, and a batch fans out with `Promise.all`. */
|
|
139
|
+
export declare function driveMutationAsync(gen: MutationGen, exec: AsyncEffectExec): Promise<void>;
|
|
140
|
+
//# sourceMappingURL=mutation-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-ops.d.ts","sourceRoot":"","sources":["../src/mutation-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Isomorphic mutation ops — the backend-agnostic "rindle mutation" vocabulary
|
|
2
|
+
// (MUTATORS-ISOMORPHIC plan). A mutator names WHAT it writes (insert/update/upsert/
|
|
3
|
+
// insertIgnore/delete over a keyed row), not HOW — the server renders dialect SQL and the
|
|
4
|
+
// client applies to its local engine. This lives in `@rindle/client` (the leaf both tiers
|
|
5
|
+
// import); the SQL renderer that consumes it is server-only (`@rindle/api-server`).
|
|
6
|
+
/** The one shared effect factory (stateless — see {@link IsoTx}). */
|
|
7
|
+
export const isoTx = {
|
|
8
|
+
insert: (table, row) => ({ kind: "insert", table, row }),
|
|
9
|
+
update: (table, row) => ({ kind: "update", table, row }),
|
|
10
|
+
upsert: (table, row) => ({ kind: "upsert", table, row }),
|
|
11
|
+
insertIgnore: (table, row) => ({ kind: "insertIgnore", table, row }),
|
|
12
|
+
delete: (table, pk) => ({ kind: "delete", table, pk }),
|
|
13
|
+
row: (table, pk) => ({ kind: "row", table, pk }),
|
|
14
|
+
all: (effects) => ({ kind: "all", effects }),
|
|
15
|
+
};
|
|
16
|
+
/** Co-locate a shared (generator) mutator with the validator for its args — pairing the arg SHAPE
|
|
17
|
+
* with the body that consumes it at ONE site, so neither tier restates it (the client derives its
|
|
18
|
+
* callsite type from `Args`; the server parses untrusted args through `.args`). Returns the SAME
|
|
19
|
+
* generator function with an `args` property attached (`Object.assign` mutates + returns it), so the
|
|
20
|
+
* registered value is byte-for-byte what the client drove before: {@link isGeneratorMutator} still
|
|
21
|
+
* detects it and it still `satisfies ClientRegistry`. */
|
|
22
|
+
export function shared(args, run) {
|
|
23
|
+
return Object.assign(run, { args });
|
|
24
|
+
}
|
|
25
|
+
/** True iff `fn` is a generator function (a shared/isomorphic mutator) rather than a plain function —
|
|
26
|
+
* the driver accepts both forms. Detected structurally (native `GeneratorFunction`). */
|
|
27
|
+
export function isGeneratorMutator(fn) {
|
|
28
|
+
return (typeof fn === "function" &&
|
|
29
|
+
fn.constructor?.name === "GeneratorFunction");
|
|
30
|
+
}
|
|
31
|
+
/** Drive a generator mutator SYNCHRONOUSLY (the client, inside the wasm write transaction). Each
|
|
32
|
+
* yielded write applies immediately; each read is resolved and fed back; a batch runs in order. */
|
|
33
|
+
export function driveMutationSync(gen, exec) {
|
|
34
|
+
const run = (eff) => {
|
|
35
|
+
if (eff.kind === "row")
|
|
36
|
+
return exec.read(eff.table, eff.pk);
|
|
37
|
+
if (eff.kind === "all")
|
|
38
|
+
return eff.effects.map(run);
|
|
39
|
+
exec.apply(eff);
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
for (let step = gen.next(); !step.done; step = gen.next(run(step.value)))
|
|
43
|
+
;
|
|
44
|
+
}
|
|
45
|
+
/** Drive a generator mutator ASYNCHRONOUSLY (the server, against the open transaction). Writes are
|
|
46
|
+
* awaited (harmless: a single interactive Postgres connection serializes statements anyway, and the
|
|
47
|
+
* daemon backend resolves them instantly), reads suspend, and a batch fans out with `Promise.all`. */
|
|
48
|
+
export async function driveMutationAsync(gen, exec) {
|
|
49
|
+
const run = async (eff) => {
|
|
50
|
+
if (eff.kind === "row")
|
|
51
|
+
return exec.read(eff.table, eff.pk);
|
|
52
|
+
if (eff.kind === "all")
|
|
53
|
+
return (await Promise.all(eff.effects.map(run)));
|
|
54
|
+
await exec.apply(eff);
|
|
55
|
+
return undefined;
|
|
56
|
+
};
|
|
57
|
+
for (let step = gen.next(); !step.done; step = gen.next(await run(step.value)))
|
|
58
|
+
;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=mutation-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-ops.js","sourceRoot":"","sources":["../src/mutation-ops.ts"],"names":[],"mappings":"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"}
|
package/dist/operators.d.ts
CHANGED
|
@@ -22,6 +22,11 @@ export declare const inList: <V>(values: V[]) => Pred<V>;
|
|
|
22
22
|
export declare const notInList: <V>(values: V[]) => Pred<V>;
|
|
23
23
|
export declare const is: <V>(v: V) => Pred<V>;
|
|
24
24
|
export declare const isNot: <V>(v: V) => Pred<V>;
|
|
25
|
+
/** `IS NULL` — a field-agnostic null check. `V` is inferred from the field's expected `Arg<V>`
|
|
26
|
+
* (e.g. `where.signedAt(isNull())`), so it fits a column of any type without a cast. */
|
|
27
|
+
export declare const isNull: <V = never>() => Pred<V>;
|
|
28
|
+
/** `IS NOT NULL` — the negation of {@link isNull}; `V` is inferred from the field, like {@link isNull}. */
|
|
29
|
+
export declare const isNotNull: <V = never>() => Pred<V>;
|
|
25
30
|
/** A field argument: its typed predicate, or a bare value (bare = `eq` sugar). */
|
|
26
31
|
export type Arg<V> = Pred<V> | V;
|
|
27
32
|
/** A condition over row `R`. The runtime value is the wire {@link Condition}; `R` is a
|
package/dist/operators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,QAAA,MAAM,IAAI,EAAE,OAAO,MAA8B,CAAC;AAElD,8FAA8F;AAC9F,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAClB;AAMD,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAErD;AAED,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA2B,CAAC;AAC/D,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;AAChE,eAAO,MAAM,EAAE,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA2B,CAAC;AACvF,eAAO,MAAM,EAAE,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;AACxF,eAAO,MAAM,EAAE,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA2B,CAAC;AACvF,eAAO,MAAM,EAAE,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;AACxF,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,KAAG,IAAI,CAAC,MAAM,CAAwB,CAAC;AAC3E,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,KAAG,IAAI,CAAC,MAAM,CAA4B,CAAC;AAClF,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,KAAG,IAAI,CAAC,MAAM,CAAyB,CAAC;AAC7E,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,IAAI,CAAC,MAAM,CAA6B,CAAC;AACpF,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,CAAiC,CAAC;AAChF,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,CAAqC,CAAC;AACvF,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;AAChE,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,IAAI,CAAC,CAAC,CAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":"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"}
|
package/dist/operators.js
CHANGED
|
@@ -23,6 +23,11 @@ export const inList = (values) => mk("IN", values);
|
|
|
23
23
|
export const notInList = (values) => mk("NOT IN", values);
|
|
24
24
|
export const is = (v) => mk("IS", v);
|
|
25
25
|
export const isNot = (v) => mk("IS NOT", v);
|
|
26
|
+
/** `IS NULL` — a field-agnostic null check. `V` is inferred from the field's expected `Arg<V>`
|
|
27
|
+
* (e.g. `where.signedAt(isNull())`), so it fits a column of any type without a cast. */
|
|
28
|
+
export const isNull = () => mk("IS", null);
|
|
29
|
+
/** `IS NOT NULL` — the negation of {@link isNull}; `V` is inferred from the field, like {@link isNull}. */
|
|
30
|
+
export const isNotNull = () => mk("IS NOT", null);
|
|
26
31
|
/** Build a `simple` condition from a field name + (predicate | bare value). */
|
|
27
32
|
export function fieldCondition(field, arg) {
|
|
28
33
|
const op = isPred(arg) ? arg.op : "=";
|
package/dist/operators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,2FAA2F;AAC3F,sFAAsF;AACtF,4DAA4D;AAI5D,MAAM,IAAI,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AAUlD,SAAS,EAAE,CAAI,EAAY,EAAE,KAAe;IAC1C,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAa,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAA6B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAa,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAa,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,EAAE,GAAG,CAA4B,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAa,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,EAAE,GAAG,CAA4B,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAa,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,EAAE,GAAG,CAA4B,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAa,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,EAAE,GAAG,CAA4B,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAa,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAgB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAgB,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAgB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAgB,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,MAAW,EAAW,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAkB,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,MAAW,EAAW,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAkB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAa,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAI,CAAI,EAAW,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":"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"}
|
package/dist/query.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Ast, CorrelatedSubquery, Dir, LitValue } from "./ast.ts";
|
|
1
|
+
import type { Ast, CorrelatedSubquery, Dir, LitValue, SimpleOp } from "./ast.ts";
|
|
2
2
|
import type { Arg, Cond } from "./operators.ts";
|
|
3
3
|
import type { AnyCols, ColsMap, ColT, Relationship, RowOf, Schema, TableLike } from "./schema.ts";
|
|
4
4
|
import type { ArrayView, SingularArrayView } from "./view.ts";
|
|
@@ -22,8 +22,31 @@ type MaterializedView<R, One extends boolean> = One extends true ? SingularArray
|
|
|
22
22
|
* narrowing is always sound versus a runtime row that may still carry more.
|
|
23
23
|
*/
|
|
24
24
|
type Projected<C extends AnyCols, Sel extends string> = [Sel] extends [never] ? RowOf<C> : Pick<RowOf<C>, Sel & keyof C>;
|
|
25
|
+
/**
|
|
26
|
+
* The accumulating result row of a top-level aggregate (REDUCE-DESIGN.md §8). `Agg` is `false`
|
|
27
|
+
* until {@link QueryBase.count}/{@link QueryBase.groupBy} reshapes the query; then it is the
|
|
28
|
+
* group-by columns intersected with the synthetic `{ count: number }`. {@link AggAcc} treats the
|
|
29
|
+
* `false` state as `{}` so the intersections in `count`/`groupBy` compose either way.
|
|
30
|
+
*/
|
|
31
|
+
type AggAcc<Agg> = [Agg] extends [false] ? {} : Agg;
|
|
32
|
+
/** `having`'s field binder: one accessor per aggregate-OUTPUT column (the group-by columns plus the
|
|
33
|
+
* synthetic numeric `count`), each producing a {@link Cond} over that aggregate row. It is the only
|
|
34
|
+
* way to name `count` in a predicate (it lives on no base table); compose several with `and`/`or`. */
|
|
35
|
+
type HavingProxy<Row> = {
|
|
36
|
+
[K in keyof Row & string]: (arg: Arg<Row[K]>) => Cond<Row>;
|
|
37
|
+
};
|
|
38
|
+
/** The `countAs` relationship aliases of a query — the {@link Rels} keys whose value is the scalar
|
|
39
|
+
* `number` a count aggregate surfaces. These are the only aliases {@link QueryBase.having}'s
|
|
40
|
+
* parent-by-child-aggregate overload accepts (a plain `sub` alias carries a row object, not a
|
|
41
|
+
* number, so it is rejected). */
|
|
42
|
+
type AggregateAlias<Rels> = {
|
|
43
|
+
[K in keyof Rels]: Rels[K] extends number ? K & string : never;
|
|
44
|
+
}[keyof Rels];
|
|
45
|
+
/** What a query materializes: the post-aggregation row once reshaped by {@link QueryBase.count}
|
|
46
|
+
* (`Agg`), else the projected base row plus its relationship values. */
|
|
47
|
+
type ResultRow<C extends AnyCols, Rels, Sel extends string, Agg> = [Agg] extends [false] ? Projected<C, Sel> & Rels : Agg;
|
|
25
48
|
type FragmentEdge<C extends AnyCols, Rels, Sel extends string, LocalRels> = (q: Query<C, Rels, false, Sel, LocalRels>) => Query<C, Rels, boolean, Sel, LocalRels>;
|
|
26
|
-
interface QueryBase<C extends AnyCols, Rels, One extends boolean, Sel extends string, LocalRels> {
|
|
49
|
+
interface QueryBase<C extends AnyCols, Rels, One extends boolean, Sel extends string, LocalRels, Agg = false> {
|
|
27
50
|
/** Present when this local query came from `defineQuery`; used as the remote identity. */
|
|
28
51
|
readonly name?: string;
|
|
29
52
|
/** Present when this local query came from `defineQuery`; sent with `name` upstream. */
|
|
@@ -131,18 +154,51 @@ interface QueryBase<C extends AnyCols, Rels, One extends boolean, Sel extends st
|
|
|
131
154
|
}, One, Sel, LocalRels & {
|
|
132
155
|
[P in A]: number;
|
|
133
156
|
}>;
|
|
157
|
+
/** Reshape this query into a top-level `count(*)` aggregate (`REDUCE-DESIGN.md` §8) — the SQL
|
|
158
|
+
* `SELECT count(*) FROM table [GROUP BY …] [HAVING …]`. Without {@link groupBy} it is a GLOBAL
|
|
159
|
+
* count (one `{ count }` row, value `0` even on empty input); with it, one `{ …group, count }`
|
|
160
|
+
* row per distinct group. The result row becomes the aggregate's OUTPUT — the group-by columns
|
|
161
|
+
* plus a numeric `count` — so chain {@link having} to filter it. Distinct from {@link countAs}
|
|
162
|
+
* (a child-relationship scalar attached to the parent row); this reshapes the query ITSELF. The
|
|
163
|
+
* engine rejects pairing a root aggregate with `select`/`sub`/`countAs`/`orderBy`/`limit`/`one`. */
|
|
164
|
+
count(): Query<C, Rels, One, Sel, LocalRels, AggAcc<Agg> & {
|
|
165
|
+
count: number;
|
|
166
|
+
}>;
|
|
167
|
+
/** Add a top-level `GROUP BY` column (chain for a compound key); only meaningful with
|
|
168
|
+
* {@link count}. Each grouped column joins the aggregate result row, keyed + sorted by the
|
|
169
|
+
* group key. */
|
|
170
|
+
groupBy<K extends keyof C & string>(col: K): Query<C, Rels, One, Sel, LocalRels, AggAcc<Agg> & Pick<RowOf<C>, K>>;
|
|
171
|
+
/** `HAVING (…)` — filter the **post-aggregation** rows of a {@link count} query (`REDUCE-DESIGN.md`
|
|
172
|
+
* §4: a filter directly above the reduce). `build` receives a field binder over the aggregate's
|
|
173
|
+
* OUTPUT columns — the {@link groupBy} columns and the synthetic `count` — and returns a
|
|
174
|
+
* {@link Cond}; compose several with `and`/`or`. E.g.
|
|
175
|
+
* `.groupBy("status").count().having((h) => h.count(gt(3)))`. Distinct from {@link where}, which
|
|
176
|
+
* filters base rows BELOW the reduce. */
|
|
177
|
+
having(build: (h: HavingProxy<AggAcc<Agg>>) => Cond<AggAcc<Agg>>): Query<C, Rels, One, Sel, LocalRels, Agg>;
|
|
178
|
+
/** `HAVING count(child) <op> n` — filter THIS parent by a child relationship aggregate's count
|
|
179
|
+
* (`PARENT-AGGREGATE-FILTER-DESIGN.md`). `alias` must name a {@link countAs} relationship already
|
|
180
|
+
* on this query; this drops parents whose child count fails `<op> val`, maintained incrementally
|
|
181
|
+
* (a child add/remove crossing the threshold adds/removes the parent). The display `countAs` is
|
|
182
|
+
* untouched — a survivor still shows its real count. Distinct from the {@link having} overload
|
|
183
|
+
* above, which filters a top-level {@link count}'s own output rows.
|
|
184
|
+
*
|
|
185
|
+
* **v1: high-pass predicates only** — predicates *false* at count 0 (`>`, `>=`/`=`/`!=` for
|
|
186
|
+
* `n ≥ 1`). A childless parent forms no group, so the engine rejects (at build) a predicate *true*
|
|
187
|
+
* at count 0 (`<=`, `< n` for `n ≥ 1`, `= 0`, `>= 0`); those need row-widening (deferred). */
|
|
188
|
+
having<A extends AggregateAlias<Rels>>(alias: A, op: SimpleOp, val: number): Query<C, Rels, One, Sel, LocalRels, Agg>;
|
|
134
189
|
/** The compiled Zero-wire AST (what a backend's `query` consumes). */
|
|
135
190
|
ast(): Ast;
|
|
136
191
|
/** Materialize into a live, typed view. Wired by the Store/backend. A top-level `.one()`
|
|
137
|
-
* yields a {@link SingularArrayView}; otherwise an {@link ArrayView}. The row is
|
|
138
|
-
*
|
|
139
|
-
|
|
192
|
+
* yields a {@link SingularArrayView}; otherwise an {@link ArrayView}. The row is the aggregate
|
|
193
|
+
* output once {@link count} reshaped the query, else masked to the projection ({@link Projected})
|
|
194
|
+
* — full {@link RowOf} until a column is `select`ed. */
|
|
195
|
+
materialize(): MaterializedView<ResultRow<C, Rels, Sel, Agg>, One>;
|
|
140
196
|
}
|
|
141
|
-
export type Query<C extends AnyCols, Rels = {}, One extends boolean = false, Sel extends string = never, LocalRels = Rels> = Omit<QueryBase<C, Rels, One, Sel, LocalRels>, "where"> & {
|
|
142
|
-
where: QueryBase<C, Rels, One, Sel, LocalRels>["where"] & WhereProxy<C, Rels, One, Sel, LocalRels>;
|
|
197
|
+
export type Query<C extends AnyCols, Rels = {}, One extends boolean = false, Sel extends string = never, LocalRels = Rels, Agg = false> = Omit<QueryBase<C, Rels, One, Sel, LocalRels, Agg>, "where"> & {
|
|
198
|
+
where: QueryBase<C, Rels, One, Sel, LocalRels, Agg>["where"] & WhereProxy<C, Rels, One, Sel, LocalRels>;
|
|
143
199
|
} & WhereSugar<C, Rels, One, Sel, LocalRels>;
|
|
144
|
-
export type AnyQuery = Query<any, any, any, any, any>;
|
|
145
|
-
export type QueryLocalData<Q extends AnyQuery> = Q extends Query<infer C, any, infer One, infer Sel, infer LocalRels> ? One extends true ? (Projected<C, Sel> & LocalRels) | null : readonly (Projected<C, Sel> & LocalRels)[] : never;
|
|
200
|
+
export type AnyQuery = Query<any, any, any, any, any, any>;
|
|
201
|
+
export type QueryLocalData<Q extends AnyQuery> = Q extends Query<infer C, any, infer One, infer Sel, infer LocalRels, infer Agg> ? [Agg] extends [false] ? One extends true ? (Projected<C, Sel> & LocalRels) | null : readonly (Projected<C, Sel> & LocalRels)[] : readonly Agg[] : never;
|
|
146
202
|
/** Turn raw, UNTRUSTED wire args into the canonical, typed args a query is built from. Its return
|
|
147
203
|
* type IS the query's args type — written once, it flows to both the client call signature and the
|
|
148
204
|
* `build` step, so there's no second place to restate the shape. */
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|