rawsql-ts 0.11.1-beta → 0.11.2-beta
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/esm/index.js +7 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +45 -11
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/src/index.js +7 -2
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/parsers/ValueParser.js +86 -4
- package/dist/esm/src/parsers/ValueParser.js.map +1 -1
- package/dist/esm/src/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/esm/src/transformers/EnhancedJsonMapping.js +217 -0
- package/dist/esm/src/transformers/EnhancedJsonMapping.js.map +1 -0
- package/dist/esm/src/transformers/JsonMappingConverter.js +388 -0
- package/dist/esm/src/transformers/JsonMappingConverter.js.map +1 -0
- package/dist/esm/src/transformers/JsonMappingUnifier.js +36 -46
- package/dist/esm/src/transformers/JsonMappingUnifier.js.map +1 -1
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js +14 -2
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js.map +1 -1
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js +132 -97
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js +21 -11
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js +71 -14
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
- package/dist/esm/src/transformers/SqlParamInjector.js +189 -108
- package/dist/esm/src/transformers/SqlParamInjector.js.map +1 -1
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js +43 -2
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/esm/types/src/index.d.ts +7 -2
- package/dist/esm/types/src/parsers/ValueParser.d.ts +8 -0
- package/dist/esm/types/src/transformers/DynamicQueryBuilder.d.ts +6 -0
- package/dist/esm/types/src/transformers/EnhancedJsonMapping.d.ts +194 -0
- package/dist/esm/types/src/transformers/JsonMappingConverter.d.ts +200 -0
- package/dist/esm/types/src/transformers/JsonMappingUnifier.d.ts +5 -0
- package/dist/esm/types/src/transformers/PostgresArrayEntityCteBuilder.d.ts +39 -77
- package/dist/esm/types/src/transformers/PostgresJsonQueryBuilder.d.ts +3 -2
- package/dist/esm/types/src/transformers/PostgresObjectEntityCteBuilder.d.ts +31 -6
- package/dist/esm/types/src/transformers/SqlParamInjector.d.ts +48 -0
- package/dist/esm/types/src/transformers/UpstreamSelectQueryFinder.d.ts +8 -0
- package/dist/index.min.js +45 -11
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +7 -2
- package/dist/src/index.js +7 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/parsers/ValueParser.d.ts +8 -0
- package/dist/src/parsers/ValueParser.js +86 -4
- package/dist/src/parsers/ValueParser.js.map +1 -1
- package/dist/src/transformers/DynamicQueryBuilder.d.ts +6 -0
- package/dist/src/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/src/transformers/EnhancedJsonMapping.d.ts +194 -0
- package/dist/src/transformers/EnhancedJsonMapping.js +223 -0
- package/dist/src/transformers/EnhancedJsonMapping.js.map +1 -0
- package/dist/src/transformers/JsonMappingConverter.d.ts +200 -0
- package/dist/src/transformers/JsonMappingConverter.js +392 -0
- package/dist/src/transformers/JsonMappingConverter.js.map +1 -0
- package/dist/src/transformers/JsonMappingUnifier.d.ts +5 -0
- package/dist/src/transformers/JsonMappingUnifier.js +36 -46
- package/dist/src/transformers/JsonMappingUnifier.js.map +1 -1
- package/dist/src/transformers/ModelDrivenJsonMapping.js +14 -2
- package/dist/src/transformers/ModelDrivenJsonMapping.js.map +1 -1
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.d.ts +39 -77
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js +132 -97
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
- package/dist/src/transformers/PostgresJsonQueryBuilder.d.ts +3 -2
- package/dist/src/transformers/PostgresJsonQueryBuilder.js +21 -11
- package/dist/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.d.ts +31 -6
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js +71 -14
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
- package/dist/src/transformers/SqlParamInjector.d.ts +48 -0
- package/dist/src/transformers/SqlParamInjector.js +189 -108
- package/dist/src/transformers/SqlParamInjector.js.map +1 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.d.ts +8 -0
- package/dist/src/transformers/UpstreamSelectQueryFinder.js +43 -2
- package/dist/src/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/index.d.ts
CHANGED
|
@@ -14,9 +14,14 @@ export * from './transformers/SelectValueCollector';
|
|
|
14
14
|
export * from './transformers/SelectableColumnCollector';
|
|
15
15
|
export * from './transformers/TableColumnResolver';
|
|
16
16
|
export * from './transformers/TableSourceCollector';
|
|
17
|
-
export * from './transformers/
|
|
17
|
+
export * from './transformers/JsonMappingConverter';
|
|
18
|
+
export * from './transformers/EnhancedJsonMapping';
|
|
18
19
|
export { ModelDrivenJsonMapping, convertModelDrivenMapping, validateModelDrivenMapping, FieldMapping, NestedStructure, StructureFields, FieldType } from './transformers/ModelDrivenJsonMapping';
|
|
19
|
-
export {
|
|
20
|
+
export {
|
|
21
|
+
/** @deprecated Use JsonMappingConverter.convert() instead */
|
|
22
|
+
processJsonMapping, isModelDrivenFormat, isUnifiedFormat, isLegacyFormat } from './transformers/JsonMappingUnifier';
|
|
23
|
+
/** @deprecated Use JsonMappingConverter.toLegacyMapping() instead */
|
|
24
|
+
export { unifyJsonMapping } from './transformers/JsonMappingUnifier';
|
|
20
25
|
export * from './transformers/UpstreamSelectQueryFinder';
|
|
21
26
|
export * from './transformers/TypeTransformationPostProcessor';
|
|
22
27
|
export * from './transformers/SchemaCollector';
|
package/dist/src/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.unifyJsonMapping = exports.isLegacyFormat = exports.isUnifiedFormat = exports.isModelDrivenFormat = exports.processJsonMapping = exports.validateModelDrivenMapping = exports.convertModelDrivenMapping = void 0;
|
|
18
18
|
// Entry point for rawsql-ts package
|
|
19
19
|
__exportStar(require("./parsers/SelectQueryParser"), exports);
|
|
20
20
|
__exportStar(require("./parsers/InsertQueryParser"), exports);
|
|
@@ -32,16 +32,20 @@ __exportStar(require("./transformers/SelectValueCollector"), exports);
|
|
|
32
32
|
__exportStar(require("./transformers/SelectableColumnCollector"), exports);
|
|
33
33
|
__exportStar(require("./transformers/TableColumnResolver"), exports);
|
|
34
34
|
__exportStar(require("./transformers/TableSourceCollector"), exports);
|
|
35
|
-
__exportStar(require("./transformers/
|
|
35
|
+
__exportStar(require("./transformers/JsonMappingConverter"), exports);
|
|
36
|
+
__exportStar(require("./transformers/EnhancedJsonMapping"), exports);
|
|
36
37
|
var ModelDrivenJsonMapping_1 = require("./transformers/ModelDrivenJsonMapping");
|
|
37
38
|
Object.defineProperty(exports, "convertModelDrivenMapping", { enumerable: true, get: function () { return ModelDrivenJsonMapping_1.convertModelDrivenMapping; } });
|
|
38
39
|
Object.defineProperty(exports, "validateModelDrivenMapping", { enumerable: true, get: function () { return ModelDrivenJsonMapping_1.validateModelDrivenMapping; } });
|
|
39
40
|
var JsonMappingUnifier_1 = require("./transformers/JsonMappingUnifier");
|
|
41
|
+
/** @deprecated Use JsonMappingConverter.convert() instead */
|
|
40
42
|
Object.defineProperty(exports, "processJsonMapping", { enumerable: true, get: function () { return JsonMappingUnifier_1.processJsonMapping; } });
|
|
41
|
-
Object.defineProperty(exports, "unifyJsonMapping", { enumerable: true, get: function () { return JsonMappingUnifier_1.unifyJsonMapping; } });
|
|
42
43
|
Object.defineProperty(exports, "isModelDrivenFormat", { enumerable: true, get: function () { return JsonMappingUnifier_1.isModelDrivenFormat; } });
|
|
43
44
|
Object.defineProperty(exports, "isUnifiedFormat", { enumerable: true, get: function () { return JsonMappingUnifier_1.isUnifiedFormat; } });
|
|
44
45
|
Object.defineProperty(exports, "isLegacyFormat", { enumerable: true, get: function () { return JsonMappingUnifier_1.isLegacyFormat; } });
|
|
46
|
+
/** @deprecated Use JsonMappingConverter.toLegacyMapping() instead */
|
|
47
|
+
var JsonMappingUnifier_2 = require("./transformers/JsonMappingUnifier");
|
|
48
|
+
Object.defineProperty(exports, "unifyJsonMapping", { enumerable: true, get: function () { return JsonMappingUnifier_2.unifyJsonMapping; } });
|
|
45
49
|
__exportStar(require("./transformers/UpstreamSelectQueryFinder"), exports);
|
|
46
50
|
__exportStar(require("./transformers/TypeTransformationPostProcessor"), exports);
|
|
47
51
|
__exportStar(require("./transformers/SchemaCollector"), exports);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AAErC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,8DAA4C;AAC5C,0EAAwD;AACxD,8DAA4C,CAAC,0BAA0B;AACvE,sEAAoD;AACpD,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AAErC,8DAA4C;AAC5C,+DAA6C;AAC7C,2DAAyC;AACzC,8DAA4C;AAC5C,0EAAwD;AACxD,8DAA4C,CAAC,0BAA0B;AACvE,sEAAoD;AACpD,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,sEAAoD;AACpD,qEAAmD;AACnD,gFAQ+C;AAN3C,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAM9B,wEAM2C;AALvC,6DAA6D;AAC7D,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,oHAAA,cAAc,OAAA;AAGlB,qEAAqE;AACrE,wEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,2EAAyD;AACzD,iFAA+D;AAE/D,iEAA+C;AAC/C,kEAAgD;AAChD,iEAA+C;AAC/C,uEAAqD;AACrD,qEAAmD;AAEnD,6DAA2C;AAC3C,8DAA4C;AAC5C,wDAAsC;AACtC,oEAAoE"}
|
|
@@ -19,4 +19,12 @@ export declare class ValueParser {
|
|
|
19
19
|
value: ValueComponent;
|
|
20
20
|
newIndex: number;
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Determines if a type token followed by parentheses is a type constructor or function call
|
|
24
|
+
* @param lexemes Array of lexemes
|
|
25
|
+
* @param openParenIndex Index of the opening parenthesis
|
|
26
|
+
* @param typeName Name of the type/function
|
|
27
|
+
* @returns True if this is a type constructor, false if it's a function call
|
|
28
|
+
*/
|
|
29
|
+
private static isTypeConstructor;
|
|
22
30
|
}
|
|
@@ -95,6 +95,19 @@ class ValueParser {
|
|
|
95
95
|
}
|
|
96
96
|
const current = lexemes[idx];
|
|
97
97
|
if (current.type & Lexeme_1.TokenType.Identifier && current.type & Lexeme_1.TokenType.Operator && current.type & Lexeme_1.TokenType.Type) {
|
|
98
|
+
// Check if this is followed by parentheses (function call)
|
|
99
|
+
if (idx + 1 < lexemes.length && (lexemes[idx + 1].type & Lexeme_1.TokenType.OpenParen)) {
|
|
100
|
+
// Determine if this is a type constructor or function call
|
|
101
|
+
if (this.isTypeConstructor(lexemes, idx + 1, current.value)) {
|
|
102
|
+
// Type constructor
|
|
103
|
+
const typeValue = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
|
|
104
|
+
return { value: typeValue.value, newIndex: typeValue.newIndex };
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// Function call
|
|
108
|
+
return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
98
111
|
// Typed literal format pattern
|
|
99
112
|
// e.g., `interval '2 days'`
|
|
100
113
|
const first = IdentifierParser_1.IdentifierParser.parseFromLexeme(lexemes, idx);
|
|
@@ -115,9 +128,29 @@ class ValueParser {
|
|
|
115
128
|
// Namespace is also recognized as Identifier.
|
|
116
129
|
// Since functions and types, as well as columns (tables), can have namespaces,
|
|
117
130
|
// it is necessary to determine by the last element of the identifier.
|
|
118
|
-
if (lexemes[newIndex - 1].type &
|
|
131
|
+
if (lexemes[newIndex - 1].type & Lexeme_1.TokenType.Function) {
|
|
119
132
|
return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
|
|
120
133
|
}
|
|
134
|
+
else if (lexemes[newIndex - 1].type & Lexeme_1.TokenType.Type) {
|
|
135
|
+
// Handle Type tokens that also have Identifier flag
|
|
136
|
+
if (newIndex < lexemes.length && (lexemes[newIndex].type & Lexeme_1.TokenType.OpenParen)) {
|
|
137
|
+
// Determine if this is a type constructor or function call
|
|
138
|
+
if (this.isTypeConstructor(lexemes, newIndex, name.name)) {
|
|
139
|
+
// Type constructor (NUMERIC(10,2), VARCHAR(50), etc.)
|
|
140
|
+
const typeValue = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
|
|
141
|
+
return { value: typeValue.value, newIndex: typeValue.newIndex };
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// Function call (DATE('2025-01-01'), etc.)
|
|
145
|
+
return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// Handle standalone type tokens
|
|
150
|
+
const value = new ValueComponent_1.TypeValue(namespaces, name);
|
|
151
|
+
return { value, newIndex };
|
|
152
|
+
}
|
|
153
|
+
}
|
|
121
154
|
const value = new ValueComponent_1.ColumnReference(namespaces, name);
|
|
122
155
|
return { value, newIndex };
|
|
123
156
|
}
|
|
@@ -149,10 +182,25 @@ class ValueParser {
|
|
|
149
182
|
return { value, newIndex };
|
|
150
183
|
}
|
|
151
184
|
else if (current.type & Lexeme_1.TokenType.Type) {
|
|
152
|
-
//
|
|
185
|
+
// Check if this type token is followed by an opening parenthesis
|
|
153
186
|
const { namespaces, name, newIndex } = FullNameParser_1.FullNameParser.parseFromLexeme(lexemes, idx);
|
|
154
|
-
|
|
155
|
-
|
|
187
|
+
if (newIndex < lexemes.length && (lexemes[newIndex].type & Lexeme_1.TokenType.OpenParen)) {
|
|
188
|
+
// Determine if this is a type constructor or function call
|
|
189
|
+
if (this.isTypeConstructor(lexemes, newIndex, name.name)) {
|
|
190
|
+
// Type constructor (NUMERIC(10,2), VARCHAR(50), etc.)
|
|
191
|
+
const typeValue = FunctionExpressionParser_1.FunctionExpressionParser.parseTypeValue(lexemes, idx);
|
|
192
|
+
return { value: typeValue.value, newIndex: typeValue.newIndex };
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
// Function call (DATE('2025-01-01'), etc.)
|
|
196
|
+
return FunctionExpressionParser_1.FunctionExpressionParser.parseFromLexeme(lexemes, idx);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
// Handle standalone type tokens
|
|
201
|
+
const value = new ValueComponent_1.TypeValue(namespaces, name);
|
|
202
|
+
return { value, newIndex };
|
|
203
|
+
}
|
|
156
204
|
}
|
|
157
205
|
throw new Error(`[ValueParser] Invalid lexeme. index: ${idx}, type: ${lexemes[idx].type}, value: ${lexemes[idx].value}`);
|
|
158
206
|
}
|
|
@@ -208,6 +256,40 @@ class ValueParser {
|
|
|
208
256
|
}
|
|
209
257
|
throw new Error(`Expected opening parenthesis at index ${index}`);
|
|
210
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Determines if a type token followed by parentheses is a type constructor or function call
|
|
261
|
+
* @param lexemes Array of lexemes
|
|
262
|
+
* @param openParenIndex Index of the opening parenthesis
|
|
263
|
+
* @param typeName Name of the type/function
|
|
264
|
+
* @returns True if this is a type constructor, false if it's a function call
|
|
265
|
+
*/
|
|
266
|
+
static isTypeConstructor(lexemes, openParenIndex, typeName) {
|
|
267
|
+
// These are always type constructors regardless of content
|
|
268
|
+
const alwaysTypeConstructors = [
|
|
269
|
+
'NUMERIC', 'DECIMAL', 'VARCHAR', 'CHAR', 'CHARACTER',
|
|
270
|
+
'TIMESTAMP', 'TIME', 'INTERVAL'
|
|
271
|
+
];
|
|
272
|
+
const upperTypeName = typeName.toUpperCase();
|
|
273
|
+
if (alwaysTypeConstructors.includes(upperTypeName)) {
|
|
274
|
+
return true;
|
|
275
|
+
}
|
|
276
|
+
// For DATE, check if the first argument is a string literal (function) or not (type)
|
|
277
|
+
if (upperTypeName === 'DATE') {
|
|
278
|
+
const firstArgIndex = openParenIndex + 1;
|
|
279
|
+
if (firstArgIndex < lexemes.length) {
|
|
280
|
+
const firstArg = lexemes[firstArgIndex];
|
|
281
|
+
const isStringLiteral = (firstArg.type & Lexeme_1.TokenType.Literal) &&
|
|
282
|
+
typeof firstArg.value === 'string' &&
|
|
283
|
+
isNaN(Number(firstArg.value));
|
|
284
|
+
// If first argument is a string literal, it's a function call
|
|
285
|
+
// DATE('2025-01-01') -> function
|
|
286
|
+
// DATE(6) -> type constructor
|
|
287
|
+
return !isStringLiteral;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// Default: assume it's a function call for ambiguous cases
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
211
293
|
}
|
|
212
294
|
exports.ValueParser = ValueParser;
|
|
213
295
|
//# sourceMappingURL=ValueParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueParser.js","sourceRoot":"","sources":["../../../src/parsers/ValueParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ValueParser.js","sourceRoot":"","sources":["../../../src/parsers/ValueParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,12 @@ export interface QueryBuildOptions {
|
|
|
18
18
|
* - false/undefined: no serialization
|
|
19
19
|
*/
|
|
20
20
|
serialize?: JsonMapping | boolean;
|
|
21
|
+
/**
|
|
22
|
+
* JSONB usage setting. Must be true (default) for PostgreSQL GROUP BY compatibility.
|
|
23
|
+
* Setting to false will throw an error as JSON type cannot be used in GROUP BY clauses.
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
jsonb?: boolean;
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* DynamicQueryBuilder provides pure JavaScript SQL query building capabilities.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":";;;AACA,oEAAiE;AACjE,yDAAsD;AACtD,uDAAoE;AACpE,mEAAmF;AACnF,yEAAmF;AACnF,iDAA8C;
|
|
1
|
+
{"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced JSON mapping structure that extends the base JsonMapping interface
|
|
3
|
+
* with additional metadata and type safety features.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Supported column types for enhanced mapping.
|
|
7
|
+
*/
|
|
8
|
+
export type ColumnType = 'string' | 'number' | 'boolean' | 'date' | 'auto';
|
|
9
|
+
/**
|
|
10
|
+
* Enhanced column configuration that supports both simple and complex mappings.
|
|
11
|
+
*/
|
|
12
|
+
export interface ColumnConfig {
|
|
13
|
+
/** Source column name */
|
|
14
|
+
column: string;
|
|
15
|
+
/** Type enforcement for this column */
|
|
16
|
+
type?: ColumnType;
|
|
17
|
+
/** Whether this field is nullable */
|
|
18
|
+
nullable?: boolean;
|
|
19
|
+
/** Custom transformation function */
|
|
20
|
+
transform?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Column mapping can be either a simple string or enhanced configuration.
|
|
24
|
+
*/
|
|
25
|
+
export type ColumnMapping = string | ColumnConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Enhanced entity definition with additional metadata.
|
|
28
|
+
*/
|
|
29
|
+
export interface EnhancedEntity {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
columns: Record<string, ColumnMapping>;
|
|
33
|
+
/** Entity description for documentation */
|
|
34
|
+
description?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Enhanced nested entity with relationship metadata.
|
|
38
|
+
*/
|
|
39
|
+
export interface EnhancedNestedEntity extends EnhancedEntity {
|
|
40
|
+
parentId: string;
|
|
41
|
+
propertyName: string;
|
|
42
|
+
relationshipType: 'object' | 'array';
|
|
43
|
+
/** Join condition for complex relationships */
|
|
44
|
+
joinCondition?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Type protection configuration.
|
|
48
|
+
*/
|
|
49
|
+
export interface TypeProtectionConfig {
|
|
50
|
+
/** Columns that should be treated as strings */
|
|
51
|
+
protectedStringFields: string[];
|
|
52
|
+
/** Columns that should be parsed as dates */
|
|
53
|
+
dateFields?: string[];
|
|
54
|
+
/** Columns that should be parsed as numbers */
|
|
55
|
+
numberFields?: string[];
|
|
56
|
+
/** Custom type transformations */
|
|
57
|
+
customTransforms?: Record<string, string>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Enhanced JSON mapping with type safety and metadata support.
|
|
61
|
+
*/
|
|
62
|
+
export interface EnhancedJsonMapping {
|
|
63
|
+
/** Root entity name */
|
|
64
|
+
rootName: string;
|
|
65
|
+
/** Root entity definition */
|
|
66
|
+
rootEntity: EnhancedEntity;
|
|
67
|
+
/** Nested entities */
|
|
68
|
+
nestedEntities: EnhancedNestedEntity[];
|
|
69
|
+
/** Result format */
|
|
70
|
+
resultFormat?: 'array' | 'single';
|
|
71
|
+
/** Empty result fallback */
|
|
72
|
+
emptyResult?: string;
|
|
73
|
+
/** Type information */
|
|
74
|
+
typeInfo?: {
|
|
75
|
+
interface: string;
|
|
76
|
+
importPath: string;
|
|
77
|
+
generics?: string[];
|
|
78
|
+
};
|
|
79
|
+
/** Type protection configuration */
|
|
80
|
+
typeProtection?: TypeProtectionConfig;
|
|
81
|
+
/** Mapping metadata */
|
|
82
|
+
metadata?: {
|
|
83
|
+
version: string;
|
|
84
|
+
description?: string;
|
|
85
|
+
author?: string;
|
|
86
|
+
createdAt?: string;
|
|
87
|
+
updatedAt?: string;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Legacy JSON mapping interface (from PostgresJsonQueryBuilder).
|
|
92
|
+
*/
|
|
93
|
+
export interface LegacyJsonMapping {
|
|
94
|
+
rootName: string;
|
|
95
|
+
rootEntity: {
|
|
96
|
+
id: string;
|
|
97
|
+
name: string;
|
|
98
|
+
columns: {
|
|
99
|
+
[jsonKey: string]: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
nestedEntities: Array<{
|
|
103
|
+
id: string;
|
|
104
|
+
name: string;
|
|
105
|
+
parentId: string;
|
|
106
|
+
propertyName: string;
|
|
107
|
+
relationshipType?: "object" | "array";
|
|
108
|
+
columns: {
|
|
109
|
+
[jsonKey: string]: string;
|
|
110
|
+
};
|
|
111
|
+
}>;
|
|
112
|
+
resultFormat?: "array" | "single";
|
|
113
|
+
emptyResult?: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Converts enhanced column configurations to simple string mappings for legacy compatibility.
|
|
117
|
+
*
|
|
118
|
+
* This function transforms complex column configurations (with type info, nullable flags, etc.)
|
|
119
|
+
* into simple string mappings that can be used with PostgresJsonQueryBuilder.
|
|
120
|
+
*
|
|
121
|
+
* **Supported Input Formats:**
|
|
122
|
+
* - Simple strings: `"user_name"` → `"user_name"`
|
|
123
|
+
* - Column config: `{ column: "u.name", type: "string" }` → `"u.name"`
|
|
124
|
+
* - From config: `{ from: "user_name", nullable: true }` → `"user_name"`
|
|
125
|
+
*
|
|
126
|
+
* @param columns - Record of field names to column configurations
|
|
127
|
+
* @returns Record of field names to column source strings
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const enhanced = {
|
|
132
|
+
* id: { column: "u.user_id", type: "number" },
|
|
133
|
+
* name: { from: "user_name", type: "string" },
|
|
134
|
+
* email: "email_address"
|
|
135
|
+
* };
|
|
136
|
+
*
|
|
137
|
+
* const legacy = convertColumnsToLegacy(enhanced);
|
|
138
|
+
* // Result: { id: "u.user_id", name: "user_name", email: "email_address" }
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
export declare function convertColumnsToLegacy(columns: Record<string, any>): Record<string, string>;
|
|
142
|
+
/**
|
|
143
|
+
* Converts any unified JSON mapping format to legacy JsonMapping format.
|
|
144
|
+
*
|
|
145
|
+
* This universal converter handles Enhanced, Unified, and Legacy formats, providing
|
|
146
|
+
* a single interface for converting complex mapping configurations to the simple
|
|
147
|
+
* format expected by PostgresJsonQueryBuilder.
|
|
148
|
+
*
|
|
149
|
+
* **Supported Input Formats:**
|
|
150
|
+
* - **Enhanced**: With metadata, type protection, and advanced column configs
|
|
151
|
+
* - **Unified**: Standard format with rootName and rootEntity
|
|
152
|
+
* - **Legacy**: Already compatible format (returned as-is)
|
|
153
|
+
*
|
|
154
|
+
* **Features:**
|
|
155
|
+
* - Automatic format detection
|
|
156
|
+
* - Column configuration simplification
|
|
157
|
+
* - Nested entity handling
|
|
158
|
+
* - Type protection extraction
|
|
159
|
+
*
|
|
160
|
+
* @param input - JSON mapping in any supported format
|
|
161
|
+
* @returns Legacy JsonMapping compatible with PostgresJsonQueryBuilder
|
|
162
|
+
*
|
|
163
|
+
* @throws {Error} When input is null, undefined, or malformed
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```typescript
|
|
167
|
+
* // Enhanced format input
|
|
168
|
+
* const enhanced = {
|
|
169
|
+
* rootName: "User",
|
|
170
|
+
* rootEntity: {
|
|
171
|
+
* columns: {
|
|
172
|
+
* id: { column: "u.user_id", type: "number" },
|
|
173
|
+
* name: { column: "u.user_name", type: "string" }
|
|
174
|
+
* }
|
|
175
|
+
* },
|
|
176
|
+
* metadata: { version: "2.0" }
|
|
177
|
+
* };
|
|
178
|
+
*
|
|
179
|
+
* const legacy = convertToLegacyJsonMapping(enhanced);
|
|
180
|
+
* // Result: Compatible with PostgresJsonQueryBuilder
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @see {@link convertColumnsToLegacy} For column-specific conversion
|
|
184
|
+
* @see {@link extractTypeProtection} For type safety features
|
|
185
|
+
*/
|
|
186
|
+
export declare function convertToLegacyJsonMapping(input: any): LegacyJsonMapping;
|
|
187
|
+
/**
|
|
188
|
+
* Converts enhanced mapping to legacy format for backward compatibility.
|
|
189
|
+
*/
|
|
190
|
+
export declare function toLegacyMapping(enhanced: EnhancedJsonMapping): LegacyJsonMapping;
|
|
191
|
+
/**
|
|
192
|
+
* Extracts type protection configuration from enhanced mapping.
|
|
193
|
+
*/
|
|
194
|
+
export declare function extractTypeProtection(enhanced: EnhancedJsonMapping): TypeProtectionConfig;
|