@sap/cds-compiler 3.4.0 → 3.4.4

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 (60) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/bin/cdsc.js +3 -4
  3. package/bin/cdshi.js +19 -6
  4. package/doc/CHANGELOG_ARCHIVE.md +1 -1
  5. package/lib/api/main.js +6 -3
  6. package/lib/base/message-registry.js +61 -38
  7. package/lib/base/messages.js +7 -3
  8. package/lib/checks/.eslintrc.json +2 -0
  9. package/lib/compiler/.eslintrc.json +4 -1
  10. package/lib/compiler/assert-consistency.js +8 -6
  11. package/lib/compiler/builtins.js +13 -13
  12. package/lib/compiler/checks.js +50 -33
  13. package/lib/compiler/define.js +9 -6
  14. package/lib/compiler/extend.js +83 -55
  15. package/lib/compiler/finalize-parse-cdl.js +3 -3
  16. package/lib/compiler/populate.js +16 -5
  17. package/lib/compiler/propagator.js +22 -29
  18. package/lib/compiler/resolve.js +2 -15
  19. package/lib/compiler/shared.js +4 -4
  20. package/lib/compiler/utils.js +14 -0
  21. package/lib/edm/annotations/genericTranslation.js +68 -56
  22. package/lib/edm/csn2edm.js +214 -174
  23. package/lib/edm/edmAnnoPreprocessor.js +5 -5
  24. package/lib/edm/edmInboundChecks.js +2 -2
  25. package/lib/edm/edmPreprocessor.js +1 -1
  26. package/lib/edm/edmUtils.js +3 -3
  27. package/lib/gen/Dictionary.json +176 -8
  28. package/lib/gen/language.checksum +1 -1
  29. package/lib/gen/language.interp +2 -1
  30. package/lib/gen/languageParser.js +4776 -4513
  31. package/lib/json/from-csn.js +21 -16
  32. package/lib/json/to-csn.js +37 -41
  33. package/lib/language/.eslintrc.json +4 -1
  34. package/lib/language/antlrParser.js +5 -2
  35. package/lib/language/docCommentParser.js +6 -6
  36. package/lib/language/errorStrategy.js +43 -23
  37. package/lib/language/genericAntlrParser.js +54 -95
  38. package/lib/language/language.g4 +92 -66
  39. package/lib/language/multiLineStringParser.js +2 -2
  40. package/lib/language/textUtils.js +2 -2
  41. package/lib/model/csnRefs.js +5 -0
  42. package/lib/modelCompare/compare.js +2 -2
  43. package/lib/modelCompare/utils/.eslintrc.json +22 -0
  44. package/lib/modelCompare/utils/filter.js +99 -0
  45. package/lib/render/.eslintrc.json +1 -0
  46. package/lib/render/toCdl.js +96 -127
  47. package/lib/render/toHdbcds.js +38 -35
  48. package/lib/render/toSql.js +75 -161
  49. package/lib/render/utils/common.js +133 -83
  50. package/lib/render/utils/delta.js +227 -0
  51. package/lib/transform/db/.eslintrc.json +2 -0
  52. package/lib/transform/draft/.eslintrc.json +1 -35
  53. package/lib/transform/forOdataNew.js +33 -22
  54. package/lib/transform/forRelationalDB.js +1 -1
  55. package/lib/transform/localized.js +9 -8
  56. package/lib/transform/odata/typesExposure.js +26 -4
  57. package/lib/transform/transformUtilsNew.js +15 -8
  58. package/lib/transform/universalCsn/universalCsnEnricher.js +1 -0
  59. package/package.json +2 -3
  60. package/lib/modelCompare/filter.js +0 -83
@@ -2599,7 +2599,36 @@
2599
2599
  },
2600
2600
  "Capabilities.FilterExpressionType": {
2601
2601
  "$kind": "TypeDefinition",
2602
- "UnderlyingType": "Edm.String"
2602
+ "UnderlyingType": "Edm.String",
2603
+ "$Allowed": {
2604
+ "Values": {
2605
+ "SingleValue": {
2606
+ "Value": "SingleValue",
2607
+ "Type": "String"
2608
+ },
2609
+ "MultiValue": {
2610
+ "Value": "MultiValue",
2611
+ "Type": "String"
2612
+ },
2613
+ "SingleRange": {
2614
+ "Value": "SingleRange",
2615
+ "Type": "String"
2616
+ },
2617
+ "MultiRange": {
2618
+ "Value": "MultiRange",
2619
+ "Type": "String"
2620
+ },
2621
+ "SearchExpression": {
2622
+ "Value": "SearchExpression",
2623
+ "Type": "String"
2624
+ },
2625
+ "MultiRangeOrSearchExpression": {
2626
+ "Value": "MultiRangeOrSearchExpression",
2627
+ "Type": "String"
2628
+ }
2629
+ },
2630
+ "Symbols": {}
2631
+ }
2603
2632
  },
2604
2633
  "CodeList.CodeListSource": {
2605
2634
  "$kind": "ComplexType",
@@ -2836,11 +2865,45 @@
2836
2865
  },
2837
2866
  "Common.NumericMessageSeverityType": {
2838
2867
  "$kind": "TypeDefinition",
2839
- "UnderlyingType": "Edm.Byte"
2868
+ "UnderlyingType": "Edm.Byte",
2869
+ "$Allowed": {
2870
+ "Values": {
2871
+ "1": {
2872
+ "Value": "1",
2873
+ "Type": "Int"
2874
+ },
2875
+ "2": {
2876
+ "Value": "2",
2877
+ "Type": "Int"
2878
+ },
2879
+ "3": {
2880
+ "Value": "3",
2881
+ "Type": "Int"
2882
+ },
2883
+ "4": {
2884
+ "Value": "4",
2885
+ "Type": "Int"
2886
+ }
2887
+ },
2888
+ "Symbols": {}
2889
+ }
2840
2890
  },
2841
2891
  "Common.FetchValuesType": {
2842
2892
  "$kind": "TypeDefinition",
2843
- "UnderlyingType": "Edm.Byte"
2893
+ "UnderlyingType": "Edm.Byte",
2894
+ "$Allowed": {
2895
+ "Values": {
2896
+ "1": {
2897
+ "Value": "1",
2898
+ "Type": "Int"
2899
+ },
2900
+ "2": {
2901
+ "Value": "2",
2902
+ "Type": "Int"
2903
+ }
2904
+ },
2905
+ "Symbols": {}
2906
+ }
2844
2907
  },
2845
2908
  "Common.SimpleIdentifier": {
2846
2909
  "$kind": "TypeDefinition",
@@ -3187,7 +3250,28 @@
3187
3250
  },
3188
3251
  "Core.MessageSeverity": {
3189
3252
  "$kind": "TypeDefinition",
3190
- "UnderlyingType": "Edm.String"
3253
+ "UnderlyingType": "Edm.String",
3254
+ "$Allowed": {
3255
+ "Values": {
3256
+ "success": {
3257
+ "Value": "success",
3258
+ "Type": "String"
3259
+ },
3260
+ "info": {
3261
+ "Value": "info",
3262
+ "Type": "String"
3263
+ },
3264
+ "warning": {
3265
+ "Value": "warning",
3266
+ "Type": "String"
3267
+ },
3268
+ "error": {
3269
+ "Value": "error",
3270
+ "Type": "String"
3271
+ }
3272
+ },
3273
+ "Symbols": {}
3274
+ }
3191
3275
  },
3192
3276
  "Core.Tag": {
3193
3277
  "$kind": "TypeDefinition",
@@ -3254,15 +3338,82 @@
3254
3338
  },
3255
3339
  "Measures.DurationGranularityType": {
3256
3340
  "$kind": "TypeDefinition",
3257
- "UnderlyingType": "Edm.String"
3341
+ "UnderlyingType": "Edm.String",
3342
+ "$Allowed": {
3343
+ "Values": {
3344
+ "days": {
3345
+ "Value": "days",
3346
+ "Type": "String"
3347
+ },
3348
+ "hours": {
3349
+ "Value": "hours",
3350
+ "Type": "String"
3351
+ },
3352
+ "minutes": {
3353
+ "Value": "minutes",
3354
+ "Type": "String"
3355
+ }
3356
+ },
3357
+ "Symbols": {}
3358
+ }
3258
3359
  },
3259
3360
  "PersonalData.EntitySemanticsType": {
3260
3361
  "$kind": "TypeDefinition",
3261
- "UnderlyingType": "Edm.String"
3362
+ "UnderlyingType": "Edm.String",
3363
+ "$Allowed": {
3364
+ "Values": {
3365
+ "DataSubject": {
3366
+ "Value": "DataSubject",
3367
+ "Type": "String"
3368
+ },
3369
+ "DataSubjectDetails": {
3370
+ "Value": "DataSubjectDetails",
3371
+ "Type": "String"
3372
+ },
3373
+ "Other": {
3374
+ "Value": "Other",
3375
+ "Type": "String"
3376
+ }
3377
+ },
3378
+ "Symbols": {}
3379
+ }
3262
3380
  },
3263
3381
  "PersonalData.FieldSemanticsType": {
3264
3382
  "$kind": "TypeDefinition",
3265
- "UnderlyingType": "Edm.String"
3383
+ "UnderlyingType": "Edm.String",
3384
+ "$Allowed": {
3385
+ "Values": {
3386
+ "DataSubjectID": {
3387
+ "Value": "DataSubjectID",
3388
+ "Type": "String"
3389
+ },
3390
+ "DataSubjectIDType": {
3391
+ "Value": "DataSubjectIDType",
3392
+ "Type": "String"
3393
+ },
3394
+ "ConsentID": {
3395
+ "Value": "ConsentID",
3396
+ "Type": "String"
3397
+ },
3398
+ "PurposeID": {
3399
+ "Value": "PurposeID",
3400
+ "Type": "String"
3401
+ },
3402
+ "ContractRelatedID": {
3403
+ "Value": "ContractRelatedID",
3404
+ "Type": "String"
3405
+ },
3406
+ "LegalEntityID": {
3407
+ "Value": "LegalEntityID",
3408
+ "Type": "String"
3409
+ },
3410
+ "UserID": {
3411
+ "Value": "UserID",
3412
+ "Type": "String"
3413
+ }
3414
+ },
3415
+ "Symbols": {}
3416
+ }
3266
3417
  },
3267
3418
  "Session.StickySessionSupportedType": {
3268
3419
  "$kind": "ComplexType",
@@ -3986,7 +4137,24 @@
3986
4137
  },
3987
4138
  "UI.RecommendationStateType": {
3988
4139
  "$kind": "TypeDefinition",
3989
- "UnderlyingType": "Edm.Byte"
4140
+ "UnderlyingType": "Edm.Byte",
4141
+ "$Allowed": {
4142
+ "Values": {
4143
+ "0": {
4144
+ "Value": "0",
4145
+ "Type": "Int"
4146
+ },
4147
+ "1": {
4148
+ "Value": "1",
4149
+ "Type": "Int"
4150
+ },
4151
+ "2": {
4152
+ "Value": "2",
4153
+ "Type": "Int"
4154
+ }
4155
+ },
4156
+ "Symbols": {}
4157
+ }
3990
4158
  },
3991
4159
  "Validation.AllowedValue": {
3992
4160
  "$kind": "ComplexType",
@@ -1 +1 @@
1
- 5a5c0432924af9c8833ad5aa6b94724f
1
+ 1afc5561b6e2c0af3e294a6781ba278c