typesql-cli 0.15.1 → 0.15.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.
Files changed (41) hide show
  1. package/code-generator.d.ts +1 -1
  2. package/code-generator.d.ts.map +1 -1
  3. package/code-generator.js +2 -2
  4. package/code-generator.js.map +1 -1
  5. package/code-generator2.d.ts.map +1 -1
  6. package/code-generator2.js +71 -6
  7. package/code-generator2.js.map +1 -1
  8. package/drivers/postgres.d.ts +1 -3
  9. package/drivers/postgres.d.ts.map +1 -1
  10. package/drivers/postgres.js +0 -10
  11. package/drivers/postgres.js.map +1 -1
  12. package/drivers/sqlite.d.ts +5 -0
  13. package/drivers/sqlite.d.ts.map +1 -0
  14. package/drivers/sqlite.js +37 -0
  15. package/drivers/sqlite.js.map +1 -0
  16. package/package.json +5 -2
  17. package/postgres-query-analyzer/describe.d.ts.map +1 -1
  18. package/postgres-query-analyzer/describe.js +30 -10
  19. package/postgres-query-analyzer/describe.js.map +1 -1
  20. package/postgres-query-analyzer/parser.d.ts +2 -2
  21. package/postgres-query-analyzer/parser.d.ts.map +1 -1
  22. package/postgres-query-analyzer/parser.js +4 -4
  23. package/postgres-query-analyzer/parser.js.map +1 -1
  24. package/postgres-query-analyzer/traverse.d.ts +16 -2
  25. package/postgres-query-analyzer/traverse.d.ts.map +1 -1
  26. package/postgres-query-analyzer/traverse.js +320 -170
  27. package/postgres-query-analyzer/traverse.js.map +1 -1
  28. package/sqlite-query-analyzer/code-generator.d.ts +9 -2
  29. package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
  30. package/sqlite-query-analyzer/code-generator.js +13 -38
  31. package/sqlite-query-analyzer/code-generator.js.map +1 -1
  32. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts +2 -0
  33. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -1
  34. package/sqlite-query-analyzer/sqlite-describe-nested-query.js +12 -7
  35. package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -1
  36. package/sqlite-query-analyzer/traverse.d.ts +5 -1
  37. package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
  38. package/sqlite-query-analyzer/traverse.js +11 -2
  39. package/sqlite-query-analyzer/traverse.js.map +1 -1
  40. package/ts-nested-descriptor.js +1 -1
  41. package/ts-nested-descriptor.js.map +1 -1
@@ -6,7 +6,17 @@ const parser_1 = require("./parser");
6
6
  const replace_list_params_1 = require("../sqlite-query-analyzer/replace-list-params");
7
7
  const neverthrow_1 = require("neverthrow");
8
8
  const postgres_2 = require("../dialects/postgres");
9
- function describeQueryRefine(sql, postgresDescribeResult, traverseResult, namedParameters) {
9
+ const sqlite_describe_nested_query_1 = require("../sqlite-query-analyzer/sqlite-describe-nested-query");
10
+ const Either_1 = require("fp-ts/lib/Either");
11
+ const describe_query_1 = require("../describe-query");
12
+ function describeQueryRefine(sql, postgresDescribeResult, dbSchema, namedParameters) {
13
+ const gererateNested = (0, describe_query_1.hasAnnotation)(sql, '@nested');
14
+ // const gererateDynamicQuery = hasAnnotation(sql, '@dynamicQuery');
15
+ const parseResult = (0, parser_1.safeParseSql)(sql, dbSchema, gererateNested);
16
+ if (parseResult.isErr()) {
17
+ return (0, neverthrow_1.err)(parseResult.error);
18
+ }
19
+ const traverseResult = parseResult.value;
10
20
  const paramNames = postgresDescribeResult.parameters.map((_, index) => namedParameters[index] ? namedParameters[index] : `param${index + 1}`);
11
21
  const newSql = (0, replace_list_params_1.replacePostgresParams)(sql, traverseResult.parameterList, paramNames);
12
22
  const descResult = {
@@ -24,15 +34,29 @@ function describeQueryRefine(sql, postgresDescribeResult, traverseResult, namedP
24
34
  if (traverseResult.returning) {
25
35
  descResult.returning = traverseResult.returning;
26
36
  }
37
+ if (traverseResult.relations) {
38
+ const nestedResult = (0, sqlite_describe_nested_query_1.describeNestedQuery)(descResult.columns, traverseResult.relations || []);
39
+ if ((0, Either_1.isLeft)(nestedResult)) {
40
+ return (0, neverthrow_1.err)('Error during nested query result: ' + nestedResult.left.description);
41
+ }
42
+ descResult.nestedInfo = nestedResult.right;
43
+ }
27
44
  return (0, neverthrow_1.ok)(descResult);
28
45
  }
29
- function mapToColumnInfo(col, posgresTypes, notNull) {
46
+ function transformToMap(dbSchema) {
47
+ const hash = dbSchema.reduce((acc, { oid, table_name }) => {
48
+ acc[oid] = table_name;
49
+ return acc;
50
+ }, {});
51
+ return hash;
52
+ }
53
+ function mapToColumnInfo(col, posgresTypes, colInfo) {
30
54
  var _a;
31
55
  return {
32
56
  columnName: col.name,
33
- notNull: notNull,
57
+ notNull: !colInfo.is_nullable,
34
58
  type: (_a = posgresTypes[col.typeId]) !== null && _a !== void 0 ? _a : '?',
35
- table: col.tableId == 0 ? '' : 'table'
59
+ table: colInfo.table_name
36
60
  };
37
61
  }
38
62
  function mapToParamDef(paramName, paramType, notNull, isList) {
@@ -46,12 +70,8 @@ function mapToParamDef(paramName, paramType, notNull, isList) {
46
70
  function describeQuery(postgres, sql, namedParameters) {
47
71
  return (0, postgres_1.loadDbSchema)(postgres)
48
72
  .andThen(dbSchema => {
49
- const parseResult = (0, parser_1.safeParseSql)(sql, dbSchema);
50
- if (parseResult.isErr()) {
51
- return (0, neverthrow_1.err)(parseResult.error);
52
- }
53
73
  return (0, postgres_1.postgresDescribe)(postgres, sql)
54
- .andThen(analyzeResult => describeQueryRefine(sql, analyzeResult, parseResult.value, namedParameters));
74
+ .andThen(analyzeResult => describeQueryRefine(sql, analyzeResult, dbSchema, namedParameters));
55
75
  }).mapErr(err => {
56
76
  return {
57
77
  name: 'error',
@@ -60,7 +80,7 @@ function describeQuery(postgres, sql, namedParameters) {
60
80
  });
61
81
  }
62
82
  function getColumnsForQuery(traverseResult, postgresDescribeResult) {
63
- return postgresDescribeResult.columns.map((col, index) => mapToColumnInfo(col, postgres_2.postgresTypes, traverseResult.columnsNullability[index]));
83
+ return postgresDescribeResult.columns.map((col, index) => mapToColumnInfo(col, postgres_2.postgresTypes, traverseResult.columns[index]));
64
84
  }
65
85
  function getParamtersForQuery(traverseResult, postgresDescribeResult, paramNames) {
66
86
  return postgresDescribeResult.parameters
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PostgresTraverseResult } from './traverse';
2
2
  import { PostgresColumnSchema } from '../drivers/types';
3
3
  import { Result } from 'neverthrow';
4
- export declare function parseSql(sql: string, dbSchema: PostgresColumnSchema[]): PostgresTraverseResult;
5
- export declare function safeParseSql(sql: string, dbSchema: PostgresColumnSchema[]): Result<PostgresTraverseResult, string>;
4
+ export declare function parseSql(sql: string, dbSchema: PostgresColumnSchema[], gererateNested?: boolean): PostgresTraverseResult;
5
+ export declare function safeParseSql(sql: string, dbSchema: PostgresColumnSchema[], gererateNested: boolean): Result<PostgresTraverseResult, string>;
6
6
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAe,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAG7C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAM9F;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CASlH"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAe,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAG7C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,cAAc,UAAQ,GAAG,sBAAsB,CAMtH;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAS3I"}
@@ -5,14 +5,14 @@ exports.safeParseSql = safeParseSql;
5
5
  const postgres_1 = require("@wsporto/typesql-parser/postgres");
6
6
  const traverse_1 = require("./traverse");
7
7
  const neverthrow_1 = require("neverthrow");
8
- function parseSql(sql, dbSchema) {
8
+ function parseSql(sql, dbSchema, gererateNested = false) {
9
9
  const parser = (0, postgres_1.parseSql)(sql);
10
- const traverseResult = (0, traverse_1.traverseSmt)(parser.stmt(), dbSchema);
10
+ const traverseResult = (0, traverse_1.traverseSmt)(parser.stmt(), dbSchema, gererateNested);
11
11
  return traverseResult;
12
12
  }
13
- function safeParseSql(sql, dbSchema) {
13
+ function safeParseSql(sql, dbSchema, gererateNested) {
14
14
  try {
15
- const result = parseSql(sql, dbSchema);
15
+ const result = parseSql(sql, dbSchema, gererateNested);
16
16
  return (0, neverthrow_1.ok)(result);
17
17
  }
18
18
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":";;AAMA,4BAMC;AAED,oCASC;AAvBD,+DAAyE;AACzE,yCAAiE;AAEjE,2CAA6C;AAG7C,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAgC;IACrE,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE5D,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,QAAgC;IACzE,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAA,eAAE,EAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,CAAU,CAAC;QACzB,OAAO,IAAA,gBAAG,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":";;AAMA,4BAMC;AAED,oCASC;AAvBD,+DAAyE;AACzE,yCAAiE;AAEjE,2CAA6C;AAG7C,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAgC,EAAE,cAAc,GAAG,KAAK;IAC7F,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5E,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,QAAgC,EAAE,cAAuB;IAClG,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACvD,OAAO,IAAA,eAAE,EAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,CAAU,CAAC;QACzB,OAAO,IAAA,gBAAG,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC"}
@@ -1,15 +1,29 @@
1
1
  import { StmtContext } from '@wsporto/typesql-parser/postgres/PostgreSQLParser';
2
2
  import { PostgresColumnSchema } from '../drivers/types';
3
3
  import { QueryType } from '../types';
4
+ import { Relation2 } from '../sqlite-query-analyzer/sqlite-describe-nested-query';
5
+ export type NotNullInfo = {
6
+ table_schema: string;
7
+ table_name: string;
8
+ column_name: string;
9
+ is_nullable: boolean;
10
+ };
4
11
  export type PostgresTraverseResult = {
5
12
  queryType: QueryType;
6
13
  multipleRowsResult: boolean;
7
- columnsNullability: boolean[];
14
+ columns: NotNullInfo[];
8
15
  parametersNullability: boolean[];
9
16
  whereParamtersNullability?: boolean[];
10
17
  parameterList: boolean[];
11
18
  limit?: number;
12
19
  returning?: boolean;
20
+ relations?: Relation2[];
21
+ };
22
+ export type Relation3 = {
23
+ name: string;
24
+ alias: string;
25
+ parentRelation: string;
26
+ joinColumn: string;
13
27
  };
14
- export declare function traverseSmt(stmt: StmtContext, dbSchema: PostgresColumnSchema[]): PostgresTraverseResult;
28
+ export declare function traverseSmt(stmt: StmtContext, dbSchema: PostgresColumnSchema[], generateNestedInfo: boolean): PostgresTraverseResult;
15
29
  //# sourceMappingURL=traverse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4mC,WAAW,EAA4L,MAAM,mDAAmD,CAAC;AAEp3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcrC,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;IACtC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAaD,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAwBvG"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4mC,WAAW,EAA4L,MAAM,mDAAmD,CAAC;AAEp3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAElF,MAAM,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;IACtC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB,CAAA;AAoBD,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,kBAAkB,EAAE,OAAO,GAAG,sBAAsB,CAgCpI"}