rawsql-ts 0.10.9-beta → 0.11.1-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/README.md +175 -47
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +16 -14
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/src/index.js +6 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js +4 -0
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +1 -1
- package/dist/esm/src/transformers/CTEDependencyTracer.js +249 -0
- package/dist/esm/src/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/esm/src/transformers/DynamicQueryBuilder.js +155 -0
- package/dist/esm/src/transformers/DynamicQueryBuilder.js.map +1 -0
- package/dist/esm/src/transformers/JsonMappingUnifier.js +217 -0
- package/dist/esm/src/transformers/JsonMappingUnifier.js.map +1 -0
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js +103 -0
- package/dist/esm/src/transformers/ModelDrivenJsonMapping.js.map +1 -0
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js +204 -16
- package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js +26 -21
- package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js +8 -5
- package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
- package/dist/esm/src/transformers/SelectableColumnCollector.js +17 -5
- package/dist/esm/src/transformers/SelectableColumnCollector.js.map +1 -1
- package/dist/esm/src/transformers/SqlFormatter.js +1 -2
- package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
- package/dist/esm/src/transformers/TypeTransformationPostProcessor.js +342 -0
- package/dist/esm/src/transformers/TypeTransformationPostProcessor.js.map +1 -0
- package/dist/esm/src/transformers/UnifiedJsonMapping.js +57 -0
- package/dist/esm/src/transformers/UnifiedJsonMapping.js.map +1 -0
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js +8 -1
- package/dist/esm/src/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/esm/src/utils/JsonSchemaValidator.js +211 -0
- package/dist/esm/src/utils/JsonSchemaValidator.js.map +1 -0
- package/dist/esm/src/utils/OperatorPrecedence.js +3 -1
- package/dist/esm/src/utils/OperatorPrecedence.js.map +1 -1
- package/dist/esm/src/utils/SchemaManager.js +0 -1
- package/dist/esm/src/utils/SchemaManager.js.map +1 -1
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/esm/types/src/index.d.ts +6 -0
- package/dist/esm/types/src/transformers/CTEDependencyTracer.d.ts +58 -0
- package/dist/esm/types/src/transformers/DynamicQueryBuilder.d.ts +108 -0
- package/dist/esm/types/src/transformers/JsonMappingUnifier.d.ts +95 -0
- package/dist/esm/types/src/transformers/ModelDrivenJsonMapping.d.ts +62 -0
- package/dist/esm/types/src/transformers/PostgresArrayEntityCteBuilder.d.ts +80 -1
- package/dist/esm/types/src/transformers/PostgresJsonQueryBuilder.d.ts +3 -2
- package/dist/esm/types/src/transformers/SelectableColumnCollector.d.ts +14 -3
- package/dist/esm/types/src/transformers/SqlFormatter.d.ts +2 -3
- package/dist/esm/types/src/transformers/TypeTransformationPostProcessor.d.ts +108 -0
- package/dist/esm/types/src/transformers/UnifiedJsonMapping.d.ts +53 -0
- package/dist/esm/types/src/transformers/UpstreamSelectQueryFinder.d.ts +5 -1
- package/dist/esm/types/src/utils/JsonSchemaValidator.d.ts +81 -0
- package/dist/index.min.js +16 -14
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.js +14 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tokenReaders/OperatorTokenReader.js +4 -0
- package/dist/src/tokenReaders/OperatorTokenReader.js.map +1 -1
- package/dist/src/transformers/CTEDependencyTracer.d.ts +58 -0
- package/dist/src/transformers/CTEDependencyTracer.js +253 -0
- package/dist/src/transformers/CTEDependencyTracer.js.map +1 -0
- package/dist/src/transformers/DynamicQueryBuilder.d.ts +108 -0
- package/dist/src/transformers/DynamicQueryBuilder.js +159 -0
- package/dist/src/transformers/DynamicQueryBuilder.js.map +1 -0
- package/dist/src/transformers/JsonMappingUnifier.d.ts +95 -0
- package/dist/src/transformers/JsonMappingUnifier.js +226 -0
- package/dist/src/transformers/JsonMappingUnifier.js.map +1 -0
- package/dist/src/transformers/ModelDrivenJsonMapping.d.ts +62 -0
- package/dist/src/transformers/ModelDrivenJsonMapping.js +110 -0
- package/dist/src/transformers/ModelDrivenJsonMapping.js.map +1 -0
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.d.ts +80 -1
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js +204 -16
- package/dist/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
- package/dist/src/transformers/PostgresJsonQueryBuilder.d.ts +3 -2
- package/dist/src/transformers/PostgresJsonQueryBuilder.js +26 -21
- package/dist/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js +8 -5
- package/dist/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
- package/dist/src/transformers/SelectableColumnCollector.d.ts +14 -3
- package/dist/src/transformers/SelectableColumnCollector.js +17 -5
- package/dist/src/transformers/SelectableColumnCollector.js.map +1 -1
- package/dist/src/transformers/SqlFormatter.d.ts +2 -3
- package/dist/src/transformers/SqlFormatter.js +1 -2
- package/dist/src/transformers/SqlFormatter.js.map +1 -1
- package/dist/src/transformers/TypeTransformationPostProcessor.d.ts +108 -0
- package/dist/src/transformers/TypeTransformationPostProcessor.js +351 -0
- package/dist/src/transformers/TypeTransformationPostProcessor.js.map +1 -0
- package/dist/src/transformers/UnifiedJsonMapping.d.ts +53 -0
- package/dist/src/transformers/UnifiedJsonMapping.js +60 -0
- package/dist/src/transformers/UnifiedJsonMapping.js.map +1 -0
- package/dist/src/transformers/UpstreamSelectQueryFinder.d.ts +5 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.js +8 -1
- package/dist/src/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/src/utils/JsonSchemaValidator.d.ts +81 -0
- package/dist/src/utils/JsonSchemaValidator.js +215 -0
- package/dist/src/utils/JsonSchemaValidator.js.map +1 -0
- package/dist/src/utils/OperatorPrecedence.js +3 -1
- package/dist/src/utils/OperatorPrecedence.js.map +1 -1
- package/dist/src/utils/SchemaManager.js +0 -1
- package/dist/src/utils/SchemaManager.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -5
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { JsonMapping } from '../transformers/PostgresJsonQueryBuilder';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the structure extracted from JsonMapping analysis
|
|
4
|
+
*/
|
|
5
|
+
export type ExtractedStructure = 'primitive' | {
|
|
6
|
+
[key: string]: ExtractedStructure;
|
|
7
|
+
} | ExtractedStructure[];
|
|
8
|
+
/**
|
|
9
|
+
* Represents the expected type structure for validation
|
|
10
|
+
*/
|
|
11
|
+
export type ExpectedTypeStructure = 'primitive' | {
|
|
12
|
+
[key: string]: ExpectedTypeStructure;
|
|
13
|
+
} | ExpectedTypeStructure[];
|
|
14
|
+
/**
|
|
15
|
+
* Result of JsonMapping validation
|
|
16
|
+
*/
|
|
17
|
+
export interface ValidationResult {
|
|
18
|
+
isValid: boolean;
|
|
19
|
+
errors: string[];
|
|
20
|
+
missingProperties: string[];
|
|
21
|
+
extraProperties: string[];
|
|
22
|
+
}
|
|
23
|
+
export declare class JsonSchemaValidator {
|
|
24
|
+
/**
|
|
25
|
+
* Validates JsonMapping structure against an expected type structure.
|
|
26
|
+
* Checks if the JsonMapping covers all required properties and relationships.
|
|
27
|
+
*
|
|
28
|
+
* @param jsonMapping The JsonMapping configuration to validate
|
|
29
|
+
* @param expectedStructure The expected type structure to validate against
|
|
30
|
+
* @returns ValidationResult containing validation status and detailed errors
|
|
31
|
+
*/
|
|
32
|
+
static validate(jsonMapping: JsonMapping, expectedStructure: ExpectedTypeStructure): ValidationResult;
|
|
33
|
+
/**
|
|
34
|
+
* Validates JsonMapping structure and throws an error if validation fails.
|
|
35
|
+
* Convenience method for strict validation scenarios.
|
|
36
|
+
*
|
|
37
|
+
* @param jsonMapping The JsonMapping configuration to validate
|
|
38
|
+
* @param expectedStructure The expected type structure to validate against
|
|
39
|
+
* @throws Error if validation fails with detailed error messages
|
|
40
|
+
*/
|
|
41
|
+
static validateStrict(jsonMapping: JsonMapping, expectedStructure: ExpectedTypeStructure): void;
|
|
42
|
+
/**
|
|
43
|
+
* Extracts structure information from JsonMapping configuration.
|
|
44
|
+
* Analyzes rootEntity and nestedEntities to build complete structure map.
|
|
45
|
+
*
|
|
46
|
+
* @param jsonMapping The JsonMapping to analyze
|
|
47
|
+
* @returns ExtractedStructure representing the mapping structure
|
|
48
|
+
*/
|
|
49
|
+
private static extractStructureFromJsonMapping; /**
|
|
50
|
+
* Extracts structure from a nested entity, including its children.
|
|
51
|
+
*/
|
|
52
|
+
private static extractNestedEntityStructure; /**
|
|
53
|
+
* Compares extracted structure with expected structure with proper type guards.
|
|
54
|
+
*/
|
|
55
|
+
private static compareStructures;
|
|
56
|
+
/**
|
|
57
|
+
* Validates JsonMapping structure against a sample object that implements the expected type.
|
|
58
|
+
* This method extracts structure from the sample object and compares it with JsonMapping.
|
|
59
|
+
*
|
|
60
|
+
* @param jsonMapping The JsonMapping configuration to validate
|
|
61
|
+
* @param sampleObject A sample object that implements the expected interface/type
|
|
62
|
+
* @returns ValidationResult containing validation status and detailed errors
|
|
63
|
+
*/
|
|
64
|
+
static validateAgainstSample<T>(jsonMapping: JsonMapping, sampleObject: T): ValidationResult;
|
|
65
|
+
/**
|
|
66
|
+
* Validates JsonMapping structure against a sample object and throws an error if validation fails.
|
|
67
|
+
* Convenience method for strict validation scenarios with sample objects.
|
|
68
|
+
*
|
|
69
|
+
* @param jsonMapping The JsonMapping configuration to validate
|
|
70
|
+
* @param sampleObject A sample object that implements the expected interface/type
|
|
71
|
+
* @throws Error if validation fails with detailed error messages
|
|
72
|
+
*/
|
|
73
|
+
static validateAgainstSampleStrict<T>(jsonMapping: JsonMapping, sampleObject: T): void; /**
|
|
74
|
+
* Extracts structure information from a sample object.
|
|
75
|
+
* Recursively analyzes the object properties to build a structure map.
|
|
76
|
+
*
|
|
77
|
+
* @param sampleObject The sample object to analyze
|
|
78
|
+
* @returns ExpectedTypeStructure representing the object structure
|
|
79
|
+
*/
|
|
80
|
+
private static extractStructureFromSample;
|
|
81
|
+
}
|