neoorm 0.4.7 → 0.5.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 (90) hide show
  1. package/README.md +6 -6
  2. package/dist/codegen/emit-includes.d.ts.map +1 -1
  3. package/dist/codegen/emit-includes.js +3 -1
  4. package/dist/codegen/emit-includes.js.map +1 -1
  5. package/dist/dialect/postgres.d.ts.map +1 -1
  6. package/dist/dialect/postgres.js +8 -4
  7. package/dist/dialect/postgres.js.map +1 -1
  8. package/dist/dialect/sqlite.d.ts.map +1 -1
  9. package/dist/dialect/sqlite.js +14 -4
  10. package/dist/dialect/sqlite.js.map +1 -1
  11. package/dist/dialect/types.d.ts +4 -1
  12. package/dist/dialect/types.d.ts.map +1 -1
  13. package/dist/plugins/builtin.d.ts +6 -2
  14. package/dist/plugins/builtin.d.ts.map +1 -1
  15. package/dist/plugins/builtin.js.map +1 -1
  16. package/dist/runtime/client.d.ts +44 -6
  17. package/dist/runtime/client.d.ts.map +1 -1
  18. package/dist/runtime/client.js +13 -10
  19. package/dist/runtime/client.js.map +1 -1
  20. package/dist/runtime/query/aggregate.d.ts +3 -1
  21. package/dist/runtime/query/aggregate.d.ts.map +1 -1
  22. package/dist/runtime/query/aggregate.js +19 -5
  23. package/dist/runtime/query/aggregate.js.map +1 -1
  24. package/dist/runtime/query/compile.d.ts +49 -10
  25. package/dist/runtime/query/compile.d.ts.map +1 -1
  26. package/dist/runtime/query/compile.js +666 -68
  27. package/dist/runtime/query/compile.js.map +1 -1
  28. package/dist/runtime/query/count.d.ts +10 -2
  29. package/dist/runtime/query/count.d.ts.map +1 -1
  30. package/dist/runtime/query/count.js +39 -3
  31. package/dist/runtime/query/count.js.map +1 -1
  32. package/dist/runtime/query/create.d.ts +2 -0
  33. package/dist/runtime/query/create.d.ts.map +1 -1
  34. package/dist/runtime/query/create.js +7 -4
  35. package/dist/runtime/query/create.js.map +1 -1
  36. package/dist/runtime/query/cursor.d.ts +2 -1
  37. package/dist/runtime/query/cursor.d.ts.map +1 -1
  38. package/dist/runtime/query/cursor.js +21 -2
  39. package/dist/runtime/query/cursor.js.map +1 -1
  40. package/dist/runtime/query/delete.d.ts +3 -0
  41. package/dist/runtime/query/delete.d.ts.map +1 -1
  42. package/dist/runtime/query/delete.js +18 -3
  43. package/dist/runtime/query/delete.js.map +1 -1
  44. package/dist/runtime/query/find-or-create.d.ts.map +1 -1
  45. package/dist/runtime/query/find-or-create.js +3 -3
  46. package/dist/runtime/query/find-or-create.js.map +1 -1
  47. package/dist/runtime/query/find.d.ts +17 -9
  48. package/dist/runtime/query/find.d.ts.map +1 -1
  49. package/dist/runtime/query/find.js +118 -53
  50. package/dist/runtime/query/find.js.map +1 -1
  51. package/dist/runtime/query/group-by.d.ts +23 -0
  52. package/dist/runtime/query/group-by.d.ts.map +1 -0
  53. package/dist/runtime/query/group-by.js +54 -0
  54. package/dist/runtime/query/group-by.js.map +1 -0
  55. package/dist/runtime/query/paginate.d.ts +3 -0
  56. package/dist/runtime/query/paginate.d.ts.map +1 -1
  57. package/dist/runtime/query/paginate.js +34 -12
  58. package/dist/runtime/query/paginate.js.map +1 -1
  59. package/dist/runtime/query/projection.d.ts +19 -0
  60. package/dist/runtime/query/projection.d.ts.map +1 -0
  61. package/dist/runtime/query/projection.js +125 -0
  62. package/dist/runtime/query/projection.js.map +1 -0
  63. package/dist/runtime/query/relation-planner.d.ts +15 -5
  64. package/dist/runtime/query/relation-planner.d.ts.map +1 -1
  65. package/dist/runtime/query/relation-planner.js +103 -43
  66. package/dist/runtime/query/relation-planner.js.map +1 -1
  67. package/dist/runtime/query/table-index.d.ts +1 -0
  68. package/dist/runtime/query/table-index.d.ts.map +1 -1
  69. package/dist/runtime/query/table-index.js +1 -0
  70. package/dist/runtime/query/table-index.js.map +1 -1
  71. package/dist/runtime/query/update.d.ts +4 -0
  72. package/dist/runtime/query/update.d.ts.map +1 -1
  73. package/dist/runtime/query/update.js +55 -25
  74. package/dist/runtime/query/update.js.map +1 -1
  75. package/dist/runtime/query/upsert.d.ts.map +1 -1
  76. package/dist/runtime/query/upsert.js +8 -9
  77. package/dist/runtime/query/upsert.js.map +1 -1
  78. package/dist/runtime/types.d.ts +23 -11
  79. package/dist/runtime/types.d.ts.map +1 -1
  80. package/dist/schema/column-where.d.ts +3 -0
  81. package/dist/schema/column-where.d.ts.map +1 -1
  82. package/dist/schema/index.d.ts +2 -2
  83. package/dist/schema/index.d.ts.map +1 -1
  84. package/dist/schema/index.js +1 -1
  85. package/dist/schema/index.js.map +1 -1
  86. package/dist/schema/relation-types.d.ts +17 -8
  87. package/dist/schema/relation-types.d.ts.map +1 -1
  88. package/dist/schema/types.d.ts +117 -16
  89. package/dist/schema/types.d.ts.map +1 -1
  90. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/runtime/query/find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/runtime/query/find.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Executor } from "../executor.js";
2
+ import { type OrderByInput } from "./compile.js";
3
+ import { type QueryRuntime } from "./execute.js";
4
+ export declare function groupByRecords(executor: Executor, runtime: QueryRuntime, tableAccessor: string, args: {
5
+ by: readonly string[] | Record<string, boolean | undefined>;
6
+ where?: Record<string, unknown>;
7
+ having?: {
8
+ _count?: number | Record<string, unknown>;
9
+ _avg?: Record<string, number | Record<string, unknown>>;
10
+ _sum?: Record<string, number | Record<string, unknown>>;
11
+ _min?: Record<string, number | Record<string, unknown>>;
12
+ _max?: Record<string, number | Record<string, unknown>>;
13
+ };
14
+ orderBy?: OrderByInput;
15
+ take?: number;
16
+ skip?: number;
17
+ _count?: true | Record<string, true>;
18
+ _avg?: Record<string, true>;
19
+ _sum?: Record<string, true>;
20
+ _min?: Record<string, true>;
21
+ _max?: Record<string, true>;
22
+ }): Promise<Record<string, unknown>[]>;
23
+ //# sourceMappingURL=group-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-by.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/group-by.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EASN,KAAK,YAAY,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,cAAc,CAAC;AAG3D,wBAAsB,cAAc,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IACL,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACxD,CAAC;IACF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC5B,GACC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CA0FpC"}
@@ -0,0 +1,54 @@
1
+ import { postgresDialect } from "../../dialect/postgres.js";
2
+ import { parseAggregateRow } from "./aggregate.js";
3
+ import { compileGroupByOrderBy, compileHaving, compileWhere, getCachedGroupByQuery, isImpossibleWhere, mapRowToTs, normalizeSelectColumns, toCountSelector, } from "./compile.js";
4
+ import { runQuery } from "./execute.js";
5
+ import { columnByTsName, getTableIndex } from "./table-index.js";
6
+ export async function groupByRecords(executor, runtime, tableAccessor, args) {
7
+ const dialect = runtime.dialect ?? postgresDialect;
8
+ const { manifest } = runtime;
9
+ const table = manifest.tables[tableAccessor];
10
+ if (!table)
11
+ throw new Error(`Unknown table: ${tableAccessor}`);
12
+ const byKeys = normalizeSelectColumns(args.by);
13
+ if (!byKeys || byKeys.length === 0) {
14
+ throw new Error("groupBy requires at least one column");
15
+ }
16
+ const tableIndex = getTableIndex(runtime.tableIndex, tableAccessor);
17
+ for (const key of byKeys) {
18
+ if (!columnByTsName(tableIndex, table, key)) {
19
+ throw new Error(`Unknown groupBy column: ${key}`);
20
+ }
21
+ }
22
+ const selectors = {};
23
+ if (args._count !== undefined) {
24
+ selectors._count = toCountSelector(args._count);
25
+ }
26
+ if (args._avg)
27
+ selectors._avg = args._avg;
28
+ if (args._sum)
29
+ selectors._sum = args._sum;
30
+ if (args._min)
31
+ selectors._min = args._min;
32
+ if (args._max)
33
+ selectors._max = args._max;
34
+ const compiledWhere = compileWhere(manifest, table, args.where, dialect, 1, runtime.tableIndex);
35
+ if (compiledWhere.impossible || isImpossibleWhere(compiledWhere.sql)) {
36
+ return [];
37
+ }
38
+ const compiledHaving = compileHaving(table, selectors, args.having, dialect, compiledWhere.params.length + 1, runtime.tableIndex);
39
+ if (compiledHaving.impossible || isImpossibleWhere(compiledHaving.sql)) {
40
+ return [];
41
+ }
42
+ const orderSql = compileGroupByOrderBy(table, byKeys, selectors, args.orderBy, dialect, runtime.tableIndex);
43
+ const query = getCachedGroupByQuery(tableIndex, table, byKeys, selectors, compiledWhere.sql, compiledHaving.sql, orderSql, args.take, args.skip, runtime.tableIndex, dialect);
44
+ const rows = await runQuery(executor, runtime, { operation: "select", tableAccessor }, query, [...compiledWhere.params, ...compiledHaving.params]);
45
+ return rows.map((row) => {
46
+ const mapped = mapRowToTs(tableIndex, table, row);
47
+ const grouped = {};
48
+ for (const key of byKeys) {
49
+ grouped[key] = mapped[key];
50
+ }
51
+ return { ...grouped, ...parseAggregateRow(row, selectors) };
52
+ });
53
+ }
54
+ //# sourceMappingURL=group-by.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-by.js","sourceRoot":"","sources":["../../../src/runtime/query/group-by.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,15 @@ export type PaginateArgs = {
6
6
  orderBy: Record<string, string>;
7
7
  take: number;
8
8
  after?: Record<string, unknown>;
9
+ before?: Record<string, unknown>;
9
10
  with?: Record<string, WithInput>;
10
11
  };
11
12
  export type PaginateRuntimeResult = {
12
13
  items: Record<string, unknown>[];
13
14
  nextCursor: Record<string, unknown> | null;
15
+ prevCursor: Record<string, unknown> | null;
14
16
  hasMore: boolean;
17
+ hasPrevious: boolean;
15
18
  };
16
19
  export declare function paginateRecords(executor: Executor, runtime: QueryRuntime, tableAccessor: string, args: PaginateArgs): Promise<PaginateRuntimeResult>;
17
20
  //# sourceMappingURL=paginate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/paginate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS/C,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,cAAc,CAAC;AAC3D,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAMpE,MAAM,MAAM,YAAY,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,eAAe,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAyFhC"}
1
+ {"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/paginate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/C,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,cAAc,CAAC;AAC3D,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAMpE,MAAM,MAAM,YAAY,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,eAAe,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAsHhC"}
@@ -1,6 +1,6 @@
1
1
  import { postgresDialect } from "../../dialect/postgres.js";
2
2
  import { buildPaginateQuery, compileWhere } from "./compile.js";
3
- import { compileCursorWhere, compileOrderByFromSpec, cursorFromRow, mergeWhereWithCursor, resolveOrderSpec, } from "./cursor.js";
3
+ import { compileCursorWhere, compileOrderByFromSpec, cursorFromRow, flipOrderSpec, mergeWhereWithCursor, resolveOrderSpec, } from "./cursor.js";
4
4
  import { runQuery } from "./execute.js";
5
5
  import { hydrateAndLoadRelations } from "./find.js";
6
6
  import { buildPlanExtraSelectCols, planRelationLoad, } from "./relation-planner.js";
@@ -18,23 +18,45 @@ export async function paginateRecords(executor, runtime, tableAccessor, args) {
18
18
  let whereSql = userWhereSql;
19
19
  let params = userParams;
20
20
  if (args.after) {
21
- const cursorWhere = compileCursorWhere(orderSpec, args.after, userParams.length + 1, dialect);
22
- const merged = mergeWhereWithCursor(userWhereSql, userParams, cursorWhere);
21
+ const cursorWhere = compileCursorWhere(orderSpec, args.after, params.length + 1, dialect, "after");
22
+ const merged = mergeWhereWithCursor(whereSql, params, cursorWhere);
23
23
  whereSql = merged.sql;
24
24
  params = merged.params;
25
25
  }
26
- const orderSql = compileOrderByFromSpec(orderSpec);
26
+ if (args.before) {
27
+ const cursorWhere = compileCursorWhere(orderSpec, args.before, params.length + 1, dialect, "before");
28
+ const merged = mergeWhereWithCursor(whereSql, params, cursorWhere);
29
+ whereSql = merged.sql;
30
+ params = merged.params;
31
+ }
32
+ const backward = Boolean(args.before) && args.after === undefined;
33
+ const queryOrderSpec = backward ? flipOrderSpec(orderSpec) : orderSpec;
34
+ const orderSql = compileOrderByFromSpec(queryOrderSpec);
27
35
  const plan = planRelationLoad(manifest, table, args.with, dialect, runtime.tableIndex);
28
- const extraSelectCols = args.with
29
- ? buildPlanExtraSelectCols(manifest, table, plan, dialect, runtime.tableIndex)
30
- : [];
31
- const query = buildPaginateQuery(table, whereSql, orderSql, args.take, extraSelectCols.length > 0 ? extraSelectCols : undefined, plan.joins.length > 0 ? plan.joins : undefined, runtime.tableIndex);
32
- const rows = await runQuery(executor, runtime, { operation: "select", tableAccessor }, query, params);
33
- const hasMore = rows.length > args.take;
34
- const pageRows = hasMore ? rows.slice(0, args.take) : rows;
36
+ const extraSelect = args.with
37
+ ? buildPlanExtraSelectCols(manifest, table, plan, dialect, runtime.tableIndex, params.length + 1)
38
+ : { cols: [], params: [] };
39
+ const query = buildPaginateQuery(table, whereSql, orderSql, args.take, extraSelect.cols.length > 0 ? extraSelect.cols : undefined, plan.joins.length > 0 ? plan.joins : undefined, runtime.tableIndex);
40
+ const rows = await runQuery(executor, runtime, { operation: "select", tableAccessor }, query, [...params, ...extraSelect.params]);
41
+ const extra = rows.length > args.take;
42
+ const sliced = extra ? rows.slice(0, args.take) : rows;
43
+ const pageRows = backward ? sliced.slice().reverse() : sliced;
35
44
  const loaded = await hydrateAndLoadRelations(executor, runtime, table, pageRows, args.with, plan);
45
+ if (loaded.length === 0) {
46
+ return {
47
+ items: loaded,
48
+ nextCursor: null,
49
+ prevCursor: null,
50
+ hasMore: false,
51
+ hasPrevious: false,
52
+ };
53
+ }
54
+ const hasMore = backward || extra;
55
+ const hasPrevious = args.after !== undefined || (backward && extra);
56
+ const firstItem = loaded[0];
36
57
  const lastItem = loaded[loaded.length - 1];
37
58
  const nextCursor = hasMore && lastItem ? cursorFromRow(orderSpec, lastItem) : null;
38
- return { items: loaded, nextCursor, hasMore };
59
+ const prevCursor = hasPrevious && firstItem ? cursorFromRow(orderSpec, firstItem) : null;
60
+ return { items: loaded, nextCursor, prevCursor, hasMore, hasPrevious };
39
61
  }
40
62
  //# sourceMappingURL=paginate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../../src/runtime/query/paginate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../../src/runtime/query/paginate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ManifestTable } from "../../dialect/types.js";
2
+ import { type TableIndex } from "./table-index.js";
3
+ export type ColumnPickArg = readonly string[] | Record<string, boolean | undefined>;
4
+ export type ParentProjection = {
5
+ hasProjection: boolean;
6
+ requested: readonly string[];
7
+ sqlColumns: readonly string[] | undefined;
8
+ };
9
+ export type ParentProjectionArgs = {
10
+ select?: ColumnPickArg;
11
+ omit?: ColumnPickArg;
12
+ with?: Record<string, unknown>;
13
+ };
14
+ export declare function projectionSignature(sqlColumns: readonly string[] | undefined): string;
15
+ export declare function resolveParentProjection(table: ManifestTable, args: ParentProjectionArgs | undefined, tableIndex?: TableIndex): ParentProjection;
16
+ export declare function applyParentProjection(rows: Record<string, unknown>[], requested: readonly string[], withSpec?: Record<string, unknown>): Record<string, unknown>[];
17
+ export declare function projectFindRows(rows: Record<string, unknown>[], projection: ParentProjection, withSpec?: Record<string, unknown>): Record<string, unknown>[];
18
+ export declare function projectFindRow(row: Record<string, unknown>, projection: ParentProjection, withSpec?: Record<string, unknown>): Record<string, unknown>;
19
+ //# sourceMappingURL=projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,MAAM,aAAa,GACtB,SAAS,MAAM,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAiEF,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACvC,MAAM,CAGR;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,oBAAoB,GAAG,SAAS,EACtC,UAAU,CAAC,EAAE,UAAU,GACrB,gBAAgB,CAiDlB;AAED,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAiB3B;AAED,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAG3B;AAED,wBAAgB,cAAc,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB"}
@@ -0,0 +1,125 @@
1
+ import { normalizeSelectColumns } from "./compile.js";
2
+ import { findRelation, tableOwnsFkColumn } from "./manifest-lookup.js";
3
+ import { primaryKeyTsNames } from "./primary-key.js";
4
+ import { columnByTsName } from "./table-index.js";
5
+ function hasWithSpec(withSpec) {
6
+ return Boolean(withSpec && Object.keys(withSpec).length > 0);
7
+ }
8
+ function validateProjectionColumns(table, keys, label, tableIndex) {
9
+ for (const key of keys) {
10
+ if (!columnByTsName(tableIndex, table, key)) {
11
+ throw new Error(`Unknown column "${key}" in ${label} for table "${table.accessor}"`);
12
+ }
13
+ }
14
+ }
15
+ function internalSelectColumns(table, withSpec, tableIndex) {
16
+ if (!hasWithSpec(withSpec))
17
+ return [];
18
+ const extras = [];
19
+ const seen = new Set();
20
+ const add = (name) => {
21
+ if (seen.has(name))
22
+ return;
23
+ seen.add(name);
24
+ extras.push(name);
25
+ };
26
+ for (const tsName of primaryKeyTsNames(table, tableIndex)) {
27
+ add(tsName);
28
+ }
29
+ for (const [name, spec] of Object.entries(withSpec ?? {})) {
30
+ if (name === "_count" || spec == null || spec === false)
31
+ continue;
32
+ const relation = findRelation(table, name, tableIndex);
33
+ if (relation && tableOwnsFkColumn(table, relation, tableIndex)) {
34
+ add(relation.fkColumn);
35
+ }
36
+ }
37
+ return extras;
38
+ }
39
+ function mergeSqlColumns(requested, extras) {
40
+ const sqlColumns = [...requested];
41
+ const seen = new Set(requested);
42
+ for (const extra of extras) {
43
+ if (seen.has(extra))
44
+ continue;
45
+ seen.add(extra);
46
+ sqlColumns.push(extra);
47
+ }
48
+ return sqlColumns;
49
+ }
50
+ export function projectionSignature(sqlColumns) {
51
+ if (!sqlColumns)
52
+ return "";
53
+ return [...sqlColumns].sort().join(",");
54
+ }
55
+ export function resolveParentProjection(table, args, tableIndex) {
56
+ const select = args?.select;
57
+ const omit = args?.omit;
58
+ if (select !== undefined && omit !== undefined) {
59
+ throw new Error("select and omit cannot be used together");
60
+ }
61
+ const withSpec = args?.with;
62
+ const extras = internalSelectColumns(table, withSpec, tableIndex);
63
+ if (select !== undefined) {
64
+ const keys = normalizeSelectColumns(select) ?? [];
65
+ if (keys.length === 0) {
66
+ throw new Error("select must include at least one column");
67
+ }
68
+ validateProjectionColumns(table, keys, "select", tableIndex);
69
+ const sqlColumns = mergeSqlColumns(keys, extras);
70
+ if (sqlColumns.length === 0) {
71
+ throw new Error("select must include at least one column");
72
+ }
73
+ return { hasProjection: true, requested: keys, sqlColumns };
74
+ }
75
+ if (omit !== undefined) {
76
+ const omitKeys = normalizeSelectColumns(omit) ?? [];
77
+ if (omitKeys.length === 0) {
78
+ return {
79
+ hasProjection: false,
80
+ requested: [],
81
+ sqlColumns: undefined,
82
+ };
83
+ }
84
+ validateProjectionColumns(table, omitKeys, "omit", tableIndex);
85
+ const omitSet = new Set(omitKeys);
86
+ const requested = table.columns
87
+ .map((col) => col.tsName)
88
+ .filter((name) => !omitSet.has(name));
89
+ if (requested.length === 0 && !hasWithSpec(withSpec)) {
90
+ throw new Error("omit cannot remove every column");
91
+ }
92
+ const sqlColumns = mergeSqlColumns(requested, extras);
93
+ if (sqlColumns.length === 0) {
94
+ throw new Error("omit cannot remove every column");
95
+ }
96
+ return { hasProjection: true, requested, sqlColumns };
97
+ }
98
+ return { hasProjection: false, requested: [], sqlColumns: undefined };
99
+ }
100
+ export function applyParentProjection(rows, requested, withSpec) {
101
+ const keep = new Set(requested);
102
+ if (withSpec) {
103
+ for (const name of Object.keys(withSpec)) {
104
+ keep.add(name);
105
+ }
106
+ }
107
+ return rows.map((row) => {
108
+ const projected = {};
109
+ for (const key of keep) {
110
+ if (key in row) {
111
+ projected[key] = row[key];
112
+ }
113
+ }
114
+ return projected;
115
+ });
116
+ }
117
+ export function projectFindRows(rows, projection, withSpec) {
118
+ if (!projection.hasProjection)
119
+ return rows;
120
+ return applyParentProjection(rows, projection.requested, withSpec);
121
+ }
122
+ export function projectFindRow(row, projection, withSpec) {
123
+ return projectFindRows([row], projection, withSpec)[0] ?? {};
124
+ }
125
+ //# sourceMappingURL=projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/runtime/query/projection.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,16 @@ export type RelationCountSpec = true | {
8
8
  };
9
9
  export type InlineRelationSpec = {
10
10
  select?: readonly string[] | Record<string, boolean | undefined>;
11
+ where?: Record<string, unknown>;
11
12
  orderBy?: OrderByInput;
12
- limit?: number;
13
+ take?: number;
14
+ skip?: number;
13
15
  with?: Record<string, WithInput>;
14
16
  };
17
+ type ExtraSqlBuild = {
18
+ nextParamIndex: number;
19
+ params: unknown[];
20
+ };
15
21
  export type InlineChainNode = {
16
22
  relationName: string;
17
23
  relation: ManifestRelation;
@@ -54,11 +60,14 @@ export type RelationPlanOptions = {
54
60
  };
55
61
  export declare function inlineRelationColumnAlias(relationName: string): string;
56
62
  export declare function inlineCountColumnAlias(relationName: string): string;
57
- export declare function buildInlineJsonAggSelectCol(parentTable: ManifestTable, chain: InlineChainNode, dialect: Dialect, manifestIndex?: ManifestIndex): string;
58
- export declare function buildInlineCountSelectCol(manifest: Manifest, parentTable: ManifestTable, relationName: string, spec: RelationCountSpec, dialect: Dialect, manifestIndex?: ManifestIndex): string;
63
+ export declare function buildInlineJsonAggSelectCol(parentTable: ManifestTable, chain: InlineChainNode, dialect: Dialect, manifestIndex?: ManifestIndex, manifest?: Manifest, extra?: ExtraSqlBuild): string;
64
+ export declare function buildInlineCountSelectCol(manifest: Manifest, parentTable: ManifestTable, relationName: string, spec: RelationCountSpec, dialect: Dialect, manifestIndex?: ManifestIndex, extra?: ExtraSqlBuild): string;
59
65
  export declare function planRelationLoad(manifest: Manifest, parentTable: ManifestTable, withSpec: Record<string, WithInput> | undefined, dialect: Dialect, manifestIndex?: ManifestIndex, options?: RelationPlanOptions): RelationLoadPlan;
60
66
  export declare function hydrateRowsWithPlan(runtime: QueryRuntime, parentTable: ManifestTable, rawRows: Record<string, unknown>[], plan: RelationLoadPlan): Record<string, unknown>[];
61
- export declare function buildPlanExtraSelectCols(manifest: Manifest, parentTable: ManifestTable, plan: RelationLoadPlan, dialect: Dialect, manifestIndex?: ManifestIndex): string[];
67
+ export declare function buildPlanExtraSelectCols(manifest: Manifest, parentTable: ManifestTable, plan: RelationLoadPlan, dialect: Dialect, manifestIndex?: ManifestIndex, startParamIndex?: number): {
68
+ cols: string[];
69
+ params: unknown[];
70
+ };
62
71
  export declare function buildAggregateGroupBy(plan: RelationLoadPlan): string;
63
72
  /** @deprecated Use buildAggregateGroupBy */
64
73
  export declare function buildCountAggregateGroupBy(plan: RelationLoadPlan): string;
@@ -67,8 +76,9 @@ export declare function hasPlanMainQueryExtras(plan: RelationLoadPlan): boolean;
67
76
  export declare function withShapeSignature(withSpec: Record<string, WithInput>): string;
68
77
  export declare function planIsFullyInline(plan: RelationLoadPlan): boolean;
69
78
  export declare function getCachedRelationPlan(manifest: Manifest, table: ManifestTable, withSpec: Record<string, WithInput>, dialect: Dialect, manifestIndex?: ManifestIndex, options?: RelationPlanOptions): RelationLoadPlan;
70
- export declare function getCachedFindByIdWithQuery(manifest: Manifest, table: ManifestTable, withSpec: Record<string, WithInput>, dialect: Dialect, manifestIndex?: ManifestIndex): {
79
+ export declare function getCachedFindByIdWithQuery(manifest: Manifest, table: ManifestTable, withSpec: Record<string, WithInput>, dialect: Dialect, manifestIndex?: ManifestIndex, parentSelect?: readonly string[]): {
71
80
  sql: string;
72
81
  plan: RelationLoadPlan;
73
82
  } | null;
83
+ export {};
74
84
  //# sourceMappingURL=relation-planner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-planner.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/relation-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-planner.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/relation-planner.ts"],"names":[],"mappings":"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"}