@tinqerjs/better-sqlite3-adapter 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/expression-generator.d.ts +18 -0
  2. package/dist/expression-generator.d.ts.map +1 -0
  3. package/dist/expression-generator.js +756 -0
  4. package/dist/expression-generator.js.map +1 -0
  5. package/dist/generators/all.d.ts +11 -0
  6. package/dist/generators/all.d.ts.map +1 -0
  7. package/dist/generators/all.js +15 -0
  8. package/dist/generators/all.js.map +1 -0
  9. package/dist/generators/any.d.ts +11 -0
  10. package/dist/generators/any.d.ts.map +1 -0
  11. package/dist/generators/any.js +20 -0
  12. package/dist/generators/any.js.map +1 -0
  13. package/dist/generators/average.d.ts +10 -0
  14. package/dist/generators/average.d.ts.map +1 -0
  15. package/dist/generators/average.js +15 -0
  16. package/dist/generators/average.js.map +1 -0
  17. package/dist/generators/count.d.ts +10 -0
  18. package/dist/generators/count.d.ts.map +1 -0
  19. package/dist/generators/count.js +11 -0
  20. package/dist/generators/count.js.map +1 -0
  21. package/dist/generators/delete.d.ts +10 -0
  22. package/dist/generators/delete.d.ts.map +1 -0
  23. package/dist/generators/delete.js +24 -0
  24. package/dist/generators/delete.js.map +1 -0
  25. package/dist/generators/distinct.d.ts +11 -0
  26. package/dist/generators/distinct.d.ts.map +1 -0
  27. package/dist/generators/distinct.js +12 -0
  28. package/dist/generators/distinct.js.map +1 -0
  29. package/dist/generators/first.d.ts +12 -0
  30. package/dist/generators/first.d.ts.map +1 -0
  31. package/dist/generators/first.js +13 -0
  32. package/dist/generators/first.js.map +1 -0
  33. package/dist/generators/from.d.ts +10 -0
  34. package/dist/generators/from.d.ts.map +1 -0
  35. package/dist/generators/from.js +41 -0
  36. package/dist/generators/from.js.map +1 -0
  37. package/dist/generators/groupby.d.ts +10 -0
  38. package/dist/generators/groupby.d.ts.map +1 -0
  39. package/dist/generators/groupby.js +36 -0
  40. package/dist/generators/groupby.js.map +1 -0
  41. package/dist/generators/insert.d.ts +11 -0
  42. package/dist/generators/insert.d.ts.map +1 -0
  43. package/dist/generators/insert.js +61 -0
  44. package/dist/generators/insert.js.map +1 -0
  45. package/dist/generators/join.d.ts +10 -0
  46. package/dist/generators/join.d.ts.map +1 -0
  47. package/dist/generators/join.js +246 -0
  48. package/dist/generators/join.js.map +1 -0
  49. package/dist/generators/last.d.ts +13 -0
  50. package/dist/generators/last.d.ts.map +1 -0
  51. package/dist/generators/last.js +16 -0
  52. package/dist/generators/last.js.map +1 -0
  53. package/dist/generators/max.d.ts +10 -0
  54. package/dist/generators/max.d.ts.map +1 -0
  55. package/dist/generators/max.js +15 -0
  56. package/dist/generators/max.js.map +1 -0
  57. package/dist/generators/min.d.ts +10 -0
  58. package/dist/generators/min.d.ts.map +1 -0
  59. package/dist/generators/min.js +15 -0
  60. package/dist/generators/min.js.map +1 -0
  61. package/dist/generators/orderby.d.ts +10 -0
  62. package/dist/generators/orderby.d.ts.map +1 -0
  63. package/dist/generators/orderby.js +66 -0
  64. package/dist/generators/orderby.js.map +1 -0
  65. package/dist/generators/select.d.ts +10 -0
  66. package/dist/generators/select.d.ts.map +1 -0
  67. package/dist/generators/select.js +34 -0
  68. package/dist/generators/select.js.map +1 -0
  69. package/dist/generators/single.d.ts +12 -0
  70. package/dist/generators/single.d.ts.map +1 -0
  71. package/dist/generators/single.js +13 -0
  72. package/dist/generators/single.js.map +1 -0
  73. package/dist/generators/skip.d.ts +10 -0
  74. package/dist/generators/skip.d.ts.map +1 -0
  75. package/dist/generators/skip.js +18 -0
  76. package/dist/generators/skip.js.map +1 -0
  77. package/dist/generators/sum.d.ts +10 -0
  78. package/dist/generators/sum.d.ts.map +1 -0
  79. package/dist/generators/sum.js +15 -0
  80. package/dist/generators/sum.js.map +1 -0
  81. package/dist/generators/take.d.ts +10 -0
  82. package/dist/generators/take.d.ts.map +1 -0
  83. package/dist/generators/take.js +18 -0
  84. package/dist/generators/take.js.map +1 -0
  85. package/dist/generators/thenby.d.ts +11 -0
  86. package/dist/generators/thenby.d.ts.map +1 -0
  87. package/dist/generators/thenby.js +58 -0
  88. package/dist/generators/thenby.js.map +1 -0
  89. package/dist/generators/update.d.ts +11 -0
  90. package/dist/generators/update.d.ts.map +1 -0
  91. package/dist/generators/update.js +69 -0
  92. package/dist/generators/update.js.map +1 -0
  93. package/dist/generators/where.d.ts +10 -0
  94. package/dist/generators/where.d.ts.map +1 -0
  95. package/dist/generators/where.js +12 -0
  96. package/dist/generators/where.js.map +1 -0
  97. package/dist/index.d.ts +172 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +234 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/sql-generator.d.ts +9 -0
  102. package/dist/sql-generator.d.ts.map +1 -0
  103. package/dist/sql-generator.js +325 -0
  104. package/dist/sql-generator.js.map +1 -0
  105. package/dist/types.d.ts +62 -0
  106. package/dist/types.d.ts.map +1 -0
  107. package/dist/types.js +5 -0
  108. package/dist/types.js.map +1 -0
  109. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Main SQL generation orchestrator
3
+ */
4
+ import type { QueryOperation } from "@tinqerjs/tinqer";
5
+ /**
6
+ * Generate SQL from a QueryOperation tree
7
+ */
8
+ export declare function generateSql(operation: QueryOperation, params: unknown): string;
9
+ //# sourceMappingURL=sql-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-generator.d.ts","sourceRoot":"","sources":["../src/sql-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EA2Bf,MAAM,kBAAkB,CAAC;AAwB1B;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CA0O9E"}
@@ -0,0 +1,325 @@
1
+ /**
2
+ * Main SQL generation orchestrator
3
+ */
4
+ import { generateFrom } from "./generators/from.js";
5
+ import { generateSelect } from "./generators/select.js";
6
+ import { generateBooleanExpression, generateExpression } from "./expression-generator.js";
7
+ import { generateOrderBy } from "./generators/orderby.js";
8
+ import { generateThenBy } from "./generators/thenby.js";
9
+ import { generateTake } from "./generators/take.js";
10
+ import { generateSkip } from "./generators/skip.js";
11
+ import { generateDistinct } from "./generators/distinct.js";
12
+ import { generateGroupBy } from "./generators/groupby.js";
13
+ import { generateCount } from "./generators/count.js";
14
+ import { generateSum } from "./generators/sum.js";
15
+ import { generateAverage } from "./generators/average.js";
16
+ import { generateMin } from "./generators/min.js";
17
+ import { generateMax } from "./generators/max.js";
18
+ import { generateFirst } from "./generators/first.js";
19
+ import { generateSingle } from "./generators/single.js";
20
+ import { generateLast } from "./generators/last.js";
21
+ import { generateJoin } from "./generators/join.js";
22
+ import { generateInsert } from "./generators/insert.js";
23
+ import { generateUpdate } from "./generators/update.js";
24
+ import { generateDelete } from "./generators/delete.js";
25
+ /**
26
+ * Generate SQL from a QueryOperation tree
27
+ */
28
+ export function generateSql(operation, params) {
29
+ const context = {
30
+ tableAliases: new Map(),
31
+ aliasCounter: 0,
32
+ formatParameter: (paramName) => `@${paramName}`, // Better SQLite3 format
33
+ params: params || {},
34
+ };
35
+ // Collect all operations in the chain
36
+ const operations = collectOperations(operation);
37
+ // Check if this is a CRUD operation chain (may have WHERE, etc.)
38
+ // Find INSERT, UPDATE, or DELETE in the chain
39
+ const insertOp = operations.find((op) => op.operationType === "insert");
40
+ const updateOp = operations.find((op) => op.operationType === "update");
41
+ const deleteOp = operations.find((op) => op.operationType === "delete");
42
+ if (insertOp) {
43
+ return generateInsert(insertOp, context);
44
+ }
45
+ if (updateOp) {
46
+ return generateUpdate(updateOp, context);
47
+ }
48
+ if (deleteOp) {
49
+ return generateDelete(deleteOp, context);
50
+ }
51
+ // Check for ANY or ALL operations - they need special handling
52
+ const anyOp = operations.find((op) => op.operationType === "any");
53
+ const allOp = operations.find((op) => op.operationType === "all");
54
+ if (anyOp || allOp) {
55
+ return generateExistsQuery(operations, anyOp || allOp, context);
56
+ }
57
+ // Find terminal operations early as they affect other clauses
58
+ const firstOp = operations.find((op) => op.operationType === "first" || op.operationType === "firstOrDefault");
59
+ const singleOp = operations.find((op) => op.operationType === "single" || op.operationType === "singleOrDefault");
60
+ const lastOp = operations.find((op) => op.operationType === "last" || op.operationType === "lastOrDefault");
61
+ // Build SQL fragments in correct order
62
+ const fragments = [];
63
+ // Check for DISTINCT
64
+ const distinctOp = operations.find((op) => op.operationType === "distinct");
65
+ const distinctKeyword = distinctOp
66
+ ? generateDistinct(distinctOp, context)
67
+ : "";
68
+ // Check for aggregate operations
69
+ const countOp = operations.find((op) => op.operationType === "count");
70
+ const sumOp = operations.find((op) => op.operationType === "sum");
71
+ const avgOp = operations.find((op) => op.operationType === "average");
72
+ const minOp = operations.find((op) => op.operationType === "min");
73
+ const maxOp = operations.find((op) => op.operationType === "max");
74
+ // Find GROUP BY early and store in context for SELECT generation
75
+ const groupByOp = operations.find((op) => op.operationType === "groupBy");
76
+ if (groupByOp) {
77
+ // Store the key selector in context for later use in SELECT expressions
78
+ context.groupByKey = groupByOp.keySelector;
79
+ }
80
+ // Process JOIN operations to determine if we need table aliases
81
+ const joinOps = operations.filter((op) => op.operationType === "join");
82
+ // Set hasJoins flag in context before processing FROM
83
+ if (joinOps.length > 0) {
84
+ context.hasJoins = true;
85
+ }
86
+ // Process FROM first to establish base table
87
+ const fromOp = operations.find((op) => op.operationType === "from");
88
+ if (!fromOp) {
89
+ throw new Error("Query must have a FROM operation");
90
+ }
91
+ const fromClause = generateFrom(fromOp, context);
92
+ const joinClauses = [];
93
+ joinOps.forEach((joinOp) => {
94
+ joinClauses.push(generateJoin(joinOp, context));
95
+ });
96
+ // Check if we have a JOIN with result selector but no explicit SELECT
97
+ const hasJoinWithResultSelector = joinOps.some((op) => op.resultSelector);
98
+ const selectOp = operations.find((op) => op.operationType === "select");
99
+ // Generate SELECT clause
100
+ if (countOp) {
101
+ fragments.push(`SELECT ${generateCount(countOp, context)}`);
102
+ }
103
+ else if (sumOp) {
104
+ fragments.push(`SELECT ${generateSum(sumOp, context)}`);
105
+ }
106
+ else if (avgOp) {
107
+ fragments.push(`SELECT ${generateAverage(avgOp, context)}`);
108
+ }
109
+ else if (minOp) {
110
+ fragments.push(`SELECT ${generateMin(minOp, context)}`);
111
+ }
112
+ else if (maxOp) {
113
+ fragments.push(`SELECT ${generateMax(maxOp, context)}`);
114
+ }
115
+ else if (selectOp) {
116
+ const selectClause = generateSelect(selectOp, context);
117
+ if (distinctKeyword) {
118
+ fragments.push(selectClause.replace("SELECT", `SELECT ${distinctKeyword}`));
119
+ }
120
+ else {
121
+ fragments.push(selectClause);
122
+ }
123
+ }
124
+ else if (hasJoinWithResultSelector) {
125
+ // JOINs with result selectors ALWAYS require explicit SELECT projection
126
+ throw new Error("JOIN with result selector requires explicit SELECT projection. " +
127
+ "Add .select() to specify which columns to return. " +
128
+ "Example: .select((joined) => ({ userName: joined.u.name, deptName: joined.d.name }))");
129
+ }
130
+ else if (groupByOp) {
131
+ // GROUP BY without SELECT requires explicit projection of grouped columns
132
+ // SELECT * is invalid with GROUP BY in PostgreSQL
133
+ const selectClause = generateSelectForGroupBy(groupByOp, context);
134
+ fragments.push(distinctKeyword ? `SELECT ${distinctKeyword} ${selectClause}` : `SELECT ${selectClause}`);
135
+ }
136
+ else {
137
+ // Default SELECT *
138
+ fragments.push(distinctKeyword ? `SELECT ${distinctKeyword} *` : "SELECT *");
139
+ }
140
+ // Add FROM clause
141
+ fragments.push(fromClause);
142
+ // Add JOIN clauses
143
+ fragments.push(...joinClauses);
144
+ // Process WHERE clauses (combine multiple with AND)
145
+ const whereOps = operations.filter((op) => op.operationType === "where");
146
+ const wherePredicates = [];
147
+ // Collect predicates from WHERE operations
148
+ whereOps.forEach((whereOp) => {
149
+ wherePredicates.push(generateBooleanExpression(whereOp.predicate, context));
150
+ });
151
+ // Also check for predicates in terminal operations (first, single, last and their OrDefault variants)
152
+ // Note: firstOp, singleOp, and lastOp are already declared above
153
+ if (firstOp?.predicate) {
154
+ wherePredicates.push(generateBooleanExpression(firstOp.predicate, context));
155
+ }
156
+ else if (singleOp?.predicate) {
157
+ wherePredicates.push(generateBooleanExpression(singleOp.predicate, context));
158
+ }
159
+ else if (lastOp?.predicate) {
160
+ wherePredicates.push(generateBooleanExpression(lastOp.predicate, context));
161
+ }
162
+ // Also check for COUNT predicate
163
+ if (countOp?.predicate) {
164
+ wherePredicates.push(generateBooleanExpression(countOp.predicate, context));
165
+ }
166
+ // Add WHERE clause if we have any predicates
167
+ if (wherePredicates.length > 0) {
168
+ fragments.push(`WHERE ${wherePredicates.join(" AND ")}`);
169
+ }
170
+ // Process GROUP BY (already found and stored in context earlier)
171
+ if (groupByOp) {
172
+ fragments.push(generateGroupBy(groupByOp, context));
173
+ }
174
+ // Process ORDER BY and THEN BY
175
+ const orderByOp = operations.find((op) => op.operationType === "orderBy");
176
+ if (orderByOp) {
177
+ // Check if we need to reverse for LAST operation
178
+ const shouldReverse = !!lastOp;
179
+ let orderByClause = generateOrderBy({
180
+ ...orderByOp,
181
+ descending: shouldReverse ? !orderByOp.descending : orderByOp.descending,
182
+ }, context);
183
+ // Collect all THEN BY operations
184
+ const thenByOps = operations.filter((op) => op.operationType === "thenBy");
185
+ thenByOps.forEach((thenByOp) => {
186
+ orderByClause += generateThenBy({
187
+ ...thenByOp,
188
+ descending: shouldReverse ? !thenByOp.descending : thenByOp.descending,
189
+ }, context);
190
+ });
191
+ fragments.push(orderByClause);
192
+ }
193
+ // Process terminal operations (LIMIT clauses)
194
+ // Note: firstOp, singleOp, lastOp are already declared above for predicate handling
195
+ if (firstOp) {
196
+ fragments.push(generateFirst(firstOp, context));
197
+ }
198
+ else if (singleOp) {
199
+ fragments.push(generateSingle(singleOp, context));
200
+ }
201
+ else if (lastOp) {
202
+ // For LAST, we need an ORDER BY to be meaningful
203
+ // If there's no ORDER BY, we need to add one (by first column)
204
+ if (!orderByOp) {
205
+ // Add default ORDER BY for LAST to work
206
+ fragments.push("ORDER BY 1 DESC");
207
+ }
208
+ // The ORDER BY reversal is already handled above
209
+ fragments.push(generateLast(lastOp, context));
210
+ }
211
+ else {
212
+ // Process LIMIT/OFFSET
213
+ const takeOp = operations.find((op) => op.operationType === "take");
214
+ const skipOp = operations.find((op) => op.operationType === "skip");
215
+ // SQLite requires LIMIT before OFFSET
216
+ // If we have OFFSET but no LIMIT, use LIMIT -1 (unlimited)
217
+ if (takeOp) {
218
+ fragments.push(generateTake(takeOp, context));
219
+ }
220
+ else if (skipOp) {
221
+ fragments.push("LIMIT -1");
222
+ }
223
+ if (skipOp) {
224
+ fragments.push(generateSkip(skipOp, context));
225
+ }
226
+ }
227
+ return fragments.join(" ");
228
+ }
229
+ /**
230
+ * Collect all operations in the chain
231
+ */
232
+ function collectOperations(operation) {
233
+ const operations = [];
234
+ let current = operation;
235
+ while (current) {
236
+ operations.push(current);
237
+ // Stop if we hit a FROM with a subquery - the subquery will be handled separately
238
+ if (current.operationType === "from" && current.subquery) {
239
+ break;
240
+ }
241
+ current = current.source;
242
+ }
243
+ // Reverse to get operations in execution order (from -> where -> select)
244
+ return operations.reverse();
245
+ }
246
+ /**
247
+ * Generate EXISTS query for ANY/ALL operations
248
+ */
249
+ function generateExistsQuery(operations, terminalOp, context) {
250
+ const fragments = [];
251
+ // Build the inner SELECT for EXISTS
252
+ fragments.push("SELECT 1");
253
+ // Process FROM
254
+ const fromOp = operations.find((op) => op.operationType === "from");
255
+ if (!fromOp) {
256
+ throw new Error("Query must have a FROM operation");
257
+ }
258
+ fragments.push(generateFrom(fromOp, context));
259
+ // Process JOIN operations
260
+ const joinOps = operations.filter((op) => op.operationType === "join");
261
+ joinOps.forEach((joinOp) => {
262
+ fragments.push(generateJoin(joinOp, context));
263
+ });
264
+ // Collect WHERE predicates
265
+ const wherePredicates = [];
266
+ // Get WHERE operations
267
+ const whereOps = operations.filter((op) => op.operationType === "where");
268
+ whereOps.forEach((whereOp) => {
269
+ wherePredicates.push(generateBooleanExpression(whereOp.predicate, context));
270
+ });
271
+ // Add predicate from ANY/ALL operation
272
+ if (terminalOp.operationType === "any" && terminalOp.predicate) {
273
+ wherePredicates.push(generateBooleanExpression(terminalOp.predicate, context));
274
+ }
275
+ else if (terminalOp.operationType === "all") {
276
+ // For ALL, we check NOT EXISTS where NOT predicate
277
+ const predicate = generateBooleanExpression(terminalOp.predicate, context);
278
+ // We'll handle the NOT wrapping later
279
+ wherePredicates.push(`NOT (${predicate})`);
280
+ }
281
+ // Add WHERE clause if we have predicates
282
+ if (wherePredicates.length > 0) {
283
+ const whereClause = wherePredicates.join(" AND ");
284
+ fragments.push(`WHERE ${whereClause}`);
285
+ }
286
+ const innerQuery = fragments.join(" ");
287
+ // Wrap in EXISTS/NOT EXISTS with CASE WHEN for boolean result
288
+ if (terminalOp.operationType === "any") {
289
+ return `SELECT CASE WHEN EXISTS(${innerQuery}) THEN 1 ELSE 0 END`;
290
+ }
291
+ else {
292
+ // For ALL: NOT EXISTS(SELECT 1 WHERE NOT predicate)
293
+ // But we already added the NOT to the predicate above
294
+ return `SELECT CASE WHEN NOT EXISTS(${innerQuery}) THEN 1 ELSE 0 END`;
295
+ }
296
+ }
297
+ /**
298
+ * Generate SELECT clause for GROUP BY when no explicit SELECT is provided
299
+ */
300
+ function generateSelectForGroupBy(groupByOp, context) {
301
+ const keySelector = groupByOp.keySelector;
302
+ if (keySelector.type === "object") {
303
+ // Composite key - project each grouped column
304
+ const columns = [];
305
+ for (const propName in keySelector.properties) {
306
+ const propExpr = keySelector.properties[propName];
307
+ if (propExpr) {
308
+ const sqlExpr = generateExpression(propExpr, context);
309
+ columns.push(`${sqlExpr} AS "${propName}"`);
310
+ }
311
+ }
312
+ return columns.join(", ");
313
+ }
314
+ else if (keySelector.type === "column") {
315
+ // Single column grouping
316
+ const sqlExpr = generateExpression(keySelector, context);
317
+ return sqlExpr;
318
+ }
319
+ else {
320
+ // Any other expression type
321
+ const sqlExpr = generateExpression(keySelector, context);
322
+ return sqlExpr;
323
+ }
324
+ }
325
+ //# sourceMappingURL=sql-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-generator.js","sourceRoot":"","sources":["../src/sql-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Types for SQL generation
3
+ */
4
+ import type { Expression } from "@tinqerjs/tinqer";
5
+ /**
6
+ * Result of SQL generation
7
+ */
8
+ export interface SqlResult<TParams, TResult> {
9
+ sql: string;
10
+ params: TParams;
11
+ _resultType?: TResult;
12
+ }
13
+ /**
14
+ * Represents a reference to a source column in the database
15
+ */
16
+ export interface SourceReference {
17
+ tableAlias: string;
18
+ columnName: string;
19
+ expression?: unknown;
20
+ }
21
+ /**
22
+ * Symbol table that maps projected property names to their source columns
23
+ * Handles both flat (userName) and nested (user.name) property paths
24
+ */
25
+ export interface SymbolTable {
26
+ entries: Map<string, SourceReference>;
27
+ }
28
+ /**
29
+ * SQL generation context
30
+ */
31
+ export interface SqlContext {
32
+ tableAliases: Map<string, string>;
33
+ aliasCounter: number;
34
+ formatParameter: (paramName: string) => string;
35
+ groupByKey?: Expression;
36
+ symbolTable?: SymbolTable;
37
+ currentShape?: unknown;
38
+ currentAlias?: string;
39
+ hasJoins?: boolean;
40
+ params?: Record<string, unknown>;
41
+ }
42
+ /**
43
+ * Options for execute and executeSimple functions
44
+ */
45
+ export interface ExecuteOptions {
46
+ /**
47
+ * Optional callback to inspect/verify the generated SQL before execution
48
+ * Useful for testing, logging, debugging, or monitoring
49
+ */
50
+ onSql?: (result: SqlResult<Record<string, unknown>, unknown>) => void;
51
+ }
52
+ /**
53
+ * SQL fragment for building queries
54
+ */
55
+ export interface SqlFragment {
56
+ sql: string;
57
+ hasGroupBy?: boolean;
58
+ hasOrderBy?: boolean;
59
+ hasLimit?: boolean;
60
+ hasOffset?: boolean;
61
+ }
62
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,OAAO,EAAE,OAAO;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAGhB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types for SQL generation
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@tinqerjs/better-sqlite3-adapter",
3
+ "version": "0.0.21",
4
+ "description": "Better SQLite3 SQL generator for Tinqer query builder",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "sideEffects": false,
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "test": "mocha tests/**/*.test.ts",
15
+ "test:build": "tsc -p tsconfig.test.json --noEmit",
16
+ "dev": "tsx watch src/index.ts",
17
+ "lint": "eslint src tests --ext .ts",
18
+ "lint:fix": "eslint src tests --ext .ts --fix"
19
+ },
20
+ "dependencies": {},
21
+ "peerDependencies": {
22
+ "@tinqerjs/tinqer": "^0.0.21"
23
+ },
24
+ "devDependencies": {
25
+ "@types/chai": "5.2.2",
26
+ "@types/mocha": "10.0.10",
27
+ "@types/node": "24.3.3",
28
+ "@types/better-sqlite3": "^7.6.12",
29
+ "chai": "5.3.3",
30
+ "mocha": "11.7.2",
31
+ "tsx": "4.20.5",
32
+ "typescript": "5.9.2"
33
+ },
34
+ "keywords": [
35
+ "tinqer",
36
+ "sqlite",
37
+ "sqlite3",
38
+ "better-sqlite3",
39
+ "sql",
40
+ "database"
41
+ ],
42
+ "author": "WebPods",
43
+ "license": "MIT"
44
+ }