typesql-cli 0.5.18 → 0.6.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 (55) hide show
  1. package/code-generator.d.ts +3 -0
  2. package/code-generator.d.ts.map +1 -1
  3. package/code-generator.js +88 -12
  4. package/code-generator.js.map +1 -1
  5. package/describe-nested-query.d.ts +29 -0
  6. package/describe-nested-query.d.ts.map +1 -0
  7. package/describe-nested-query.js +154 -0
  8. package/describe-nested-query.js.map +1 -0
  9. package/describe-query.d.ts +2 -1
  10. package/describe-query.d.ts.map +1 -1
  11. package/describe-query.js +20 -21
  12. package/describe-query.js.map +1 -1
  13. package/mysql-mapping.d.ts +1 -1
  14. package/mysql-mapping.d.ts.map +1 -1
  15. package/mysql-mapping.js +1 -1
  16. package/mysql-mapping.js.map +1 -1
  17. package/mysql-query-analyzer/collect-constraints.d.ts +24 -50
  18. package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
  19. package/mysql-query-analyzer/collect-constraints.js +52 -1757
  20. package/mysql-query-analyzer/collect-constraints.js.map +1 -1
  21. package/mysql-query-analyzer/infer-column-nullability.d.ts +3 -3
  22. package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
  23. package/mysql-query-analyzer/infer-column-nullability.js +14 -26
  24. package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
  25. package/mysql-query-analyzer/infer-param-nullability.d.ts +3 -1
  26. package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
  27. package/mysql-query-analyzer/infer-param-nullability.js +21 -3
  28. package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
  29. package/mysql-query-analyzer/parse.d.ts +10 -10
  30. package/mysql-query-analyzer/parse.d.ts.map +1 -1
  31. package/mysql-query-analyzer/parse.js +133 -181
  32. package/mysql-query-analyzer/parse.js.map +1 -1
  33. package/mysql-query-analyzer/select-columns.d.ts +9 -9
  34. package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
  35. package/mysql-query-analyzer/select-columns.js +32 -226
  36. package/mysql-query-analyzer/select-columns.js.map +1 -1
  37. package/mysql-query-analyzer/traverse.d.ts +45 -0
  38. package/mysql-query-analyzer/traverse.d.ts.map +1 -0
  39. package/mysql-query-analyzer/traverse.js +1613 -0
  40. package/mysql-query-analyzer/traverse.js.map +1 -0
  41. package/mysql-query-analyzer/types.d.ts +39 -5
  42. package/mysql-query-analyzer/types.d.ts.map +1 -1
  43. package/mysql-query-analyzer/unify.d.ts +4 -3
  44. package/mysql-query-analyzer/unify.d.ts.map +1 -1
  45. package/mysql-query-analyzer/unify.js +542 -51
  46. package/mysql-query-analyzer/unify.js.map +1 -1
  47. package/mysql-query-analyzer/verify-multiple-result.js +1 -1
  48. package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
  49. package/package.json +2 -2
  50. package/ts-nested-descriptor.d.ts +26 -0
  51. package/ts-nested-descriptor.d.ts.map +1 -0
  52. package/ts-nested-descriptor.js +73 -0
  53. package/ts-nested-descriptor.js.map +1 -0
  54. package/types.d.ts +12 -8
  55. package/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"unify.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/unify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unify.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/unify.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ function isUniqueKeyComparation(compare, fromColumns) {
39
39
  if (tokens.length == 1 && tokens[0] instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
40
40
  const fieldName = (0, select_columns_1.splitName)(tokens[0].text);
41
41
  const col = (0, select_columns_1.findColumn)(fieldName, fromColumns);
42
- if (col.columnKey == 'PRI' || col.columnKey == 'UNI') {
42
+ if (col.columnKey == 'PRI' || col.columnKey == 'UNI') { //TODO - UNIQUE
43
43
  return true; //isUniqueKeyComparation = true
44
44
  }
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify-multiple-result.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/verify-multiple-result.ts"],"names":[],"mappings":";;;AAAA,qDAGyB;AACzB,qDAA+E;AAG/E,SAAgB,oBAAoB,CAAC,WAAwB,EAAE,WAAwB;IACnF,IAAI,WAAW,YAAY,+BAAa,EAAE;QAEtC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAEtC,IAAI,OAAO,YAAY,2CAAyB,EAAE;YAC9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE;gBACnC,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvC,IAAI,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;oBACvG,OAAO,KAAK,CAAC,CAAC,qBAAqB;iBACtC;aACJ;YACD,OAAO,IAAI,CAAC,CAAC,oBAAoB;SAEpC;QACD,OAAO,IAAI,CAAC,CAAC,aAAa;KAE7B;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE;QACvC,OAAO,IAAI,CAAC;KACf;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE;QACvC,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,CAAA;QAC3G,OAAO,iBAAiB,IAAI,KAAK,CAAC;KACrC;IACD,+CAA+C;IAC/C,8CAA8C;IAC9C,IAAI;IACJ,IAAI,WAAW,YAAY,+BAAa,EAAE;QACtC,OAAO,IAAI,CAAC,CAAC,oBAAoB;KACpC;IAED,MAAM,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAlCD,oDAkCC;AAED,SAAS,sBAAsB,CAAC,OAA0C,EAAE,WAAwB;IAChG,MAAM,MAAM,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,4CAA0B,EAAE;QACvE,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAA,2BAAU,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,EAAE;YAClD,OAAO,IAAI,CAAC,CAAC,+BAA+B;SAC/C;KACJ;IACD,OAAO,KAAK,CAAC,CAAC,gCAAgC;AAClD,CAAC"}
1
+ {"version":3,"file":"verify-multiple-result.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/verify-multiple-result.ts"],"names":[],"mappings":";;;AAAA,qDAGyB;AACzB,qDAA+E;AAG/E,SAAgB,oBAAoB,CAAC,WAAwB,EAAE,WAAwB;IACnF,IAAI,WAAW,YAAY,+BAAa,EAAE;QAEtC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAEtC,IAAI,OAAO,YAAY,2CAAyB,EAAE;YAC9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE;gBACnC,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvC,IAAI,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;oBACvG,OAAO,KAAK,CAAC,CAAC,qBAAqB;iBACtC;aACJ;YACD,OAAO,IAAI,CAAC,CAAC,oBAAoB;SAEpC;QACD,OAAO,IAAI,CAAC,CAAC,aAAa;KAE7B;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE;QACvC,OAAO,IAAI,CAAC;KACf;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE;QACvC,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,CAAA;QAC3G,OAAO,iBAAiB,IAAI,KAAK,CAAC;KACrC;IACD,+CAA+C;IAC/C,8CAA8C;IAC9C,IAAI;IACJ,IAAI,WAAW,YAAY,+BAAa,EAAE;QACtC,OAAO,IAAI,CAAC,CAAC,oBAAoB;KACpC;IAED,MAAM,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAlCD,oDAkCC;AAED,SAAS,sBAAsB,CAAC,OAA0C,EAAE,WAAwB;IAChG,MAAM,MAAM,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,4CAA0B,EAAE;QACvE,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAA,2BAAU,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,EAAE,EAAE,eAAe;YACnE,OAAO,IAAI,CAAC,CAAC,+BAA+B;SAC/C;KACJ;IACD,OAAO,KAAK,CAAC,CAAC,gCAAgC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typesql-cli",
3
- "version": "0.5.18",
3
+ "version": "0.6.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -40,4 +40,4 @@
40
40
  "ts-mysql-parser": "^0.2.0",
41
41
  "yargs": "^15.4.1"
42
42
  }
43
- }
43
+ }
@@ -0,0 +1,26 @@
1
+ import { NestedResultInfo } from "./describe-nested-query";
2
+ import { TsType } from "./mysql-mapping";
3
+ import { ColumnInfo } from "./mysql-query-analyzer/types";
4
+ export type TsField = {
5
+ type: 'field';
6
+ name: string;
7
+ tsType: TsType;
8
+ notNull: boolean;
9
+ };
10
+ export type TsRelationField = {
11
+ type: 'relation';
12
+ list: boolean;
13
+ name: string;
14
+ tsType: string;
15
+ notNull: boolean;
16
+ };
17
+ export type FieldType = TsField | TsRelationField;
18
+ export type RelationType = {
19
+ name: string;
20
+ fields: FieldType[];
21
+ };
22
+ export type NestedTsDescriptor = {
23
+ relations: RelationType[];
24
+ };
25
+ export declare function createNestedTsDescriptor(columns: ColumnInfo[], nestedResultInfo: NestedResultInfo): NestedTsDescriptor;
26
+ //# sourceMappingURL=ts-nested-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-nested-descriptor.d.ts","sourceRoot":"","sources":["../../src/ts-nested-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAkB,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,eAAe,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC7B,CAAA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,kBAAkB,CAKtH"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNestedTsDescriptor = void 0;
4
+ const mysql_mapping_1 = require("./mysql-mapping");
5
+ function createNestedTsDescriptor(columns, nestedResultInfo) {
6
+ const result = {
7
+ relations: nestedResultInfo.relations.map(r => mapColumnToNestedField(columns, r))
8
+ };
9
+ return result;
10
+ }
11
+ exports.createNestedTsDescriptor = createNestedTsDescriptor;
12
+ function mapColumnToNestedField(columns, modelColumn) {
13
+ const relation = {
14
+ name: modelColumn.name,
15
+ fields: modelColumn.columns.map(c => mapToField(columns, c))
16
+ };
17
+ return relation;
18
+ }
19
+ function mapToField(columns, field) {
20
+ const fieldType = field.type;
21
+ if (fieldType == 'field') {
22
+ return mapModelColumnToTsField(columns, field);
23
+ }
24
+ if (fieldType == 'relation') {
25
+ return mapModelColumnToTsRelation(field);
26
+ }
27
+ return fieldType;
28
+ }
29
+ function mapModelColumnToTsField(columns, modelColumn) {
30
+ const column = columns.find(col => col.columnName == modelColumn.name);
31
+ const tsType = (0, mysql_mapping_1.converToTsType)(column.type);
32
+ const field = {
33
+ type: "field",
34
+ name: modelColumn.name,
35
+ tsType: tsType,
36
+ notNull: column.notNull
37
+ };
38
+ return field;
39
+ }
40
+ function mapModelColumnToTsRelation(modelColumn) {
41
+ const field = {
42
+ type: "relation",
43
+ list: modelColumn.cardinality == 'many' ? true : false,
44
+ name: modelColumn.name,
45
+ tsType: modelColumn.name + (modelColumn.cardinality == 'many' ? '[]' : ''),
46
+ notNull: true
47
+ };
48
+ return field;
49
+ }
50
+ // function mapToRelationList(columnsInfo: ColumnInfo[], columns: ModelColumn[]): RelationType[] {
51
+ // const allRelations = flattenRelations(columns);
52
+ // return allRelations.filter(r => r.columns.length > 0).map(relation => {
53
+ // const type: RelationType = {
54
+ // name: relation.name,
55
+ // //https://stackoverflow.com/a/54317362
56
+ // fields: relation.columns.filter((c): c is Field => c.type == 'field').map(c => {
57
+ // return mapModelColumnToTsField(columnsInfo, c)
58
+ // })
59
+ // }
60
+ // return type;
61
+ // });
62
+ // }
63
+ // //https://stackoverflow.com/a/34757676
64
+ // function flattenRelations(columns: ModelColumn[], ret: Model[] = []) {
65
+ // for (const column of columns) {
66
+ // if (column.type == 'relation') {
67
+ // flattenRelations(column.columns, ret);
68
+ // ret.push(column);
69
+ // }
70
+ // }
71
+ // return ret;
72
+ // }
73
+ //# sourceMappingURL=ts-nested-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-nested-descriptor.js","sourceRoot":"","sources":["../../src/ts-nested-descriptor.ts"],"names":[],"mappings":";;;AACA,mDAAyD;AA6BzD,SAAgB,wBAAwB,CAAC,OAAqB,EAAE,gBAAkC;IAC9F,MAAM,MAAM,GAAuB;QAC/B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KACrF,CAAA;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AALD,4DAKC;AAED,SAAS,sBAAsB,CAAC,OAAqB,EAAE,WAAyB;IAE5E,MAAM,QAAQ,GAAiB;QAC3B,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KAC/D,CAAA;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,OAAqB,EAAE,KAA4B;IACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,IAAI,SAAS,IAAI,OAAO,EAAE;QACtB,OAAO,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAClD;IACD,IAAI,SAAS,IAAI,UAAU,EAAE;QACzB,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;KAC5C;IACD,OAAO,SAAyB,CAAA;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqB,EAAE,WAAkB;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAE,CAAC;IACxE,MAAM,MAAM,GAAG,IAAA,8BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAY;QACnB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM,CAAC,OAAO;KAC1B,CAAA;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,WAA0B;IAE1D,MAAM,KAAK,GAAoB;QAC3B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACtD,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,MAAM,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI;KAChB,CAAA;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,kGAAkG;AAClG,sDAAsD;AAEtD,8EAA8E;AAC9E,uCAAuC;AACvC,mCAAmC;AACnC,qDAAqD;AACrD,+FAA+F;AAC/F,iEAAiE;AACjE,iBAAiB;AACjB,YAAY;AACZ,uBAAuB;AACvB,UAAU;AACV,IAAI;AAEJ,yCAAyC;AACzC,yEAAyE;AACzE,sCAAsC;AACtC,2CAA2C;AAC3C,qDAAqD;AACrD,gCAAgC;AAChC,YAAY;AACZ,QAAQ;AACR,kBAAkB;AAClB,IAAI"}
package/types.d.ts CHANGED
@@ -1,22 +1,26 @@
1
1
  import { MySqlType } from "./mysql-mapping";
2
2
  import { Brand } from "./utility-types";
3
- import { ColumnSchema } from "./mysql-query-analyzer/types";
3
+ import { ColumnInfo, ColumnSchema } from "./mysql-query-analyzer/types";
4
+ import { QueryContext } from "ts-mysql-parser";
5
+ import { NestedResultInfo } from "./describe-nested-query";
4
6
  export type DBSchema = {
5
7
  columns: ColumnSchema[];
6
8
  };
9
+ export type ParseResult = {
10
+ sql: string;
11
+ namedParameters: string[];
12
+ dbSchema: ColumnSchema[];
13
+ queryContext: QueryContext;
14
+ };
7
15
  export type SchemaDef = {
8
16
  sql: string;
9
17
  queryType: 'Select' | 'Insert' | 'Update' | 'Delete';
10
18
  multipleRowsResult: boolean;
11
- columns: ColumnDef[];
19
+ columns: ColumnInfo[];
12
20
  orderByColumns?: string[];
13
21
  parameters: ParameterDef[];
14
22
  data?: ParameterDef[];
15
- };
16
- export type ColumnDef = {
17
- name: string;
18
- dbtype: MySqlType;
19
- notNull?: boolean;
23
+ nestedResultInfo?: NestedResultInfo;
20
24
  };
21
25
  export type FieldNullability = {
22
26
  name: string;
@@ -31,7 +35,7 @@ export type ColumnDef2 = {
31
35
  };
32
36
  export type ParameterDef = {
33
37
  name: string;
34
- columnType: MySqlType;
38
+ columnType: MySqlType | 'any';
35
39
  notNull: boolean;
36
40
  list?: boolean;
37
41
  };
package/types.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}