@sap/cds-compiler 5.3.2 → 5.4.0
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/CHANGELOG.md +23 -2
- package/bin/cdsc.js +1 -1
- package/doc/CHANGELOG_BETA.md +2 -2
- package/lib/api/options.js +4 -2
- package/lib/base/builtins.js +0 -10
- package/lib/base/keywords.js +3 -31
- package/lib/base/message-registry.js +23 -5
- package/lib/base/messages.js +1 -1
- package/lib/checks/existsMustEndInAssoc.js +7 -2
- package/lib/checks/foreignKeys.js +12 -7
- package/lib/compiler/assert-consistency.js +11 -3
- package/lib/compiler/builtins.js +2 -0
- package/lib/compiler/checks.js +88 -38
- package/lib/compiler/define.js +2 -2
- package/lib/compiler/shared.js +9 -10
- package/lib/compiler/xpr-rewrite.js +11 -0
- package/lib/compiler/xsn-model.js +1 -1
- package/lib/edm/csn2edm.js +2 -0
- package/lib/edm/edm.js +2 -1
- package/lib/edm/edmPreprocessor.js +14 -1
- package/lib/edm/edmUtils.js +17 -2
- package/lib/gen/BaseParser.js +291 -197
- package/lib/gen/CdlParser.js +1631 -1605
- package/lib/gen/Dictionary.json +74 -6
- package/lib/gen/language.checksum +1 -1
- package/lib/gen/language.interp +1 -1
- package/lib/gen/languageParser.js +1808 -1804
- package/lib/language/antlrParser.js +8 -4
- package/lib/language/genericAntlrParser.js +3 -3
- package/lib/model/csnUtils.js +6 -1
- package/lib/optionProcessor.js +4 -0
- package/lib/parsers/AstBuildingParser.js +172 -108
- package/lib/parsers/CdlGrammar.g4 +154 -134
- package/lib/parsers/Lexer.js +3 -3
- package/lib/parsers/identifiers.js +59 -0
- package/lib/render/toCdl.js +5 -5
- package/lib/render/utils/common.js +5 -0
- package/lib/render/utils/delta.js +23 -5
- package/lib/transform/db/expansion.js +2 -1
- package/lib/transform/db/transformExists.js +10 -9
- package/lib/transform/effective/annotations.js +147 -0
- package/lib/transform/effective/main.js +16 -2
- package/lib/transform/forOdata.js +53 -10
- package/lib/transform/forRelationalDB.js +7 -0
- package/lib/transform/odata/createForeignKeys.js +180 -0
- package/lib/transform/odata/flattening.js +135 -19
- package/lib/transform/odata/typesExposure.js +4 -3
- package/lib/transform/transformUtils.js +6 -6
- package/package.json +1 -1
package/lib/gen/Dictionary.json
CHANGED
|
@@ -478,6 +478,10 @@
|
|
|
478
478
|
"Common.QuickInfo": {
|
|
479
479
|
"Type": "Edm.String"
|
|
480
480
|
},
|
|
481
|
+
"Common.DocumentationRef": {
|
|
482
|
+
"Type": "Edm.String",
|
|
483
|
+
"$experimental": true
|
|
484
|
+
},
|
|
481
485
|
"Common.Text": {
|
|
482
486
|
"Type": "Edm.String",
|
|
483
487
|
"AppliesTo": [
|
|
@@ -575,9 +579,7 @@
|
|
|
575
579
|
"AppliesTo": [
|
|
576
580
|
"EntityType"
|
|
577
581
|
],
|
|
578
|
-
"Type": "Collection(Edm.PropertyPath)"
|
|
579
|
-
"$deprecated": true,
|
|
580
|
-
"$deprecationText": "Use term `AlternateKeys` from the OASIS Core vocabulary instead"
|
|
582
|
+
"Type": "Collection(Edm.PropertyPath)"
|
|
581
583
|
},
|
|
582
584
|
"Common.MinOccurs": {
|
|
583
585
|
"AppliesTo": [
|
|
@@ -643,7 +645,7 @@
|
|
|
643
645
|
]
|
|
644
646
|
},
|
|
645
647
|
"Common.SemanticObjectMapping": {
|
|
646
|
-
"Type": "Collection(Common.
|
|
648
|
+
"Type": "Collection(Common.SemanticObjectMappingAbstract)",
|
|
647
649
|
"AppliesTo": [
|
|
648
650
|
"EntitySet",
|
|
649
651
|
"EntityType",
|
|
@@ -1422,6 +1424,13 @@
|
|
|
1422
1424
|
"ComplexType"
|
|
1423
1425
|
]
|
|
1424
1426
|
},
|
|
1427
|
+
"Core.IsDelta": {
|
|
1428
|
+
"Type": "Core.Tag",
|
|
1429
|
+
"AppliesTo": [
|
|
1430
|
+
"ReturnType",
|
|
1431
|
+
"Parameter"
|
|
1432
|
+
]
|
|
1433
|
+
},
|
|
1425
1434
|
"DataIntegration.Extractable": {
|
|
1426
1435
|
"Type": "Edm.Boolean",
|
|
1427
1436
|
"AppliesTo": [
|
|
@@ -1911,6 +1920,35 @@
|
|
|
1911
1920
|
"EntityType"
|
|
1912
1921
|
]
|
|
1913
1922
|
},
|
|
1923
|
+
"UI.DateTimeStyle": {
|
|
1924
|
+
"Type": "Edm.String",
|
|
1925
|
+
"AppliesTo": [
|
|
1926
|
+
"Property",
|
|
1927
|
+
"Parameter"
|
|
1928
|
+
],
|
|
1929
|
+
"$Allowed": {
|
|
1930
|
+
"Values": {
|
|
1931
|
+
"short": {
|
|
1932
|
+
"Value": "short",
|
|
1933
|
+
"Type": "String"
|
|
1934
|
+
},
|
|
1935
|
+
"medium": {
|
|
1936
|
+
"Value": "medium",
|
|
1937
|
+
"Type": "String"
|
|
1938
|
+
},
|
|
1939
|
+
"long": {
|
|
1940
|
+
"Value": "long",
|
|
1941
|
+
"Type": "String"
|
|
1942
|
+
},
|
|
1943
|
+
"full": {
|
|
1944
|
+
"Value": "full",
|
|
1945
|
+
"Type": "String"
|
|
1946
|
+
}
|
|
1947
|
+
},
|
|
1948
|
+
"Symbols": {}
|
|
1949
|
+
},
|
|
1950
|
+
"$experimental": true
|
|
1951
|
+
},
|
|
1914
1952
|
"UI.Note": {
|
|
1915
1953
|
"Type": "UI.NoteType",
|
|
1916
1954
|
"AppliesTo": [
|
|
@@ -3076,13 +3114,30 @@
|
|
|
3076
3114
|
"$deprecated": true,
|
|
3077
3115
|
"$deprecationText": "All side effects are essentially value changes, differentiation not needed."
|
|
3078
3116
|
},
|
|
3117
|
+
"Common.SemanticObjectMappingAbstract": {
|
|
3118
|
+
"$kind": "ComplexType",
|
|
3119
|
+
"Abstract": "true",
|
|
3120
|
+
"Properties": {
|
|
3121
|
+
"SemanticObjectProperty": "Edm.String"
|
|
3122
|
+
}
|
|
3123
|
+
},
|
|
3079
3124
|
"Common.SemanticObjectMappingType": {
|
|
3080
3125
|
"$kind": "ComplexType",
|
|
3126
|
+
"BaseType": "Common.SemanticObjectMappingAbstract",
|
|
3081
3127
|
"Properties": {
|
|
3082
3128
|
"LocalProperty": "Edm.PropertyPath",
|
|
3083
3129
|
"SemanticObjectProperty": "Edm.String"
|
|
3084
3130
|
}
|
|
3085
3131
|
},
|
|
3132
|
+
"Common.SemanticObjectMappingConstant": {
|
|
3133
|
+
"$kind": "ComplexType",
|
|
3134
|
+
"BaseType": "Common.SemanticObjectMappingAbstract",
|
|
3135
|
+
"Properties": {
|
|
3136
|
+
"Constant": "Edm.PrimitiveType",
|
|
3137
|
+
"SemanticObjectProperty": "Edm.String"
|
|
3138
|
+
},
|
|
3139
|
+
"$experimental": true
|
|
3140
|
+
},
|
|
3086
3141
|
"Common.FilterExpressionRestrictionType": {
|
|
3087
3142
|
"$kind": "ComplexType",
|
|
3088
3143
|
"Properties": {
|
|
@@ -3858,7 +3913,8 @@
|
|
|
3858
3913
|
"ResultSizeMaximum": "Edm.Int32",
|
|
3859
3914
|
"IANATimezoneFormat": "Edm.Boolean",
|
|
3860
3915
|
"Treeview": "Edm.Boolean",
|
|
3861
|
-
"TextDirectionLayout": "Edm.Boolean"
|
|
3916
|
+
"TextDirectionLayout": "Edm.Boolean",
|
|
3917
|
+
"UploadToFileShare": "Edm.Boolean"
|
|
3862
3918
|
}
|
|
3863
3919
|
},
|
|
3864
3920
|
"PersonalData.EntitySemanticsType": {
|
|
@@ -3918,6 +3974,18 @@
|
|
|
3918
3974
|
"EndOfBusinessDate": {
|
|
3919
3975
|
"Value": "EndOfBusinessDate",
|
|
3920
3976
|
"Type": "String"
|
|
3977
|
+
},
|
|
3978
|
+
"DataControllerID": {
|
|
3979
|
+
"Value": "DataControllerID",
|
|
3980
|
+
"Type": "String"
|
|
3981
|
+
},
|
|
3982
|
+
"BlockingDate": {
|
|
3983
|
+
"Value": "BlockingDate",
|
|
3984
|
+
"Type": "String"
|
|
3985
|
+
},
|
|
3986
|
+
"EndOfRetentionDate": {
|
|
3987
|
+
"Value": "EndOfRetentionDate",
|
|
3988
|
+
"Type": "String"
|
|
3921
3989
|
}
|
|
3922
3990
|
},
|
|
3923
3991
|
"Symbols": {}
|
|
@@ -4126,7 +4194,7 @@
|
|
|
4126
4194
|
"MeasureAttributes": "Collection(UI.ChartMeasureAttributeType)",
|
|
4127
4195
|
"Dimensions": "Collection(Edm.PropertyPath)",
|
|
4128
4196
|
"DimensionAttributes": "Collection(UI.ChartDimensionAttributeType)",
|
|
4129
|
-
"Actions": "Collection(UI.
|
|
4197
|
+
"Actions": "Collection(UI.DataFieldAbstract)"
|
|
4130
4198
|
}
|
|
4131
4199
|
},
|
|
4132
4200
|
"UI.ChartAxisScalingType": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a99006e8cc0762f9e0837ca87b99233e
|