prostgles-server 4.2.410 → 4.2.412
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.
- package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.d.ts.map +1 -1
- package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.js +28 -22
- package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.js.map +1 -1
- package/lib/DBSchemaBuilder/getServerFunctionReturnTypes.ts +30 -26
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServerFunctionReturnTypes.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,GAAI,cAAc,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getServerFunctionReturnTypes.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,GAAI,cAAc,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CA2TrF,CAAC"}
|
|
@@ -101,6 +101,26 @@ const getServerFunctionReturnTypes = (instancePath) => {
|
|
|
101
101
|
}
|
|
102
102
|
return false;
|
|
103
103
|
};
|
|
104
|
+
const extractFromAwaitExpression = (spreadExpr, depth) => {
|
|
105
|
+
const awaitedExpr = spreadExpr.expression;
|
|
106
|
+
if (ts.isCallExpression(awaitedExpr)) {
|
|
107
|
+
// Resolve the function being called and extract from its return
|
|
108
|
+
const calleeExpr = awaitedExpr.expression;
|
|
109
|
+
if (ts.isIdentifier(calleeExpr)) {
|
|
110
|
+
const symbol = checker.getSymbolAtLocation(calleeExpr);
|
|
111
|
+
const decl = getDeclarationFromSymbol(symbol);
|
|
112
|
+
if (decl && ts.isVariableDeclaration(decl) && decl.initializer) {
|
|
113
|
+
const body = resolveFunctionBody(decl.initializer);
|
|
114
|
+
if (body) {
|
|
115
|
+
extractFromFunctionBody(body, depth + 2);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (decl && ts.isFunctionDeclaration(decl) && decl.body) {
|
|
119
|
+
extractFromFunctionBody(decl.body, depth + 2);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
104
124
|
/**
|
|
105
125
|
* Extract methods from an object literal that contains method definitions
|
|
106
126
|
*/
|
|
@@ -108,10 +128,7 @@ const getServerFunctionReturnTypes = (instancePath) => {
|
|
|
108
128
|
for (const prop of obj.properties) {
|
|
109
129
|
if (ts.isPropertyAssignment(prop)) {
|
|
110
130
|
const propName = prop.name.getText();
|
|
111
|
-
if (isDefineFunctionCall(prop.initializer)) {
|
|
112
|
-
extractFromDefineCall(prop.initializer, propName);
|
|
113
|
-
}
|
|
114
|
-
if (ts.isCallExpression(prop.initializer)) {
|
|
131
|
+
if (isDefineFunctionCall(prop.initializer) || ts.isCallExpression(prop.initializer)) {
|
|
115
132
|
extractFromDefineCall(prop.initializer, propName);
|
|
116
133
|
}
|
|
117
134
|
}
|
|
@@ -124,6 +141,12 @@ const getServerFunctionReturnTypes = (instancePath) => {
|
|
|
124
141
|
if (ts.isObjectLiteralExpression(decl.initializer)) {
|
|
125
142
|
extractMethodsFromObjectLiteral(decl.initializer, depth + 2);
|
|
126
143
|
}
|
|
144
|
+
else {
|
|
145
|
+
const init = unwrapExpression(decl.initializer);
|
|
146
|
+
if (ts.isAwaitExpression(init)) {
|
|
147
|
+
extractFromAwaitExpression(init, depth);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
127
150
|
}
|
|
128
151
|
}
|
|
129
152
|
if (ts.isObjectLiteralExpression(spreadExpr)) {
|
|
@@ -131,24 +154,7 @@ const getServerFunctionReturnTypes = (instancePath) => {
|
|
|
131
154
|
}
|
|
132
155
|
// Handle await expressions: ...await someAsyncFunction()
|
|
133
156
|
if (ts.isAwaitExpression(spreadExpr)) {
|
|
134
|
-
|
|
135
|
-
if (ts.isCallExpression(awaitedExpr)) {
|
|
136
|
-
// Resolve the function being called and extract from its return
|
|
137
|
-
const calleeExpr = awaitedExpr.expression;
|
|
138
|
-
if (ts.isIdentifier(calleeExpr)) {
|
|
139
|
-
const symbol = checker.getSymbolAtLocation(calleeExpr);
|
|
140
|
-
const decl = getDeclarationFromSymbol(symbol);
|
|
141
|
-
if (decl && ts.isVariableDeclaration(decl) && decl.initializer) {
|
|
142
|
-
const body = resolveFunctionBody(decl.initializer);
|
|
143
|
-
if (body) {
|
|
144
|
-
extractFromFunctionBody(body, depth + 2);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
if (decl && ts.isFunctionDeclaration(decl) && decl.body) {
|
|
148
|
-
extractFromFunctionBody(decl.body, depth + 2);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
157
|
+
extractFromAwaitExpression(spreadExpr, depth);
|
|
152
158
|
}
|
|
153
159
|
}
|
|
154
160
|
if (ts.isShorthandPropertyAssignment(prop)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServerFunctionReturnTypes.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getServerFunctionReturnTypes.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,29 @@ export const getServerFunctionReturnTypes = (instancePath: string): Map<string,
|
|
|
116
116
|
return false;
|
|
117
117
|
};
|
|
118
118
|
|
|
119
|
+
const extractFromAwaitExpression = (spreadExpr: ts.AwaitExpression, depth: number) => {
|
|
120
|
+
const awaitedExpr = spreadExpr.expression;
|
|
121
|
+
|
|
122
|
+
if (ts.isCallExpression(awaitedExpr)) {
|
|
123
|
+
// Resolve the function being called and extract from its return
|
|
124
|
+
const calleeExpr = awaitedExpr.expression;
|
|
125
|
+
if (ts.isIdentifier(calleeExpr)) {
|
|
126
|
+
const symbol = checker.getSymbolAtLocation(calleeExpr);
|
|
127
|
+
const decl = getDeclarationFromSymbol(symbol);
|
|
128
|
+
|
|
129
|
+
if (decl && ts.isVariableDeclaration(decl) && decl.initializer) {
|
|
130
|
+
const body = resolveFunctionBody(decl.initializer);
|
|
131
|
+
if (body) {
|
|
132
|
+
extractFromFunctionBody(body, depth + 2);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (decl && ts.isFunctionDeclaration(decl) && decl.body) {
|
|
136
|
+
extractFromFunctionBody(decl.body, depth + 2);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
119
142
|
/**
|
|
120
143
|
* Extract methods from an object literal that contains method definitions
|
|
121
144
|
*/
|
|
@@ -124,11 +147,7 @@ export const getServerFunctionReturnTypes = (instancePath: string): Map<string,
|
|
|
124
147
|
if (ts.isPropertyAssignment(prop)) {
|
|
125
148
|
const propName = prop.name.getText();
|
|
126
149
|
|
|
127
|
-
if (isDefineFunctionCall(prop.initializer)) {
|
|
128
|
-
extractFromDefineCall(prop.initializer, propName);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (ts.isCallExpression(prop.initializer)) {
|
|
150
|
+
if (isDefineFunctionCall(prop.initializer) || ts.isCallExpression(prop.initializer)) {
|
|
132
151
|
extractFromDefineCall(prop.initializer, propName);
|
|
133
152
|
}
|
|
134
153
|
}
|
|
@@ -138,12 +157,16 @@ export const getServerFunctionReturnTypes = (instancePath: string): Map<string,
|
|
|
138
157
|
|
|
139
158
|
if (ts.isIdentifier(spreadExpr)) {
|
|
140
159
|
const symbol = checker.getSymbolAtLocation(spreadExpr);
|
|
141
|
-
|
|
142
160
|
const decl = getDeclarationFromSymbol(symbol);
|
|
143
161
|
|
|
144
162
|
if (decl && ts.isVariableDeclaration(decl) && decl.initializer) {
|
|
145
163
|
if (ts.isObjectLiteralExpression(decl.initializer)) {
|
|
146
164
|
extractMethodsFromObjectLiteral(decl.initializer, depth + 2);
|
|
165
|
+
} else {
|
|
166
|
+
const init = unwrapExpression(decl.initializer);
|
|
167
|
+
if (ts.isAwaitExpression(init)) {
|
|
168
|
+
extractFromAwaitExpression(init, depth);
|
|
169
|
+
}
|
|
147
170
|
}
|
|
148
171
|
}
|
|
149
172
|
}
|
|
@@ -154,26 +177,7 @@ export const getServerFunctionReturnTypes = (instancePath: string): Map<string,
|
|
|
154
177
|
|
|
155
178
|
// Handle await expressions: ...await someAsyncFunction()
|
|
156
179
|
if (ts.isAwaitExpression(spreadExpr)) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (ts.isCallExpression(awaitedExpr)) {
|
|
160
|
-
// Resolve the function being called and extract from its return
|
|
161
|
-
const calleeExpr = awaitedExpr.expression;
|
|
162
|
-
if (ts.isIdentifier(calleeExpr)) {
|
|
163
|
-
const symbol = checker.getSymbolAtLocation(calleeExpr);
|
|
164
|
-
const decl = getDeclarationFromSymbol(symbol);
|
|
165
|
-
|
|
166
|
-
if (decl && ts.isVariableDeclaration(decl) && decl.initializer) {
|
|
167
|
-
const body = resolveFunctionBody(decl.initializer);
|
|
168
|
-
if (body) {
|
|
169
|
-
extractFromFunctionBody(body, depth + 2);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
if (decl && ts.isFunctionDeclaration(decl) && decl.body) {
|
|
173
|
-
extractFromFunctionBody(decl.body, depth + 2);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
180
|
+
extractFromAwaitExpression(spreadExpr, depth);
|
|
177
181
|
}
|
|
178
182
|
}
|
|
179
183
|
|