typesql-cli 0.9.6 → 0.10.1

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 (110) hide show
  1. package/README.md +2 -3
  2. package/cli.js +76 -78
  3. package/cli.js.map +1 -1
  4. package/code-generator.d.ts +7 -7
  5. package/code-generator.d.ts.map +1 -1
  6. package/code-generator.js +193 -194
  7. package/code-generator.js.map +1 -1
  8. package/describe-dynamic-query.d.ts +1 -1
  9. package/describe-dynamic-query.d.ts.map +1 -1
  10. package/describe-dynamic-query.js +47 -42
  11. package/describe-dynamic-query.js.map +1 -1
  12. package/describe-nested-query.d.ts +2 -2
  13. package/describe-nested-query.d.ts.map +1 -1
  14. package/describe-nested-query.js +28 -25
  15. package/describe-nested-query.js.map +1 -1
  16. package/describe-query.d.ts +4 -4
  17. package/describe-query.d.ts.map +1 -1
  18. package/describe-query.js +24 -25
  19. package/describe-query.js.map +1 -1
  20. package/drivers/libsql.d.ts +2 -2
  21. package/drivers/libsql.d.ts.map +1 -1
  22. package/drivers/libsql.js +4 -5
  23. package/drivers/libsql.js.map +1 -1
  24. package/mysql-mapping.d.ts +1 -1
  25. package/mysql-mapping.d.ts.map +1 -1
  26. package/mysql-mapping.js +13 -13
  27. package/mysql-mapping.js.map +1 -1
  28. package/mysql-query-analyzer/collect-constraints.d.ts +4 -4
  29. package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
  30. package/mysql-query-analyzer/collect-constraints.js +29 -31
  31. package/mysql-query-analyzer/collect-constraints.js.map +1 -1
  32. package/mysql-query-analyzer/infer-column-nullability.d.ts +2 -2
  33. package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
  34. package/mysql-query-analyzer/infer-column-nullability.js +61 -63
  35. package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
  36. package/mysql-query-analyzer/infer-param-nullability.d.ts +2 -2
  37. package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
  38. package/mysql-query-analyzer/infer-param-nullability.js +13 -14
  39. package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
  40. package/mysql-query-analyzer/parse.d.ts +2 -2
  41. package/mysql-query-analyzer/parse.d.ts.map +1 -1
  42. package/mysql-query-analyzer/parse.js +42 -40
  43. package/mysql-query-analyzer/parse.js.map +1 -1
  44. package/mysql-query-analyzer/select-columns.d.ts +4 -4
  45. package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
  46. package/mysql-query-analyzer/select-columns.js +70 -65
  47. package/mysql-query-analyzer/select-columns.js.map +1 -1
  48. package/mysql-query-analyzer/traverse.d.ts +4 -4
  49. package/mysql-query-analyzer/traverse.d.ts.map +1 -1
  50. package/mysql-query-analyzer/traverse.js +211 -188
  51. package/mysql-query-analyzer/traverse.js.map +1 -1
  52. package/mysql-query-analyzer/types.d.ts +5 -5
  53. package/mysql-query-analyzer/types.d.ts.map +1 -1
  54. package/mysql-query-analyzer/unify.d.ts +2 -2
  55. package/mysql-query-analyzer/unify.d.ts.map +1 -1
  56. package/mysql-query-analyzer/unify.js +485 -487
  57. package/mysql-query-analyzer/unify.js.map +1 -1
  58. package/mysql-query-analyzer/util.d.ts.map +1 -1
  59. package/mysql-query-analyzer/util.js +4 -6
  60. package/mysql-query-analyzer/util.js.map +1 -1
  61. package/mysql-query-analyzer/verify-multiple-result.d.ts +2 -2
  62. package/mysql-query-analyzer/verify-multiple-result.d.ts.map +1 -1
  63. package/mysql-query-analyzer/verify-multiple-result.js +9 -9
  64. package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
  65. package/package.json +46 -44
  66. package/queryExectutor.d.ts +4 -4
  67. package/queryExectutor.d.ts.map +1 -1
  68. package/queryExectutor.js +48 -51
  69. package/queryExectutor.js.map +1 -1
  70. package/sql-generator.d.ts +2 -2
  71. package/sql-generator.d.ts.map +1 -1
  72. package/sql-generator.js +30 -29
  73. package/sql-generator.js.map +1 -1
  74. package/sqlite-query-analyzer/code-generator.d.ts +6 -6
  75. package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
  76. package/sqlite-query-analyzer/code-generator.js +226 -177
  77. package/sqlite-query-analyzer/code-generator.js.map +1 -1
  78. package/sqlite-query-analyzer/parser.d.ts +4 -4
  79. package/sqlite-query-analyzer/parser.d.ts.map +1 -1
  80. package/sqlite-query-analyzer/parser.js +17 -18
  81. package/sqlite-query-analyzer/parser.js.map +1 -1
  82. package/sqlite-query-analyzer/query-executor.d.ts +6 -6
  83. package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
  84. package/sqlite-query-analyzer/query-executor.js +42 -33
  85. package/sqlite-query-analyzer/query-executor.js.map +1 -1
  86. package/sqlite-query-analyzer/replace-list-params.d.ts +1 -1
  87. package/sqlite-query-analyzer/replace-list-params.d.ts.map +1 -1
  88. package/sqlite-query-analyzer/replace-list-params.js +5 -5
  89. package/sqlite-query-analyzer/replace-list-params.js.map +1 -1
  90. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts +4 -4
  91. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -1
  92. package/sqlite-query-analyzer/sqlite-describe-nested-query.js +19 -17
  93. package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -1
  94. package/sqlite-query-analyzer/traverse.d.ts +5 -5
  95. package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
  96. package/sqlite-query-analyzer/traverse.js +185 -155
  97. package/sqlite-query-analyzer/traverse.js.map +1 -1
  98. package/ts-dynamic-query-descriptor.d.ts +1 -1
  99. package/ts-dynamic-query-descriptor.d.ts.map +1 -1
  100. package/ts-dynamic-query-descriptor.js +7 -8
  101. package/ts-dynamic-query-descriptor.js.map +1 -1
  102. package/ts-nested-descriptor.d.ts +4 -4
  103. package/ts-nested-descriptor.d.ts.map +1 -1
  104. package/ts-nested-descriptor.js +13 -14
  105. package/ts-nested-descriptor.js.map +1 -1
  106. package/types.d.ts +18 -15
  107. package/types.d.ts.map +1 -1
  108. package/util.d.ts.map +1 -1
  109. package/util.js.map +1 -1
  110. package/utility-types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DynamicSqlInfo, DynamicSqlInfo2, DynamicSqlInfoResult, DynamicSqlInfoResult2 } from "./mysql-query-analyzer/types";
1
+ import type { DynamicSqlInfo, DynamicSqlInfo2, DynamicSqlInfoResult, DynamicSqlInfoResult2 } from './mysql-query-analyzer/types';
2
2
  export declare function describeDynamicQuery(dynamicQueryInfo: DynamicSqlInfo, namedParameters: string[], orderBy: string[]): DynamicSqlInfoResult;
3
3
  export declare function describeDynamicQuery2(dynamicQueryInfo: DynamicSqlInfo2, namedParameters: string[], orderByColumns: string[]): DynamicSqlInfoResult2;
4
4
  //# sourceMappingURL=describe-dynamic-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe-dynamic-query.d.ts","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAA2K,MAAM,8BAA8B,CAAC;AAErS,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAqCzI;AAuED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAkBnJ"}
1
+ {"version":3,"file":"describe-dynamic-query.d.ts","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EAWrB,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAsCzI;AA+ED,wBAAgB,qBAAqB,CACpC,gBAAgB,EAAE,eAAe,EACjC,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACtB,qBAAqB,CAkBvB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describeDynamicQuery2 = exports.describeDynamicQuery = void 0;
3
+ exports.describeDynamicQuery = describeDynamicQuery;
4
+ exports.describeDynamicQuery2 = describeDynamicQuery2;
4
5
  const select_columns_1 = require("./mysql-query-analyzer/select-columns");
5
6
  function describeDynamicQuery(dynamicQueryInfo, namedParameters, orderBy) {
6
7
  const { with: withFragments, select, from, where } = dynamicQueryInfo;
@@ -14,10 +15,10 @@ function describeDynamicQuery(dynamicQueryInfo, namedParameters, orderBy) {
14
15
  };
15
16
  return fragmentResult;
16
17
  });
17
- const withFragements = withFragments === null || withFragments === void 0 ? void 0 : withFragments.map(fragment => transformFrom(fragment, withFragments, select, from, where, namedParameters, orderBy));
18
- const fromFragements = from.map(fragment => transformFrom(fragment, undefined, select, from, where, namedParameters, orderBy));
19
- const whereFragements = where.map(fragment => {
20
- const params = fragment.dependOnParams.map(paramIndex => namedParameters[paramIndex]);
18
+ const withFragements = withFragments === null || withFragments === void 0 ? void 0 : withFragments.map((fragment) => transformFrom(fragment, withFragments, select, from, where, namedParameters, orderBy));
19
+ const fromFragements = from.map((fragment) => transformFrom(fragment, undefined, select, from, where, namedParameters, orderBy));
20
+ const whereFragements = where.map((fragment) => {
21
+ const params = fragment.dependOnParams.map((paramIndex) => namedParameters[paramIndex]);
21
22
  const fragmentResult = {
22
23
  fragment: fragment.fragment,
23
24
  dependOnFields: [],
@@ -36,43 +37,41 @@ function describeDynamicQuery(dynamicQueryInfo, namedParameters, orderBy) {
36
37
  }
37
38
  return result;
38
39
  }
39
- exports.describeDynamicQuery = describeDynamicQuery;
40
40
  function transformFrom(fragment, withFragments, select, from, where, namedParameters, orderByColumns) {
41
41
  if (fragment.relation) {
42
42
  addAllChildFields(fragment, from, withFragments);
43
43
  }
44
- const filteredWhere = where.filter(whereFragment => includeAny(whereFragment.fields, fragment.fields));
45
- const hasUnconditional = filteredWhere
46
- .some(fragment => fragment.dependOnParams.length == 0);
44
+ const filteredWhere = where.filter((whereFragment) => includeAny(whereFragment.fields, fragment.fields));
45
+ const hasUnconditional = filteredWhere.some((fragment) => fragment.dependOnParams.length === 0);
47
46
  if (hasUnconditional) {
48
47
  return {
49
48
  fragment: fragment.fragment,
50
49
  dependOnFields: [],
51
50
  dependOnParams: [],
52
- parameters: fragment.parameters.map(paramIndex => namedParameters[paramIndex])
51
+ parameters: fragment.parameters.map((paramIndex) => namedParameters[paramIndex])
53
52
  };
54
53
  }
55
54
  const fieldIndex = select.flatMap((selectField, index) => {
56
- const found = selectField.dependOn.find(dependsOn => fragment.dependOn.includes(dependsOn));
55
+ const found = selectField.dependOn.find((dependsOn) => fragment.dependOn.includes(dependsOn));
57
56
  if (found) {
58
57
  return index;
59
58
  }
60
59
  return [];
61
60
  });
62
- const orderBy = orderByColumns.flatMap(orderBy => {
61
+ const orderBy = orderByColumns.flatMap((orderBy) => {
63
62
  const orderByField = (0, select_columns_1.splitName)(orderBy);
64
- const found = fragment.fields.find(field => field.name == orderByField.name && (field.table == orderByField.prefix || orderByField.prefix == ''));
63
+ const found = fragment.fields.find((field) => field.name === orderByField.name && (field.table === orderByField.prefix || orderByField.prefix === ''));
65
64
  if (found) {
66
65
  return orderBy;
67
66
  }
68
67
  return [];
69
68
  });
70
- const params = filteredWhere.flatMap(fragment => fragment.dependOnParams).map(paramIndex => namedParameters[paramIndex]);
69
+ const params = filteredWhere.flatMap((fragment) => fragment.dependOnParams).map((paramIndex) => namedParameters[paramIndex]);
71
70
  const fragmentResult = {
72
71
  fragment: fragment.fragment,
73
72
  dependOnFields: fieldIndex,
74
73
  dependOnParams: [...new Set(params)],
75
- parameters: fragment.parameters.map(paramIndex => namedParameters[paramIndex])
74
+ parameters: fragment.parameters.map((paramIndex) => namedParameters[paramIndex])
76
75
  };
77
76
  if (orderBy.length > 0) {
78
77
  fragmentResult.dependOnOrderBy = orderBy;
@@ -80,19 +79,19 @@ function transformFrom(fragment, withFragments, select, from, where, namedParame
80
79
  return fragmentResult;
81
80
  }
82
81
  function includeAny(fields, fields2) {
83
- return fields.some(f => fields2.find(f2 => f2.field == f.field && f2.table == f.table));
82
+ return fields.some((f) => fields2.find((f2) => f2.field === f.field && f2.table === f.table));
84
83
  }
85
84
  function addAllChildFields(currentRelation, select, withFragments) {
86
- currentRelation.dependOn.push(currentRelation.relation + '');
87
- select.forEach(fragment => {
88
- if (fragment.parentRelation == currentRelation.relation) {
85
+ currentRelation.dependOn.push(`${currentRelation.relation}`);
86
+ select.forEach((fragment) => {
87
+ if (fragment.parentRelation === currentRelation.relation) {
89
88
  currentRelation.fields.push(...fragment.fields);
90
- currentRelation.dependOn.push(fragment.relation + '');
89
+ currentRelation.dependOn.push(`${fragment.relation}`);
91
90
  }
92
- withFragments === null || withFragments === void 0 ? void 0 : withFragments.forEach(withFragment => {
93
- if (withFragment.parentRelation == fragment.relation) {
91
+ withFragments === null || withFragments === void 0 ? void 0 : withFragments.forEach((withFragment) => {
92
+ if (withFragment.parentRelation === fragment.relation) {
94
93
  withFragment.fields.push(...fragment.fields);
95
- withFragment.dependOn.push(fragment.relation + '');
94
+ withFragment.dependOn.push(`${fragment.relation}`);
96
95
  }
97
96
  });
98
97
  });
@@ -109,35 +108,39 @@ function describeDynamicQuery2(dynamicQueryInfo, namedParameters, orderByColumns
109
108
  if (limitOffset) {
110
109
  result.limitOffset = {
111
110
  fragment: limitOffset.fragment,
112
- parameters: limitOffset.parameters.map(paramIndex => namedParameters[paramIndex])
111
+ parameters: limitOffset.parameters.map((paramIndex) => namedParameters[paramIndex])
113
112
  };
114
113
  }
115
114
  return result;
116
115
  }
117
- exports.describeDynamicQuery2 = describeDynamicQuery2;
118
116
  function transformSelectFragments(selectFragments, namedParameters) {
119
- return selectFragments.map(select => ({ fragment: select.fragment, fragmentWitoutAlias: select.fragmentWitoutAlias, parameters: select.parameters.map(paramIndex => namedParameters[paramIndex]) }));
117
+ return selectFragments.map((select) => ({
118
+ fragment: select.fragment,
119
+ fragmentWitoutAlias: select.fragmentWitoutAlias,
120
+ parameters: select.parameters.map((paramIndex) => namedParameters[paramIndex])
121
+ }));
120
122
  }
121
123
  function transformWithFragmnts(withFragments, fromFragments, namedParameters) {
122
- return withFragments.map(withFragment => {
123
- const fromDependOn = fromFragments.filter(from => from.relationName == withFragment.relationName);
124
- const dependOnFields = fromDependOn.flatMap(from => from.dependOnFields);
125
- const dependOnOrderBy = fromDependOn.flatMap(from => from.dependOnOrderBy);
124
+ return withFragments.map((withFragment) => {
125
+ const fromDependOn = fromFragments.filter((from) => from.relationName === withFragment.relationName);
126
+ const dependOnFields = fromDependOn.flatMap((from) => from.dependOnFields);
127
+ const dependOnOrderBy = fromDependOn.flatMap((from) => from.dependOnOrderBy);
126
128
  const fromFragmentResult = {
127
129
  fragment: withFragment.fragment,
128
130
  relationName: withFragment.relationName,
129
131
  dependOnFields,
130
132
  dependOnOrderBy,
131
- parameters: withFragment.parameters.map(paramIndex => namedParameters[paramIndex])
133
+ parameters: withFragment.parameters.map((paramIndex) => namedParameters[paramIndex])
132
134
  };
133
135
  return fromFragmentResult;
134
136
  });
135
137
  }
136
138
  function transformFromFragments(fromFragments, selectFragments, namedParameters, orderByColumns) {
137
- const fromResult = fromFragments.map(from => {
138
- const orderBy = orderByColumns.flatMap(orderBy => {
139
+ const fromResult = fromFragments.map((from) => {
140
+ const orderBy = orderByColumns.flatMap((orderBy) => {
139
141
  const orderByField = (0, select_columns_1.splitName)(orderBy);
140
- const found = from.fields.find(field => field == orderByField.name && (from.relationAlias == orderByField.prefix || from.relationName == orderByField.prefix || orderByField.prefix == ''));
142
+ const found = from.fields.find((field) => field === orderByField.name &&
143
+ (from.relationAlias === orderByField.prefix || from.relationName === orderByField.prefix || orderByField.prefix === ''));
141
144
  if (found) {
142
145
  return orderBy;
143
146
  }
@@ -151,14 +154,15 @@ function transformFromFragments(fromFragments, selectFragments, namedParameters,
151
154
  parentRelation: from.parentRelation,
152
155
  dependOnFields: getDependOnFields({ relationName, relationAlias, parentRelation }, selectFragments),
153
156
  dependOnOrderBy: orderBy,
154
- parameters: from.parameters.map(paramIndex => namedParameters[paramIndex])
157
+ parameters: from.parameters.map((paramIndex) => namedParameters[paramIndex])
155
158
  };
156
159
  return fromFragmentResult;
157
160
  });
158
- const withChildren = fromResult.map(parentFrom => {
159
- const actualAndChildRelations = fromResult.filter(childFrom => (childFrom.parentRelation == parentFrom.relationAlias && parentFrom.parentRelation != '') || childFrom.relationName == parentFrom.relationName);
160
- const dependOnFields = actualAndChildRelations.flatMap(from => from.dependOnFields);
161
- const dependOnOrderBy = actualAndChildRelations.flatMap(from => from.dependOnOrderBy);
161
+ const withChildren = fromResult.map((parentFrom) => {
162
+ const actualAndChildRelations = fromResult.filter((childFrom) => (childFrom.parentRelation === parentFrom.relationAlias && parentFrom.parentRelation !== '') ||
163
+ childFrom.relationName === parentFrom.relationName);
164
+ const dependOnFields = actualAndChildRelations.flatMap((from) => from.dependOnFields);
165
+ const dependOnOrderBy = actualAndChildRelations.flatMap((from) => from.dependOnOrderBy);
162
166
  const result = {
163
167
  fragment: parentFrom.fragment,
164
168
  relationName: parentFrom.relationName,
@@ -171,8 +175,8 @@ function transformFromFragments(fromFragments, selectFragments, namedParameters,
171
175
  return withChildren;
172
176
  }
173
177
  function transformWhereFragments(whereFragements, namedParameters) {
174
- return whereFragements.map(where => {
175
- const parameters = where.parameters.map(param => namedParameters[param]);
178
+ return whereFragements.map((where) => {
179
+ const parameters = where.parameters.map((param) => namedParameters[param]);
176
180
  const whereFragmentResult = {
177
181
  fragment: where.fragment,
178
182
  parameters
@@ -181,7 +185,8 @@ function transformWhereFragments(whereFragements, namedParameters) {
181
185
  });
182
186
  }
183
187
  function getDependOnFields(relationInfo, selectFragments) {
184
- if (relationInfo.parentRelation == '') { //from
188
+ if (relationInfo.parentRelation === '') {
189
+ //from
185
190
  return [];
186
191
  }
187
192
  const dependOnFields = selectFragments.flatMap((select, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"describe-dynamic-query.js","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-dynamic-query.js","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { QueryContext } from '@wsporto/ts-mysql-parser';
2
- import { ColumnInfo, ColumnSchema } from "./mysql-query-analyzer/types";
1
+ import { type QueryContext } from '@wsporto/ts-mysql-parser';
2
+ import type { ColumnInfo, ColumnSchema } from './mysql-query-analyzer/types';
3
3
  export type NestedResultInfo = {
4
4
  relations: RelationInfo[];
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"describe-nested-query.d.ts","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAyE,MAAM,0BAA0B,CAAC;AAGhK,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,aAAa,CAAC;AAEhD,MAAM,MAAM,KAAK,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC5B,CAAA;AAGD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAM3F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,gBAAgB,CA4BhI"}
1
+ {"version":3,"file":"describe-nested-query.d.ts","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,YAAY,EAIjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG7E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,aAAa,CAAC;AAEhD,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CACzB,CAAC;AAGF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAM3F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAyBhI"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateNestedInfo = exports.describeNestedQuery = void 0;
3
+ exports.describeNestedQuery = describeNestedQuery;
4
+ exports.generateNestedInfo = generateNestedInfo;
4
5
  const ts_mysql_parser_1 = require("@wsporto/ts-mysql-parser");
5
6
  const parse_1 = require("./mysql-query-analyzer/parse");
6
7
  const select_columns_1 = require("./mysql-query-analyzer/select-columns");
@@ -10,10 +11,9 @@ function describeNestedQuery(sql, dbSchema) {
10
11
  const { sql: processedSql } = (0, describe_query_1.preprocessSql)(sql);
11
12
  const queryContext = (0, parse_1.parse)(processedSql);
12
13
  const queryInfo = (0, parse_1.extractQueryInfo)(sql, dbSchema);
13
- const columns = queryInfo.kind == 'Select' ? queryInfo.columns : [];
14
+ const columns = queryInfo.kind === 'Select' ? queryInfo.columns : [];
14
15
  return generateNestedInfo(queryContext, dbSchema, columns);
15
16
  }
16
- exports.describeNestedQuery = describeNestedQuery;
17
17
  function generateNestedInfo(queryContext, dbSchema, columns) {
18
18
  var _a, _b;
19
19
  const selectStatement = (_a = queryContext.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
@@ -27,7 +27,7 @@ function generateNestedInfo(queryContext, dbSchema, columns) {
27
27
  const fromClause = querySpec.fromClause();
28
28
  if (fromClause) {
29
29
  const tableReferences = ((_b = fromClause.tableReferenceList()) === null || _b === void 0 ? void 0 : _b.tableReference_list()) || [];
30
- const modelColumns = tableReferences.map(tableRef => {
30
+ const modelColumns = tableReferences.map((tableRef) => {
31
31
  const nestedResultInfo = {
32
32
  relations: getResult(tableRef, dbSchema, columns)
33
33
  };
@@ -41,7 +41,6 @@ function generateNestedInfo(queryContext, dbSchema, columns) {
41
41
  }
42
42
  throw Error('generateNestedInfo');
43
43
  }
44
- exports.generateNestedInfo = generateNestedInfo;
45
44
  function getResult(tableRef, dbSchema, columns) {
46
45
  const relations = getRelations(tableRef, dbSchema, columns);
47
46
  return relations;
@@ -50,46 +49,48 @@ function getRelations(tableRef, dbSchema, columns) {
50
49
  const relations = [];
51
50
  const tableFactor = tableRef.tableFactor();
52
51
  const parentList = [];
53
- if (tableFactor != null) { //root
52
+ if (tableFactor != null) {
53
+ //root
54
54
  const tableName = getTableInfoFromTableFactor(tableFactor);
55
55
  parentList.push(tableName);
56
56
  }
57
57
  const joinedTableList = tableRef.joinedTable_list();
58
- joinedTableList.forEach(joined => {
58
+ for (const joined of joinedTableList) {
59
59
  const onClause = joined.expr();
60
60
  const tableName = getTableInfoFromTableJoinedTable(joined);
61
61
  const parentRelations = onClause ? getParentRelations(onClause, tableName, parentList) : [];
62
62
  const cardinality = onClause ? verifyCardinality(onClause, dbSchema, tableName.name) : '';
63
63
  parentList.push(tableName);
64
- parentRelations.forEach(parent => {
64
+ for (const parent of parentRelations) {
65
65
  relations.push({
66
66
  parent: parent,
67
67
  child: tableName,
68
68
  cardinality,
69
69
  isJunctionTable: false, //will be set later
70
- junctionChildTable: '',
70
+ junctionChildTable: ''
71
71
  });
72
- });
73
- });
72
+ }
73
+ }
74
74
  for (let index = 0; index < relations.length; index++) {
75
75
  const relation = relations[index];
76
76
  const [isJunction, childRelationName] = isJunctionTable(relation, relations);
77
77
  if (isJunction) {
78
78
  relation.isJunctionTable = true;
79
79
  relation.junctionChildTable = childRelationName;
80
- const relationItem = parentList.find(r => r.name == relation.child.name);
80
+ const relationItem = parentList.find((r) => r.name === relation.child.name);
81
81
  relationItem.isJunctionTable = true;
82
82
  }
83
83
  }
84
84
  const result = parentList
85
85
  .map((r, index) => ({ r, index })) //keep index
86
- .filter(({ r }) => r.isJunctionTable == false)
86
+ .filter(({ r }) => r.isJunctionTable === false)
87
87
  .map(({ r, index }) => {
88
- const relationFields = relations.filter(r2 => r2.parent.name == r.name || (r.alias != '' && r2.parent.alias == r.alias))
88
+ const relationFields = relations
89
+ .filter((r2) => r2.parent.name === r.name || (r.alias !== '' && r2.parent.alias === r.alias))
89
90
  .map((relation) => {
90
91
  //relation many always have not null array (possible empty)
91
- const nullable = relation.cardinality == 'one' &&
92
- columns.some(c => (c.table == relation.child.name || c.table == relation.child.alias) && c.notNull == false);
92
+ const nullable = relation.cardinality === 'one' &&
93
+ columns.some((c) => (c.table === relation.child.name || c.table === relation.child.alias) && c.notNull === false);
93
94
  const field = {
94
95
  type: 'relation',
95
96
  name: getRelationName(relation),
@@ -99,10 +100,12 @@ function getRelations(tableRef, dbSchema, columns) {
99
100
  return field;
100
101
  });
101
102
  const previousRelation = parentList[index - 1];
102
- const junctionRelation = previousRelation && previousRelation.isJunctionTable ? previousRelation : undefined;
103
+ const junctionRelation = (previousRelation === null || previousRelation === void 0 ? void 0 : previousRelation.isJunctionTable) ? previousRelation : undefined;
103
104
  const fields = columns
104
105
  .map((col, index) => ({ col, index })) //keep index
105
- .filter(({ col }) => col.table == r.name || col.table == r.alias || (junctionRelation != null && (col.table == (junctionRelation === null || junctionRelation === void 0 ? void 0 : junctionRelation.name) || col.table == (junctionRelation === null || junctionRelation === void 0 ? void 0 : junctionRelation.alias))))
106
+ .filter(({ col }) => col.table === r.name ||
107
+ col.table === r.alias ||
108
+ (junctionRelation != null && (col.table === (junctionRelation === null || junctionRelation === void 0 ? void 0 : junctionRelation.name) || col.table === (junctionRelation === null || junctionRelation === void 0 ? void 0 : junctionRelation.alias))))
106
109
  .map(({ col, index }) => {
107
110
  const f = {
108
111
  type: 'field',
@@ -115,7 +118,7 @@ function getRelations(tableRef, dbSchema, columns) {
115
118
  name: r.asSymbol ? r.alias : r.name,
116
119
  // tableName: r.name,
117
120
  // tableAlias: r.alias,
118
- groupKeyIndex: columns.findIndex(col => col.table == r.name || col.table == r.alias),
121
+ groupKeyIndex: columns.findIndex((col) => col.table === r.name || col.table === r.alias),
119
122
  columns: fields.concat(relationFields)
120
123
  };
121
124
  return relationInfo;
@@ -137,8 +140,8 @@ function getParentRelations(onExpr, currentRelation, parentList) {
137
140
  for (const token of tokens) {
138
141
  if (token instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
139
142
  const fieldName = (0, select_columns_1.splitName)(token.getText());
140
- if (fieldName.prefix != currentRelation.alias && fieldName.prefix != currentRelation.name) {
141
- const ref = parentList.find(p => p.name == fieldName.prefix || p.alias == fieldName.prefix);
143
+ if (fieldName.prefix !== currentRelation.alias && fieldName.prefix !== currentRelation.name) {
144
+ const ref = parentList.find((p) => p.name === fieldName.prefix || p.alias === fieldName.prefix);
142
145
  result.push(ref);
143
146
  }
144
147
  }
@@ -176,10 +179,10 @@ function getTableInfoFromTableFactor(tableFactor) {
176
179
  throw Error('createModelFromTableFactor');
177
180
  }
178
181
  function isJunctionTable(relation, relations) {
179
- const parentRelation = relations.find(r => r.child == relation.parent);
180
- const childRelation = relations.find(r => r.parent == relation.child);
182
+ const parentRelation = relations.find((r) => r.child === relation.parent);
183
+ const childRelation = relations.find((r) => r.parent === relation.child);
181
184
  const childRelationCardinality = childRelation === null || childRelation === void 0 ? void 0 : childRelation.cardinality;
182
- const isJunctionTable = (parentRelation == null || parentRelation.cardinality == 'one') && childRelationCardinality == 'one';
185
+ const isJunctionTable = (parentRelation == null || parentRelation.cardinality === 'one') && childRelationCardinality === 'one';
183
186
  return [isJunctionTable, childRelation === null || childRelation === void 0 ? void 0 : childRelation.child.name];
184
187
  }
185
188
  function verifyCardinality(expr, dbSchema, tableName) {
@@ -188,7 +191,7 @@ function verifyCardinality(expr, dbSchema, tableName) {
188
191
  if (token instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
189
192
  const fieldName = (0, select_columns_1.splitName)(token.getText());
190
193
  const column = (0, select_columns_1.findColumnSchema)(tableName, fieldName.name, dbSchema);
191
- if (column != null && column.columnKey != 'PRI' && column.columnKey != 'UNI') {
194
+ if (column != null && column.columnKey !== 'PRI' && column.columnKey !== 'UNI') {
192
195
  return 'many';
193
196
  }
194
197
  }