@tablecraft/engine 0.1.5 → 0.1.7

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/define.js CHANGED
@@ -1,11 +1,28 @@
1
- import { getTableName, eq, ne, gt, gte, lt, lte, like, ilike, inArray, notInArray, between, notBetween, isNull, isNotNull, exists, notExists, and, or, not, sql } from 'drizzle-orm';
1
+ import { and, between, eq, exists, getTableName, gt, gte, ilike, inArray, isNotNull, isNull, like, lt, lte, ne, not, notBetween, notExists, notInArray, or, SQL, sql, } from "drizzle-orm";
2
2
  export const drizzleOperators = {
3
- eq, ne, gt, gte, lt, lte,
4
- like, ilike, inArray, notInArray,
5
- between, notBetween, isNull, isNotNull,
6
- exists, notExists, and, or, not, sql
3
+ eq,
4
+ ne,
5
+ gt,
6
+ gte,
7
+ lt,
8
+ lte,
9
+ like,
10
+ ilike,
11
+ inArray,
12
+ notInArray,
13
+ between,
14
+ notBetween,
15
+ isNull,
16
+ isNotNull,
17
+ exists,
18
+ notExists,
19
+ and,
20
+ or,
21
+ not,
22
+ sql,
7
23
  };
8
- import { introspectTable, getSensitiveColumnNames, detectSensitiveColumns, } from './utils/introspect';
24
+ import { detectSensitiveColumns, getSensitiveColumnNames, introspectTable, } from "./utils/introspect";
25
+ export const TABLECRAFT_EXTENSIONS_KEY = "__tablecraft_ext";
9
26
  function emptyExtensions() {
10
27
  return {
11
28
  computedExpressions: new Map(),
@@ -151,12 +168,15 @@ export class TableDefinitionBuilder {
151
168
  // ──── Search ────
152
169
  search(...columns) {
153
170
  // Cast to unknown first to avoid tuple/array type mismatch in strict mode
154
- this._config.search = { fields: columns, enabled: true };
171
+ this._config.search = {
172
+ fields: columns,
173
+ enabled: true,
174
+ };
155
175
  return this;
156
176
  }
157
177
  searchAll() {
158
178
  const textCols = this._config.columns
159
- .filter((c) => c.type === 'string' && !c.hidden)
179
+ .filter((c) => c.type === "string" && !c.hidden)
160
180
  .map((c) => c.name);
161
181
  this._config.search = { fields: textCols, enabled: true };
162
182
  return this;
@@ -176,7 +196,12 @@ export class TableDefinitionBuilder {
176
196
  staticFilter(field, operator, value) {
177
197
  if (!this._config.filters)
178
198
  this._config.filters = [];
179
- this._config.filters.push({ field: field, operator, value, type: 'static' });
199
+ this._config.filters.push({
200
+ field: field,
201
+ operator,
202
+ value,
203
+ type: "static",
204
+ });
180
205
  return this;
181
206
  }
182
207
  noFilter() {
@@ -197,7 +222,7 @@ export class TableDefinitionBuilder {
197
222
  if (!this._config.filterGroups)
198
223
  this._config.filterGroups = [];
199
224
  this._config.filterGroups.push({
200
- type: 'or',
225
+ type: "or",
201
226
  conditions: conditions.map((c) => ({
202
227
  field: c.field,
203
228
  operator: c.op,
@@ -252,7 +277,11 @@ export class TableDefinitionBuilder {
252
277
  return this;
253
278
  }
254
279
  noPagination() {
255
- this._config.pagination = { defaultPageSize: 10, maxPageSize: 100, enabled: false };
280
+ this._config.pagination = {
281
+ defaultPageSize: 10,
282
+ maxPageSize: 100,
283
+ enabled: false,
284
+ };
256
285
  return this;
257
286
  }
258
287
  // ──── Joins (accepts string OR SQL) ────
@@ -262,11 +291,11 @@ export class TableDefinitionBuilder {
262
291
  const joinedName = getTableName(table);
263
292
  const baseName = this._config.base;
264
293
  const key = options?.alias ?? joinedName;
265
- let onString = '';
294
+ let onString = "";
266
295
  if (options?.on) {
267
- if (typeof options.on === 'string') {
296
+ if (typeof options.on === "string") {
268
297
  // Shorthand: "customerId" → "base.customerId = joined.id"
269
- if (!options.on.includes('=') && !options.on.includes('.')) {
298
+ if (!options.on.includes("=") && !options.on.includes(".")) {
270
299
  onString = `${baseName}.${options.on} = ${joinedName}.id`;
271
300
  }
272
301
  else {
@@ -286,13 +315,13 @@ export class TableDefinitionBuilder {
286
315
  }
287
316
  const joinConfig = {
288
317
  table: joinedName,
289
- type: options?.type ?? 'left',
318
+ type: options?.type ?? "left",
290
319
  on: onString,
291
320
  ...(options?.alias && { alias: options.alias }),
292
321
  ...(options?.columns && {
293
322
  columns: options.columns.map((name) => ({
294
323
  name,
295
- type: 'string',
324
+ type: "string",
296
325
  hidden: false,
297
326
  sortable: true,
298
327
  filterable: true,
@@ -306,7 +335,7 @@ export class TableDefinitionBuilder {
306
335
  computed(name, expression, options) {
307
336
  this._config.columns.push({
308
337
  name,
309
- type: options?.type ?? 'string',
338
+ type: options?.type ?? "string",
310
339
  label: options?.label ?? name,
311
340
  hidden: false,
312
341
  sortable: options?.sortable ?? true,
@@ -318,7 +347,7 @@ export class TableDefinitionBuilder {
318
347
  }
319
348
  // ──── Backend Conditions ────
320
349
  where(condition) {
321
- if (typeof condition === 'function') {
350
+ if (typeof condition === "function") {
322
351
  this._ext.dynamicWheres.push(condition);
323
352
  return this;
324
353
  }
@@ -377,7 +406,7 @@ export class TableDefinitionBuilder {
377
406
  const includeConfig = {
378
407
  table: getTableName(table),
379
408
  foreignKey: options.foreignKey,
380
- localKey: options.localKey ?? 'id',
409
+ localKey: options.localKey ?? "id",
381
410
  as: options.as,
382
411
  columns: options.columns,
383
412
  limit: options.limit,
@@ -395,9 +424,9 @@ export class TableDefinitionBuilder {
395
424
  recursive(options) {
396
425
  this._config.recursive = {
397
426
  parentKey: options.parentKey,
398
- childKey: options.childKey ?? 'id',
427
+ childKey: options.childKey ?? "id",
399
428
  maxDepth: options.maxDepth ?? 10,
400
- depthAlias: options.depthAlias ?? 'depth',
429
+ depthAlias: options.depthAlias ?? "depth",
401
430
  pathAlias: options.pathAlias,
402
431
  startWith: options.startWith
403
432
  ? {
@@ -443,7 +472,7 @@ export class TableDefinitionBuilder {
443
472
  // haven't been registered yet. Create a placeholder.
444
473
  col = {
445
474
  name: column,
446
- type: meta.type ?? 'string',
475
+ type: meta.type ?? "string",
447
476
  hidden: false,
448
477
  computed: true,
449
478
  };
@@ -518,7 +547,7 @@ export class TableDefinitionBuilder {
518
547
  // Register as a computed column with metadata
519
548
  this._config.columns.push({
520
549
  name: alias,
521
- type: options?.type ?? 'string',
550
+ type: options?.type ?? "string",
522
551
  label: options?.label,
523
552
  hidden: options?.hidden ?? false,
524
553
  sortable: options?.sortable ?? true,
@@ -549,7 +578,8 @@ export class TableDefinitionBuilder {
549
578
  * Prefer `.sort()` or `.sortable()` for user-facing sort controls.
550
579
  */
551
580
  rawOrderBy(sqlExpr) {
552
- if (typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production') {
581
+ if (typeof process !== "undefined" &&
582
+ process.env?.NODE_ENV !== "production") {
553
583
  console.warn(`[TableCraft] rawOrderBy() bypasses the sortable whitelist and should not be used with user input. ` +
554
584
  `Expression: ${sqlExpr}`);
555
585
  }
@@ -561,12 +591,95 @@ export class TableDefinitionBuilder {
561
591
  return this;
562
592
  }
563
593
  // ──── Subqueries ────
594
+ /**
595
+ * Attach a correlated subquery to every row.
596
+ *
597
+ * The `filter` parameter controls the subquery's WHERE clause and accepts
598
+ * **three forms** — pick whichever fits your style:
599
+ *
600
+ * ---
601
+ *
602
+ * ### 1. Drizzle `sql\`...\`` expression *(best DX — use your schema columns directly)*
603
+ *
604
+ * Import `sql` from `drizzle-orm` and write the WHERE clause exactly as you
605
+ * would in any Drizzle query. TableCraft passes the expression through unchanged,
606
+ * so the full power of Drizzle is available — joins, functions, OR logic, anything.
607
+ * You own the safety of the expression.
608
+ *
609
+ * ```ts
610
+ * import { sql } from 'drizzle-orm';
611
+ * import { orders, orderItems } from '../db/schema';
612
+ *
613
+ * .subquery('itemCount', orderItems, 'count',
614
+ * sql`${orderItems.orderId} = ${orders.id}`)
615
+ *
616
+ * // With an extra condition:
617
+ * .subquery('activeItemCount', orderItems, 'count',
618
+ * sql`${orderItems.orderId} = ${orders.id} AND ${orderItems.status} = ${'active'}`)
619
+ * ```
620
+ *
621
+ * ---
622
+ *
623
+ * ### 2. Structured `SubqueryCondition[]` *(typed, injection-safe)*
624
+ *
625
+ * Pass an array of condition objects. Each has `left`, `op` (default `'eq'`),
626
+ * and `right` operands — either `{ column: 'table.column' }` or `{ value: literal }`.
627
+ * Conditions are AND-combined. Literal values are parameterized automatically.
628
+ *
629
+ * ```ts
630
+ * // Simple column-to-column join:
631
+ * .subquery('itemCount', orderItems, 'count', [
632
+ * { left: { column: 'order_items.order_id' }, op: 'eq', right: { column: 'orders.id' } },
633
+ * ])
634
+ *
635
+ * // With a literal value filter:
636
+ * .subquery('activeItemCount', orderItems, 'count', [
637
+ * { left: { column: 'order_items.order_id' }, op: 'eq', right: { column: 'orders.id' } },
638
+ * { left: { column: 'order_items.status' }, op: 'eq', right: { value: 'active' } },
639
+ * ])
640
+ * ```
641
+ *
642
+ * ---
643
+ *
644
+ * ### 3. Raw SQL string *(@deprecated — developer-authored constants only)*
645
+ *
646
+ * Still accepted for backwards compatibility. Must be a hardcoded string authored
647
+ * by the developer — never derived from user input. Prefer form 1 or 2 instead.
648
+ *
649
+ * ```ts
650
+ * // @deprecated
651
+ * .subquery('itemCount', orderItems, 'count', 'order_items.order_id = orders.id')
652
+ * ```
653
+ *
654
+ * ---
655
+ *
656
+ * Omitting `filter` creates an uncorrelated subquery (full table scan).
657
+ */
564
658
  subquery(alias, table, type, filter) {
565
659
  if (!this._config.subqueries)
566
660
  this._config.subqueries = [];
661
+ let entry;
662
+ if (filter === undefined || filter === null) {
663
+ entry = { alias, table: getTableName(table), type };
664
+ }
665
+ else if (filter instanceof SQL) {
666
+ // Drizzle SQL expression — stored as runtime-only filterSql (not JSON-serializable)
667
+ entry = { alias, table: getTableName(table), type, filterSql: filter };
668
+ }
669
+ else if (typeof filter === "string") {
670
+ // @deprecated raw string — kept for backwards compatibility
671
+ entry = { alias, table: getTableName(table), type, filter };
672
+ }
673
+ else {
674
+ entry = {
675
+ alias,
676
+ table: getTableName(table),
677
+ type,
678
+ filterConditions: filter,
679
+ };
680
+ }
567
681
  // Dedupe subquery entries by alias — replace if exists
568
- const entry = { alias, table: getTableName(table), type, filter };
569
- const existingIdx = this._config.subqueries.findIndex(e => e.alias === alias);
682
+ const existingIdx = this._config.subqueries.findIndex((e) => e.alias === alias);
570
683
  if (existingIdx >= 0) {
571
684
  this._config.subqueries[existingIdx] = entry;
572
685
  }
@@ -580,20 +693,21 @@ export class TableDefinitionBuilder {
580
693
  // 'first' mode returns row_to_json() — a non-scalar JSON object — which
581
694
  // cannot be used in ORDER BY. Mark it sortable: false to prevent DB errors.
582
695
  // 'count' (integer) and 'exists' (boolean) are scalar and safe to sort.
583
- const existingCol = this._config.columns.find(c => c.name === alias);
696
+ const existingCol = this._config.columns.find((c) => c.name === alias);
584
697
  if (existingCol) {
585
- existingCol.type = type === 'exists' ? 'boolean' : type === 'count' ? 'number' : 'json';
586
- existingCol.sortable = type !== 'first';
698
+ existingCol.type =
699
+ type === "exists" ? "boolean" : type === "count" ? "number" : "json";
700
+ existingCol.sortable = type !== "first";
587
701
  existingCol.filterable = false;
588
702
  existingCol.computed = true;
589
703
  }
590
704
  else {
591
705
  this._config.columns.push({
592
706
  name: alias,
593
- type: type === 'exists' ? 'boolean' : type === 'count' ? 'number' : 'json',
707
+ type: type === "exists" ? "boolean" : type === "count" ? "number" : "json",
594
708
  label: alias,
595
709
  hidden: false,
596
- sortable: type !== 'first',
710
+ sortable: type !== "first",
597
711
  filterable: false,
598
712
  computed: true,
599
713
  });
@@ -603,21 +717,21 @@ export class TableDefinitionBuilder {
603
717
  // ──── Platform Features ────
604
718
  softDelete(field) {
605
719
  this._config.softDelete = {
606
- field: field ?? this._config.softDelete?.field ?? 'deletedAt',
720
+ field: field ?? this._config.softDelete?.field ?? "deletedAt",
607
721
  enabled: true,
608
722
  };
609
723
  return this;
610
724
  }
611
725
  tenant(field) {
612
726
  this._config.tenant = {
613
- field: field ?? this._config.tenant?.field ?? 'tenantId',
727
+ field: field ?? this._config.tenant?.field ?? "tenantId",
614
728
  enabled: true,
615
729
  };
616
730
  return this;
617
731
  }
618
732
  exportable(...formats) {
619
733
  this._config.export = {
620
- formats: formats.length > 0 ? formats : ['csv', 'json'],
734
+ formats: formats.length > 0 ? formats : ["csv", "json"],
621
735
  enabled: true,
622
736
  };
623
737
  return this;
@@ -627,10 +741,15 @@ export class TableDefinitionBuilder {
627
741
  return this;
628
742
  }
629
743
  // ──── Name Override ────
744
+ /** Set a custom display name for this table definition. */
630
745
  as(name) {
631
746
  this._config.name = name;
632
747
  return this;
633
748
  }
749
+ /** Alias for `.as()` — sets the table's display name. */
750
+ name(name) {
751
+ return this.as(name);
752
+ }
634
753
  // ──── Count Mode ────
635
754
  /**
636
755
  * Control how row counting works.
@@ -639,7 +758,7 @@ export class TableDefinitionBuilder {
639
758
  * 'none' = skip counting entirely — fastest
640
759
  */
641
760
  countMode(mode) {
642
- this._config._countMode = mode;
761
+ this._ext.countMode = mode;
643
762
  return this;
644
763
  }
645
764
  // ──── DISTINCT ────
@@ -669,12 +788,18 @@ export class TableDefinitionBuilder {
669
788
  }
670
789
  // ──── Output ────
671
790
  toConfig() {
672
- return { ...this._config };
791
+ const config = { ...this._config };
792
+ Object.defineProperty(config, TABLECRAFT_EXTENSIONS_KEY, {
793
+ value: this._ext,
794
+ enumerable: false,
795
+ configurable: false,
796
+ });
797
+ return config;
673
798
  }
674
799
  }
675
800
  // ── Main Entry ──
676
801
  export function defineTable(table, options) {
677
- if (options && 'columns' in options && Array.isArray(options.columns)) {
802
+ if (options && "columns" in options && Array.isArray(options.columns)) {
678
803
  return new TableDefinitionBuilder(table, options);
679
804
  }
680
805
  const config = introspectTable(table);
@@ -702,7 +827,10 @@ function applyQuickOptions(config, options) {
702
827
  }
703
828
  }
704
829
  if (options.sort) {
705
- const specs = options.sort.split(',').map((s) => s.trim()).filter(Boolean);
830
+ const specs = options.sort
831
+ .split(",")
832
+ .map((s) => s.trim())
833
+ .filter(Boolean);
706
834
  config.defaultSort = specs.map(parseSortSpec);
707
835
  }
708
836
  if (options.pageSize !== undefined) {
@@ -727,12 +855,12 @@ function applyQuickOptions(config, options) {
727
855
  }
728
856
  }
729
857
  function parseSortSpec(spec) {
730
- if (spec.startsWith('-')) {
731
- return { field: String(spec.slice(1)), order: 'desc' };
858
+ if (spec.startsWith("-")) {
859
+ return { field: spec.slice(1), order: "desc" };
732
860
  }
733
- if (spec.startsWith('+')) {
734
- return { field: String(spec.slice(1)), order: 'asc' };
861
+ if (spec.startsWith("+")) {
862
+ return { field: spec.slice(1), order: "asc" };
735
863
  }
736
- return { field: String(spec), order: 'asc' };
864
+ return { field: spec, order: "asc" };
737
865
  }
738
866
  //# sourceMappingURL=define.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA4D,WAAW,EAA6B,MAAM,gBAAgB,CAAC;AAoBlI,OAAO,EAAE,sBAAsB,EAAuC,MAAM,UAAU,CAAC;AAOvF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;AA4CpE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CA0c3E;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtD,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAS9B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA4D,WAAW,EAA6B,MAAM,gBAAgB,CAAC;AAoBlI,OAAO,EACL,sBAAsB,EAIvB,MAAM,UAAU,CAAC;AAOlB,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;AAsDpE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CA0c3E;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtD,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAS9B"}
package/dist/engine.js CHANGED
@@ -18,7 +18,7 @@ import { FieldSelector } from './core/fieldSelector';
18
18
  import { detectDialect, supportsFeature } from './core/dialect';
19
19
  import { formatResponse, applyJsTransforms } from './utils/responseFormatter';
20
20
  import { exportData } from './utils/export';
21
- import { drizzleOperators } from './define';
21
+ import { TABLECRAFT_EXTENSIONS_KEY, drizzleOperators, } from './define';
22
22
  import { TableCraftError, QueryError, DialectError } from './errors';
23
23
  import { applyRoleBasedVisibility } from './core/roleFilter';
24
24
  import { buildMetadata } from './core/metadataBuilder';
@@ -27,19 +27,23 @@ function resolveInput(input) {
27
27
  const b = input;
28
28
  return { config: b.toConfig(), ext: b._ext };
29
29
  }
30
+ const plainConfig = input;
31
+ const embeddedExt = plainConfig[TABLECRAFT_EXTENSIONS_KEY];
30
32
  return {
31
- config: input,
32
- ext: {
33
- computedExpressions: new Map(),
34
- transforms: new Map(),
35
- rawSelects: new Map(),
36
- rawWheres: [],
37
- dynamicWheres: [],
38
- rawJoins: [],
39
- rawOrderBys: [],
40
- ctes: new Map(),
41
- sqlJoinConditions: new Map(),
42
- },
33
+ config: plainConfig,
34
+ ext: embeddedExt ??
35
+ {
36
+ computedExpressions: new Map(),
37
+ transforms: new Map(),
38
+ rawSelects: new Map(),
39
+ rawWheres: [],
40
+ dynamicWheres: [],
41
+ rawJoins: [],
42
+ rawOrderBys: [],
43
+ ctes: new Map(),
44
+ sqlJoinConditions: new Map(),
45
+ countMode: undefined,
46
+ },
43
47
  };
44
48
  }
45
49
  function normalizeSchema(schema) {
@@ -85,7 +89,7 @@ export function createTableEngine(options) {
85
89
  const recursiveBuilder = new RecursiveBuilder(schema);
86
90
  const fieldSelector = new FieldSelector();
87
91
  const baseTable = schema[config.base];
88
- const countMode = config._countMode ?? 'exact';
92
+ const countMode = ext.countMode ?? 'exact';
89
93
  // ── WHERE builder ──
90
94
  async function buildWhereConditions(params, context) {
91
95
  const parts = [];