tantan-typeorm-gs 1.0.1 → 1.0.3

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.
@@ -17,6 +17,8 @@ export declare class GoogleSheetsQueryInterpreter {
17
17
  private unwrapOuterParentheses;
18
18
  private isWrappedByOuterParentheses;
19
19
  extractColumnName(expression: string): string;
20
+ private evaluateSelectExpression;
21
+ private evaluateDistinctExpression;
20
22
  evaluateAggregate(rows: Record<string, unknown>[], aggregate: AggregateColumn): number | null;
21
23
  evaluateWhere(value: unknown, operator: WhereOperator, parameters: unknown[]): boolean;
22
24
  private evaluateLike;
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../../src/core/query/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EAEf,WAAW,EACX,SAAS,EACT,WAAW,EAEX,SAAS,EAET,OAAO,EAEP,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EAChB,MAAM,YAAY,CAAC;AAGpB,qBAAa,4BAA4B;IAErC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiC3C;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiC3C;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAO3C;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAqHhD;IAED,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAOlC;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CA4BrC;IAED,OAAO,CAAC,mBAAmB;IA8G3B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAYzD;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAwBhD;IAED,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAO/D;IAED,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,yBAAyB;IA6IjC,OAAO,CAAC,sBAAsB;IA0D9B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,2BAA2B;IAoBnC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO5C;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAqD5F;IAED,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CA6DrF;IAED,OAAO,CAAC,YAAY;IAWpB,uBAAuB,CACnB,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,CACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,KACb,OAAO,EACZ,gBAAgB,EAAE,CACd,SAAS,EAAE,MAAM,KAChB,OAAO,GACb,OAAO,CAiCT;IAED,OAAO,CAAC,aAAa;IAoBrB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CA8CrC;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CASzC;CACJ"}
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../../src/core/query/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EAEf,WAAW,EACX,SAAS,EACT,WAAW,EAEX,SAAS,EAET,OAAO,EAEP,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EAChB,MAAM,YAAY,CAAC;AAGpB,qBAAa,4BAA4B;IAErC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiC3C;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiC3C;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAO3C;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAiJhD;IAED,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAOlC;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CA4BrC;IAED,OAAO,CAAC,mBAAmB;IA8G3B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAYzD;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAmEhD;IAED,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAO/D;IAED,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,yBAAyB;IA4KjC,OAAO,CAAC,sBAAsB;IA0D9B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,2BAA2B;IAoBnC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO5C;IAED,OAAO,CAAC,wBAAwB;IA0ChC,OAAO,CAAC,0BAA0B;IAKlC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAuE5F;IAED,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CA6DrF;IAED,OAAO,CAAC,YAAY;IAWpB,uBAAuB,CACnB,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,CACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,KACb,OAAO,EACZ,gBAAgB,EAAE,CACd,SAAS,EAAE,MAAM,KAChB,OAAO,GACb,OAAO,CAiCT;IAED,OAAO,CAAC,aAAa;IAoBrB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CA8CrC;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CASzC;CACJ"}
@@ -54,7 +54,7 @@ export class GoogleSheetsQueryInterpreter {
54
54
  const selectMatch = query.match(/^SELECT\s+(.+?)\s+FROM\s+/i);
55
55
  if (!selectMatch?.[1])
56
56
  throw new GoogleSheetsParseError('Unable to parse SELECT clause.');
57
- return selectMatch[1]
57
+ const selectColumns = selectMatch[1]
58
58
  .split(',')
59
59
  .map((expression) => {
60
60
  const normalizedExpression = expression.trim();
@@ -71,6 +71,24 @@ export class GoogleSheetsQueryInterpreter {
71
71
  alias: literalMatch[2],
72
72
  };
73
73
  }
74
+ /**
75
+ * COUNT(DISTINCT(...))
76
+ *
77
+ * Example:
78
+ *
79
+ * COUNT(DISTINCT("Projects"."id" || '|;|' || "Projects"."title"))
80
+ * AS "cnt"
81
+ */
82
+ const countDistinctMatch = normalizedExpression.match(/^COUNT\s*\(\s*DISTINCT\s*\(([\s\S]+)\)\s*\)\s+AS\s+"([^"]+)"$/i);
83
+ if (countDistinctMatch?.[1] && countDistinctMatch[2]) {
84
+ return {
85
+ tableAlias: '',
86
+ column: countDistinctMatch[1],
87
+ alias: countDistinctMatch[2],
88
+ aggregate: 'COUNT',
89
+ distinct: true,
90
+ };
91
+ }
74
92
  /**
75
93
  * Aggregate:
76
94
  *
@@ -93,6 +111,7 @@ export class GoogleSheetsQueryInterpreter {
93
111
  tableAlias,
94
112
  column: aggregateMatch[2],
95
113
  alias: aggregateMatch[3],
114
+ aggregate: aggregateMatch[1].toUpperCase(),
96
115
  };
97
116
  }
98
117
  /**
@@ -138,6 +157,7 @@ export class GoogleSheetsQueryInterpreter {
138
157
  alias: match[3],
139
158
  };
140
159
  });
160
+ return selectColumns;
141
161
  }
142
162
  parseFrom(query) {
143
163
  const match = query.match(/\bFROM\s+"([^"]+)"\s+"([^"]+)"/i);
@@ -266,13 +286,44 @@ export class GoogleSheetsQueryInterpreter {
266
286
  const expressions = selectMatch[1].split(',').map((expression) => expression.trim());
267
287
  const aggregates = [];
268
288
  for (const expression of expressions) {
269
- const match = expression.match(/^(COUNT|SUM|AVG|MIN|MAX)\s*\(\s*([^)]+)\s*\)\s+AS\s+"([^"]+)"$/i);
289
+ /**
290
+ * COUNT(DISTINCT(...))
291
+ *
292
+ * Example:
293
+ *
294
+ * COUNT(DISTINCT(
295
+ * "Projects"."id" || '|;|' ||
296
+ * "Projects"."title" || '|;|' ||
297
+ * ...
298
+ * )) AS "cnt"
299
+ */
300
+ const distinctMatch = expression.match(/^(COUNT|SUM|AVG|MIN|MAX)\s*\(\s*DISTINCT\s*\(([\s\S]+)\)\s*\)\s+AS\s+"([^"]+)"$/i);
301
+ if (distinctMatch?.[1] && distinctMatch[2] && distinctMatch[3]) {
302
+ aggregates.push({
303
+ function: distinctMatch[1].toUpperCase(),
304
+ argument: distinctMatch[2].trim(),
305
+ alias: distinctMatch[3],
306
+ distinct: true,
307
+ });
308
+ continue;
309
+ }
310
+ /**
311
+ * Normal aggregate.
312
+ *
313
+ * COUNT(*)
314
+ * COUNT(1)
315
+ * COUNT("Projects"."id")
316
+ * SUM("Projects"."age")
317
+ * etc.
318
+ */
319
+ const match = expression.match(/^(COUNT|SUM|AVG|MIN|MAX)\s*\(\s*([\s\S]+?)\s*\)\s+AS\s+"([^"]+)"$/i);
270
320
  if (!match?.[1] || !match[2] || !match[3])
271
321
  continue;
272
322
  aggregates.push({
273
323
  function: match[1].toUpperCase(),
274
324
  argument: match[2].trim(),
275
325
  alias: match[3],
326
+ distinct: false,
276
327
  });
277
328
  }
278
329
  return aggregates;
@@ -378,6 +429,28 @@ export class GoogleSheetsQueryInterpreter {
378
429
  },
379
430
  };
380
431
  }
432
+ const castLikeMatch = normalizedExpression.match(/^CAST\(\s*(?:"([^"]+)"\.)?"([^"]+)"\s+AS\s+(?:CHAR|TEXT)\s*\)\s+(NOT\s+)?(I?LIKE)\s+(:[a-zA-Z_][a-zA-Z0-9_]*)$/i);
433
+ if (castLikeMatch?.[2] && castLikeMatch?.[4] && castLikeMatch?.[5]) {
434
+ const likeOperator = castLikeMatch[4].toUpperCase();
435
+ let operator;
436
+ if (likeOperator === 'LIKE') {
437
+ operator = castLikeMatch[3] ? 'NOT LIKE' : 'LIKE';
438
+ }
439
+ else {
440
+ operator = castLikeMatch[3] ? 'NOT ILIKE' : 'ILIKE';
441
+ }
442
+ return {
443
+ type: 'condition',
444
+ condition: {
445
+ tableAlias: castLikeMatch[1] ?? '',
446
+ column: castLikeMatch[2],
447
+ operator,
448
+ parameters: [
449
+ castLikeMatch[5],
450
+ ],
451
+ }
452
+ };
453
+ }
381
454
  /**
382
455
  * LIKE / NOT LIKE
383
456
  *
@@ -484,16 +557,55 @@ export class GoogleSheetsQueryInterpreter {
484
557
  return match[1];
485
558
  return expression.replace(/^"|"$/g, '');
486
559
  }
560
+ evaluateSelectExpression(row, expression) {
561
+ const parts = expression.split(/\s*\|\|\s*/).map((part) => part.trim());
562
+ if (parts.length === 1) {
563
+ const part = parts[0];
564
+ const columnMatch = part.match(/^"?([^".]+)"?\."?([^".]+)"?$/);
565
+ if (columnMatch?.[1] && columnMatch[2]) {
566
+ const tableRow = row[columnMatch[1]];
567
+ if (tableRow && typeof tableRow === 'object') {
568
+ return tableRow[columnMatch[2]];
569
+ }
570
+ return undefined;
571
+ }
572
+ const literalMatch = part.match(/^'(.*)'$/s);
573
+ if (literalMatch)
574
+ return literalMatch[1];
575
+ return undefined;
576
+ }
577
+ const values = parts.map((part) => this.evaluateSelectExpression(row, part));
578
+ /**
579
+ * SQL concatenation:
580
+ *
581
+ * 'foo' || NULL
582
+ * => NULL
583
+ */
584
+ if (values.some((value) => value === null || value === undefined))
585
+ return null;
586
+ return values.map((value) => String(value)).join('');
587
+ }
588
+ evaluateDistinctExpression(row, expression) {
589
+ return expression.split(/\s*\|\|\s*/).map((part) => this.evaluateSelectExpression(row, part.trim()));
590
+ }
487
591
  evaluateAggregate(rows, aggregate) {
488
592
  if (aggregate.function === 'COUNT') {
489
593
  /**
490
594
  * COUNT(*) / COUNT(1)
491
- *
492
- * TypeORM uses COUNT(1) for repository.count().
493
- * Both forms count rows, not a column value.
494
595
  */
495
- if (aggregate.argument === '*' || /^\d+$/.test(aggregate.argument))
496
- return rows.length;
596
+ if (aggregate.argument === '*' || /^\d+$/.test(aggregate.argument)) {
597
+ if (!aggregate.distinct)
598
+ return rows.length;
599
+ }
600
+ /**
601
+ * COUNT(DISTINCT expression)
602
+ */
603
+ if (aggregate.distinct) {
604
+ const values = rows.map((row) => this.evaluateDistinctExpression(row, aggregate.argument))
605
+ .filter((value) => value !== null && value !== undefined);
606
+ const distinctValues = new Set(values.map((value) => JSON.stringify(value)));
607
+ return distinctValues.size;
608
+ }
497
609
  }
498
610
  const columnMatch = aggregate.argument.match(/^"?([^".]+)"?\."?([^".]+)"?$/);
499
611
  const tableAlias = columnMatch?.[1];
@@ -501,21 +613,20 @@ export class GoogleSheetsQueryInterpreter {
501
613
  const getValue = (row) => {
502
614
  if (tableAlias) {
503
615
  const tableRow = row[tableAlias];
504
- if (tableRow && typeof tableRow === 'object')
616
+ if (tableRow && typeof tableRow === 'object') {
505
617
  return tableRow[column];
618
+ }
506
619
  return undefined;
507
620
  }
508
621
  return row[column];
509
622
  };
510
- const values = rows
511
- .map((row) => getValue(row))
623
+ const values = rows.map((row) => getValue(row))
512
624
  .filter((value) => value !== null && value !== undefined);
513
625
  if (aggregate.function === 'COUNT')
514
626
  return values.length;
515
627
  if (values.length === 0)
516
628
  return null;
517
- const numericValues = values
518
- .map((value) => typeof value === 'number' ? value : Number(value))
629
+ const numericValues = values.map((value) => typeof value === 'number' ? value : Number(value))
519
630
  .filter((value) => Number.isFinite(value));
520
631
  if (numericValues.length === 0)
521
632
  return null;
@@ -524,7 +635,8 @@ export class GoogleSheetsQueryInterpreter {
524
635
  case 'AVG': return numericValues.reduce((sum, value) => sum + value, 0) / numericValues.length;
525
636
  case 'MIN': return Math.min(...numericValues);
526
637
  case 'MAX': return Math.max(...numericValues);
527
- default: throw new GoogleSheetsUnsupportedOperationError(`Unsupported aggregate function: ${aggregate.function}`);
638
+ default:
639
+ throw new GoogleSheetsUnsupportedOperationError(`Unsupported aggregate function: ${aggregate.function}`);
528
640
  }
529
641
  }
530
642
  evaluateWhere(value, operator, parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/core/query/interpreter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../../src/core/query/interpreter.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface SelectColumn {
19
19
  tableAlias: string;
20
20
  column: string;
21
21
  alias: string;
22
+ aggregate?: 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX';
23
+ distinct?: boolean;
22
24
  }
23
25
  export interface FromQuery {
24
26
  table: string;
@@ -75,6 +77,7 @@ export interface AggregateColumn {
75
77
  function: AggregateFunction;
76
78
  argument: string;
77
79
  alias: string;
80
+ distinct?: boolean;
78
81
  }
79
82
  export type OrderDirection = 'ASC' | 'DESC';
80
83
  export interface OrderBy {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/query/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/query/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tantan-typeorm-gs",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "A TypeORM-compatible driver for using Google Sheets as a data source.",
5
5
  "keywords": [
6
6
  "typeorm",
@@ -21,7 +21,7 @@
21
21
  "exports": {
22
22
  ".": {
23
23
  "types": "./dist/index.d.ts",
24
- "import": "./dist/index.js"
24
+ "default": "./dist/index.js"
25
25
  }
26
26
  },
27
27
  "scripts": {
@@ -40,4 +40,4 @@
40
40
  "peerDependencies": {
41
41
  "typescript": "^7"
42
42
  }
43
- }
43
+ }