typesql-cli 0.18.3 → 0.18.4

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 (32) hide show
  1. package/code-generator2.d.ts.map +1 -1
  2. package/code-generator2.js +12 -1
  3. package/code-generator2.js.map +1 -1
  4. package/dialects/postgres.d.ts.map +1 -1
  5. package/dialects/postgres.js +5 -0
  6. package/dialects/postgres.js.map +1 -1
  7. package/drivers/postgres.d.ts +2 -0
  8. package/drivers/postgres.d.ts.map +1 -1
  9. package/drivers/postgres.js +21 -0
  10. package/drivers/postgres.js.map +1 -1
  11. package/drivers/types.d.ts +2 -0
  12. package/drivers/types.d.ts.map +1 -1
  13. package/mysql-query-analyzer/select-columns.d.ts +1 -0
  14. package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
  15. package/mysql-query-analyzer/select-columns.js +13 -0
  16. package/mysql-query-analyzer/select-columns.js.map +1 -1
  17. package/package.json +1 -1
  18. package/postgres-query-analyzer/describe.d.ts.map +1 -1
  19. package/postgres-query-analyzer/describe.js +5 -4
  20. package/postgres-query-analyzer/describe.js.map +1 -1
  21. package/postgres-query-analyzer/parser.d.ts +3 -2
  22. package/postgres-query-analyzer/parser.d.ts.map +1 -1
  23. package/postgres-query-analyzer/parser.js +19 -5
  24. package/postgres-query-analyzer/parser.js.map +1 -1
  25. package/postgres-query-analyzer/traverse.d.ts +17 -6
  26. package/postgres-query-analyzer/traverse.d.ts.map +1 -1
  27. package/postgres-query-analyzer/traverse.js +290 -129
  28. package/postgres-query-analyzer/traverse.js.map +1 -1
  29. package/postgres-query-analyzer/types.d.ts +8 -0
  30. package/postgres-query-analyzer/types.d.ts.map +1 -1
  31. package/sqlite-query-analyzer/types.d.ts +6 -2
  32. package/sqlite-query-analyzer/types.d.ts.map +1 -1
@@ -1,18 +1,32 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.parseSql = parseSql;
4
15
  exports.safeParseSql = safeParseSql;
5
16
  const postgres_1 = require("@wsporto/typesql-parser/postgres");
6
17
  const traverse_1 = require("./traverse");
7
18
  const neverthrow_1 = require("neverthrow");
8
- function parseSql(sql, dbSchema, checkConstraints, options = (0, traverse_1.defaultOptions)()) {
19
+ function parseSql(sql, dbSchema, checkConstraints, userFunctions, options = (0, traverse_1.defaultOptions)()) {
9
20
  const parser = (0, postgres_1.parseSql)(sql);
10
- const traverseResult = (0, traverse_1.traverseSmt)(parser.stmt(), dbSchema, checkConstraints, options);
11
- return traverseResult;
21
+ const traverseResult = (0, traverse_1.traverseSmt)(parser.stmt(), dbSchema, checkConstraints, userFunctions, options);
22
+ return Object.assign(Object.assign({}, traverseResult), { columns: traverseResult.columns.map((_a) => {
23
+ var { column_key: _ } = _a, rest = __rest(_a, ["column_key"]);
24
+ return rest;
25
+ }) });
12
26
  }
13
- function safeParseSql(sql, dbSchema, checkConstraints, options = (0, traverse_1.defaultOptions)()) {
27
+ function safeParseSql(sql, dbSchema, checkConstraints, userFunctions, options = (0, traverse_1.defaultOptions)()) {
14
28
  try {
15
- const result = parseSql(sql, dbSchema, checkConstraints, options);
29
+ const result = parseSql(sql, dbSchema, checkConstraints, userFunctions, options);
16
30
  return (0, neverthrow_1.ok)(result);
17
31
  }
18
32
  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,yCAAiF;AAEjF,2CAA6C;AAG7C,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAgC,EAAE,gBAAuC,EAAE,OAAO,GAAG,IAAA,yBAAc,GAAE;IAC1I,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEvF,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,QAAgC,EAAE,gBAAuC,EAAE,OAAO,GAAG,IAAA,yBAAc,GAAE;IAC9I,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAClE,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":";;;;;;;;;;;;;AAOA,4BASC;AAED,oCASC;AA3BD,+DAAyE;AACzE,yCAAiF;AAEjF,2CAA6C;AAI7C,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAgC,EAAE,gBAAuC,EAAE,aAAmC,EAAE,OAAO,GAAG,IAAA,yBAAc,GAAE;IAC/K,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEtG,uCACI,cAAc,KACjB,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAA0B,EAAE,EAAE;gBAA9B,EAAE,UAAU,EAAE,CAAC,OAAW,EAAN,IAAI,cAAxB,cAA0B,CAAF;YAAO,OAAA,IAAI,CAAA;SAAA,CAAC,IACxE;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,QAAgC,EAAE,gBAAuC,EAAE,aAAmC,EAAE,OAAO,GAAG,IAAA,yBAAc,GAAE;IACnL,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACjF,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"}
@@ -5,6 +5,7 @@ import { QueryType } from '../types';
5
5
  import { Relation2 } from '../sqlite-query-analyzer/sqlite-describe-nested-query';
6
6
  import { CheckConstraintResult } from '../drivers/postgres';
7
7
  import { JsonType, PostgresSimpleType } from '../sqlite-query-analyzer/types';
8
+ import { UserFunctionSchema } from './types';
8
9
  export type NotNullInfo = {
9
10
  table_schema: string;
10
11
  table_name: string;
@@ -12,13 +13,10 @@ export type NotNullInfo = {
12
13
  is_nullable: boolean;
13
14
  original_is_nullable?: boolean;
14
15
  column_default?: true;
16
+ column_key?: 'PRI' | 'UNI' | '';
15
17
  type: PostgresSimpleType;
16
18
  jsonType?: JsonType;
17
- recordTypes?: RecordType[];
18
- };
19
- export type RecordType = {
20
- type: PostgresSimpleType;
21
- notNull: boolean;
19
+ recordTypes?: NotNullInfo[];
22
20
  };
23
21
  export type PostgresTraverseResult = {
24
22
  queryType: QueryType;
@@ -47,5 +45,18 @@ export type TraverseOptions = {
47
45
  collectDynamicQueryInfo?: boolean;
48
46
  };
49
47
  export declare function defaultOptions(): TraverseOptions;
50
- export declare function traverseSmt(stmt: StmtContext, dbSchema: PostgresColumnSchema[], checkConstraints: CheckConstraintResult, options: TraverseOptions): PostgresTraverseResult;
48
+ export declare function traverseSmt(stmt: StmtContext, dbSchema: PostgresColumnSchema[], checkConstraints: CheckConstraintResult, userFunctions: UserFunctionSchema[], options: TraverseOptions): PostgresTraverseResult;
49
+ export type TableReturnType = {
50
+ kind: 'table';
51
+ columns: {
52
+ name: string;
53
+ type: string;
54
+ }[];
55
+ };
56
+ export type SetofReturnType = {
57
+ kind: 'setof';
58
+ table: string;
59
+ };
60
+ export type FunctionReturnType = TableReturnType | SetofReturnType;
61
+ export declare function parseReturnType(returnType: string): FunctionReturnType;
51
62
  //# 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,EAAguC,WAAW,EAA4L,MAAM,mDAAmD,CAAC;AAEx+C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAa,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAA+C,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE3H,MAAM,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CACjB,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,SAAS,EAAE,CAAC;IACnC,yBAAyB,CAAC,EAAE,SAAS,EAAE,CAAC;IACxC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACnC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAyBD,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,MAAM,MAAM,eAAe,GAAG;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAA;AAED,wBAAgB,cAAc,IAAI,eAAe,CAKhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,GAAG,sBAAsB,CAiD1K"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgxC,WAAW,EAA4L,MAAM,mDAAmD,CAAC;AAExhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAa,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAA+C,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE3H,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IAChC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B,CAAA;AAGD,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,qBAAqB,EAAE,SAAS,EAAE,CAAC;IACnC,yBAAyB,CAAC,EAAE,SAAS,EAAE,CAAC;IACxC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACnC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AA2BD,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,MAAM,MAAM,eAAe,GAAG;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAA;AAED,wBAAgB,cAAc,IAAI,eAAe,CAKhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,eAAe,GAAG,sBAAsB,CAmD/M;AA2lDD,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAWF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,eAAe,CAAC;AAEnE,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CA6BtE"}