@sap-ux/fiori-annotation-api 0.11.0 → 1.0.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.
Files changed (199) hide show
  1. package/dist/annotation-provider.d.ts +1 -1
  2. package/dist/annotation-provider.d.ts.map +1 -1
  3. package/dist/annotation-provider.js +30 -36
  4. package/dist/annotation-provider.js.map +1 -1
  5. package/dist/avt/annotations.js +53 -56
  6. package/dist/avt/annotations.js.map +1 -1
  7. package/dist/avt/expressions.js +3 -7
  8. package/dist/avt/expressions.js.map +1 -1
  9. package/dist/avt/find.d.ts +2 -2
  10. package/dist/avt/find.d.ts.map +1 -1
  11. package/dist/avt/find.js +16 -20
  12. package/dist/avt/find.js.map +1 -1
  13. package/dist/avt/index.d.ts +8 -8
  14. package/dist/avt/index.d.ts.map +1 -1
  15. package/dist/avt/index.js +7 -31
  16. package/dist/avt/index.js.map +1 -1
  17. package/dist/avt/metadata.js +1 -4
  18. package/dist/avt/metadata.js.map +1 -1
  19. package/dist/avt/pointer.d.ts +1 -1
  20. package/dist/avt/pointer.d.ts.map +1 -1
  21. package/dist/avt/pointer.js +12 -15
  22. package/dist/avt/pointer.js.map +1 -1
  23. package/dist/avt/to-internal.d.ts +1 -1
  24. package/dist/avt/to-internal.d.ts.map +1 -1
  25. package/dist/avt/to-internal.js +53 -65
  26. package/dist/avt/to-internal.js.map +1 -1
  27. package/dist/avt/types.js +1 -2
  28. package/dist/avt/utils.d.ts +2 -2
  29. package/dist/avt/utils.d.ts.map +1 -1
  30. package/dist/avt/utils.js +11 -20
  31. package/dist/avt/utils.js.map +1 -1
  32. package/dist/cds/adapter.d.ts +5 -5
  33. package/dist/cds/adapter.d.ts.map +1 -1
  34. package/dist/cds/adapter.js +184 -187
  35. package/dist/cds/adapter.js.map +1 -1
  36. package/dist/cds/cds-compiler-tokens.js +11 -21
  37. package/dist/cds/cds-compiler-tokens.js.map +1 -1
  38. package/dist/cds/change.d.ts +1 -1
  39. package/dist/cds/change.d.ts.map +1 -1
  40. package/dist/cds/change.js +63 -79
  41. package/dist/cds/change.js.map +1 -1
  42. package/dist/cds/comments.d.ts +1 -1
  43. package/dist/cds/comments.d.ts.map +1 -1
  44. package/dist/cds/comments.js +4 -7
  45. package/dist/cds/comments.js.map +1 -1
  46. package/dist/cds/deletion.d.ts +1 -1
  47. package/dist/cds/deletion.d.ts.map +1 -1
  48. package/dist/cds/deletion.js +74 -61
  49. package/dist/cds/deletion.js.map +1 -1
  50. package/dist/cds/document.d.ts +4 -4
  51. package/dist/cds/document.d.ts.map +1 -1
  52. package/dist/cds/document.js +20 -27
  53. package/dist/cds/document.js.map +1 -1
  54. package/dist/cds/indent.d.ts +2 -2
  55. package/dist/cds/indent.d.ts.map +1 -1
  56. package/dist/cds/indent.js +16 -20
  57. package/dist/cds/indent.js.map +1 -1
  58. package/dist/cds/index.d.ts +2 -2
  59. package/dist/cds/index.d.ts.map +1 -1
  60. package/dist/cds/index.js +4 -22
  61. package/dist/cds/index.js.map +1 -1
  62. package/dist/cds/pointer.d.ts +1 -1
  63. package/dist/cds/pointer.d.ts.map +1 -1
  64. package/dist/cds/pointer.js +38 -42
  65. package/dist/cds/pointer.js.map +1 -1
  66. package/dist/cds/preprocessor.d.ts +3 -3
  67. package/dist/cds/preprocessor.d.ts.map +1 -1
  68. package/dist/cds/preprocessor.js +91 -95
  69. package/dist/cds/preprocessor.js.map +1 -1
  70. package/dist/cds/references.d.ts +2 -2
  71. package/dist/cds/references.d.ts.map +1 -1
  72. package/dist/cds/references.js +49 -55
  73. package/dist/cds/references.js.map +1 -1
  74. package/dist/cds/service.d.ts +1 -1
  75. package/dist/cds/service.d.ts.map +1 -1
  76. package/dist/cds/service.js +6 -8
  77. package/dist/cds/service.js.map +1 -1
  78. package/dist/cds/utils.d.ts +2 -2
  79. package/dist/cds/utils.d.ts.map +1 -1
  80. package/dist/cds/utils.js +20 -24
  81. package/dist/cds/utils.js.map +1 -1
  82. package/dist/cds/writer.d.ts +6 -6
  83. package/dist/cds/writer.d.ts.map +1 -1
  84. package/dist/cds/writer.js +199 -202
  85. package/dist/cds/writer.js.map +1 -1
  86. package/dist/change-converter.d.ts +1 -1
  87. package/dist/change-converter.d.ts.map +1 -1
  88. package/dist/change-converter.js +124 -128
  89. package/dist/change-converter.js.map +1 -1
  90. package/dist/error.js +3 -7
  91. package/dist/error.js.map +1 -1
  92. package/dist/external-services.d.ts +1 -1
  93. package/dist/external-services.d.ts.map +1 -1
  94. package/dist/external-services.js +10 -13
  95. package/dist/external-services.js.map +1 -1
  96. package/dist/fiori-service.d.ts +4 -4
  97. package/dist/fiori-service.d.ts.map +1 -1
  98. package/dist/fiori-service.js +41 -45
  99. package/dist/fiori-service.js.map +1 -1
  100. package/dist/index.d.ts +9 -8
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +7 -31
  103. package/dist/index.js.map +1 -1
  104. package/dist/logger.js +2 -5
  105. package/dist/logger.js.map +1 -1
  106. package/dist/protected.d.ts +2 -2
  107. package/dist/protected.d.ts.map +1 -1
  108. package/dist/protected.js +2 -8
  109. package/dist/protected.js.map +1 -1
  110. package/dist/sap/builders.d.ts +1 -1
  111. package/dist/sap/builders.d.ts.map +1 -1
  112. package/dist/sap/builders.js +22 -30
  113. package/dist/sap/builders.js.map +1 -1
  114. package/dist/sap/collector.d.ts +1 -1
  115. package/dist/sap/collector.d.ts.map +1 -1
  116. package/dist/sap/collector.js +50 -53
  117. package/dist/sap/collector.js.map +1 -1
  118. package/dist/sap/converter.d.ts +1 -1
  119. package/dist/sap/converter.d.ts.map +1 -1
  120. package/dist/sap/converter.js +37 -42
  121. package/dist/sap/converter.js.map +1 -1
  122. package/dist/sap/index.d.ts +1 -1
  123. package/dist/sap/index.d.ts.map +1 -1
  124. package/dist/sap/index.js +1 -6
  125. package/dist/sap/index.js.map +1 -1
  126. package/dist/sap/types.js +5 -8
  127. package/dist/sap/types.js.map +1 -1
  128. package/dist/types/adapter.d.ts +3 -3
  129. package/dist/types/adapter.d.ts.map +1 -1
  130. package/dist/types/adapter.js +1 -2
  131. package/dist/types/change.js +11 -14
  132. package/dist/types/change.js.map +1 -1
  133. package/dist/types/index.d.ts +6 -6
  134. package/dist/types/index.d.ts.map +1 -1
  135. package/dist/types/index.js +3 -32
  136. package/dist/types/index.js.map +1 -1
  137. package/dist/types/internal-change.d.ts +1 -1
  138. package/dist/types/internal-change.d.ts.map +1 -1
  139. package/dist/types/internal-change.js +13 -16
  140. package/dist/types/internal-change.js.map +1 -1
  141. package/dist/types/project-info.js +1 -2
  142. package/dist/types/service.d.ts +1 -1
  143. package/dist/types/service.d.ts.map +1 -1
  144. package/dist/types/service.js +1 -2
  145. package/dist/types/text-file.js +1 -2
  146. package/dist/utils/constants.js +20 -22
  147. package/dist/utils/constants.js.map +1 -1
  148. package/dist/utils/indent.js +1 -4
  149. package/dist/utils/indent.js.map +1 -1
  150. package/dist/utils/index.d.ts +7 -7
  151. package/dist/utils/index.d.ts.map +1 -1
  152. package/dist/utils/index.js +7 -17
  153. package/dist/utils/index.js.map +1 -1
  154. package/dist/utils/metadata.js +1 -4
  155. package/dist/utils/metadata.js.map +1 -1
  156. package/dist/utils/path.js +5 -8
  157. package/dist/utils/path.js.map +1 -1
  158. package/dist/utils/pointer.d.ts +1 -1
  159. package/dist/utils/pointer.d.ts.map +1 -1
  160. package/dist/utils/pointer.js +1 -4
  161. package/dist/utils/pointer.js.map +1 -1
  162. package/dist/utils/range.js +1 -4
  163. package/dist/utils/range.js.map +1 -1
  164. package/dist/utils/reference.d.ts +1 -1
  165. package/dist/utils/reference.d.ts.map +1 -1
  166. package/dist/utils/reference.js +1 -4
  167. package/dist/utils/reference.js.map +1 -1
  168. package/dist/vocabularies.js +1 -4
  169. package/dist/vocabularies.js.map +1 -1
  170. package/dist/xml/adapter.d.ts +2 -2
  171. package/dist/xml/adapter.d.ts.map +1 -1
  172. package/dist/xml/adapter.js +92 -96
  173. package/dist/xml/adapter.js.map +1 -1
  174. package/dist/xml/changes.d.ts +1 -1
  175. package/dist/xml/changes.d.ts.map +1 -1
  176. package/dist/xml/changes.js +11 -15
  177. package/dist/xml/changes.js.map +1 -1
  178. package/dist/xml/comments.js +3 -6
  179. package/dist/xml/comments.js.map +1 -1
  180. package/dist/xml/document.d.ts +1 -1
  181. package/dist/xml/document.d.ts.map +1 -1
  182. package/dist/xml/document.js +1 -2
  183. package/dist/xml/index.d.ts +2 -2
  184. package/dist/xml/index.d.ts.map +1 -1
  185. package/dist/xml/index.js +4 -9
  186. package/dist/xml/index.js.map +1 -1
  187. package/dist/xml/pointer.js +1 -4
  188. package/dist/xml/pointer.js.map +1 -1
  189. package/dist/xml/references.js +15 -18
  190. package/dist/xml/references.js.map +1 -1
  191. package/dist/xml/service.d.ts +1 -1
  192. package/dist/xml/service.d.ts.map +1 -1
  193. package/dist/xml/service.js +4 -7
  194. package/dist/xml/service.js.map +1 -1
  195. package/dist/xml/writer.d.ts +2 -2
  196. package/dist/xml/writer.d.ts.map +1 -1
  197. package/dist/xml/writer.js +100 -104
  198. package/dist/xml/writer.js.map +1 -1
  199. package/package.json +13 -11
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChangeConverter = void 0;
4
- const odata_annotation_core_types_1 = require("@sap-ux/odata-annotation-core-types");
5
- const odata_annotation_core_1 = require("@sap-ux/odata-annotation-core");
6
- const avt_1 = require("./avt");
7
- const vocabularies_1 = require("./vocabularies");
8
- const types_1 = require("./types");
9
- const utils_1 = require("./utils");
10
- const error_1 = require("./error");
1
+ import { ELEMENT_TYPE, ATTRIBUTE_TYPE, createElementNode, createTextNode, Edm, createTarget, TEXT_TYPE, ANNOTATION_FILE_TYPE } from '@sap-ux/odata-annotation-core-types';
2
+ import { getAliasInformation, getAllNamespacesAndReferences, toAliasQualifiedName } from '@sap-ux/odata-annotation-core';
3
+ import { convertAnnotationToInternal, convertPointerInAnnotationToInternal, convertExpressionToInternal, convertPrimitiveValueToInternal, findAnnotationByReference, getAvtNodeFromPointer, convertCollectionToInternal, convertPropertyValueToInternal, convertRecordToInternal, findAnnotation } from './avt/index.js';
4
+ import { addAllVocabulariesToAliasInformation } from './vocabularies.js';
5
+ import { ChangeType, DELETE_ATTRIBUTE, DELETE_ELEMENT, ExpressionType, INSERT_ATTRIBUTE, INSERT_ELEMENT, INSERT_TARGET, UPDATE_ATTRIBUTE_VALUE, MOVE_ELEMENT, REPLACE_ATTRIBUTE, REPLACE_ELEMENT, REPLACE_ELEMENT_CONTENT, REPLACE_TEXT } from './types/index.js';
6
+ import { annotationReferenceToString, getGenericNodeFromPointer } from './utils/index.js';
7
+ import { ApiError, ApiErrorCode } from './error.js';
11
8
  /**
12
9
  * Converts changes to the internal change format.
13
10
  */
14
- class ChangeConverter {
11
+ export class ChangeConverter {
15
12
  serviceName;
16
13
  vocabularyAPI;
17
14
  metadataService;
@@ -50,22 +47,22 @@ class ChangeConverter {
50
47
  for (const change of mergedChanges) {
51
48
  const file = this.getFile(compiledService, change.uri);
52
49
  const aliasInfoMod = this.getAliasInformation(file);
53
- if (change.kind === types_1.ChangeType.InsertAnnotation) {
50
+ if (change.kind === ChangeType.InsertAnnotation) {
54
51
  this.insertAnnotation(compiledService, aliasInfoMod, change);
55
52
  }
56
- else if (change.kind === types_1.ChangeType.InsertEmbeddedAnnotation) {
53
+ else if (change.kind === ChangeType.InsertEmbeddedAnnotation) {
57
54
  this.insertEmbeddedAnnotation(file, fileMergeMaps, aliasInfoMod, change);
58
55
  }
59
- else if (change.kind === types_1.ChangeType.Insert) {
56
+ else if (change.kind === ChangeType.Insert) {
60
57
  this.convertInsert(file, fileMergeMaps, aliasInfoMod, change);
61
58
  }
62
- else if (change.kind === types_1.ChangeType.Delete) {
59
+ else if (change.kind === ChangeType.Delete) {
63
60
  this.convertDelete(file, fileMergeMaps, aliasInfoMod, change);
64
61
  }
65
- else if (change.kind === types_1.ChangeType.Update) {
62
+ else if (change.kind === ChangeType.Update) {
66
63
  this.convertUpdate(file, fileMergeMaps, aliasInfoMod, schemaProvider, change);
67
64
  }
68
- else if (change.kind === types_1.ChangeType.Move) {
65
+ else if (change.kind === ChangeType.Move) {
69
66
  this.convertMove(file, fileMergeMaps, aliasInfoMod, change);
70
67
  }
71
68
  }
@@ -77,7 +74,7 @@ class ChangeConverter {
77
74
  if (!file) {
78
75
  if (this.ignoreChangedFileInitialContent) {
79
76
  return {
80
- type: odata_annotation_core_types_1.ANNOTATION_FILE_TYPE,
77
+ type: ANNOTATION_FILE_TYPE,
81
78
  uri,
82
79
  references: [],
83
80
  targets: []
@@ -89,8 +86,8 @@ class ChangeConverter {
89
86
  }
90
87
  insertAnnotation(compiledService, aliasInfo, change) {
91
88
  const annotationFile = compiledService.annotationFiles.find((file) => file.uri === change.uri);
92
- const targetName = (0, odata_annotation_core_1.toAliasQualifiedName)(change.content.target, aliasInfo);
93
- const targetIndex = annotationFile?.targets.findIndex((target) => (0, odata_annotation_core_1.toAliasQualifiedName)(target.name, aliasInfo) === targetName);
89
+ const targetName = toAliasQualifiedName(change.content.target, aliasInfo);
90
+ const targetIndex = annotationFile?.targets.findIndex((target) => toAliasQualifiedName(target.name, aliasInfo) === targetName);
94
91
  if (targetIndex === -1 || targetIndex === undefined) {
95
92
  // no existing target found, we need to create one
96
93
  const changesForUri = this.newTargetChanges.get(change.uri);
@@ -110,23 +107,23 @@ class ChangeConverter {
110
107
  else {
111
108
  // add annotation to existing target
112
109
  const internal = {
113
- type: types_1.INSERT_ELEMENT,
110
+ type: INSERT_ELEMENT,
114
111
  uri: change.uri,
115
112
  target: targetName,
116
113
  pointer: `/targets/${targetIndex}`,
117
- element: (0, avt_1.convertAnnotationToInternal)(change.content.value, aliasInfo)
114
+ element: convertAnnotationToInternal(change.content.value, aliasInfo)
118
115
  };
119
116
  this.annotationFileChanges.push(internal);
120
117
  }
121
118
  }
122
119
  insertEmbeddedAnnotation(file, fileMergeMaps, aliasInfo, change) {
123
120
  const { reference, content } = change;
124
- const { targetPointer, internalPointer } = (0, avt_1.findAnnotationByReference)(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
121
+ const { targetPointer, internalPointer } = findAnnotationByReference(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
125
122
  const internal = {
126
- type: types_1.INSERT_ELEMENT,
123
+ type: INSERT_ELEMENT,
127
124
  uri: change.uri,
128
125
  target: change.reference.target,
129
- element: (0, avt_1.convertAnnotationToInternal)(content.value, aliasInfo),
126
+ element: convertAnnotationToInternal(content.value, aliasInfo),
130
127
  pointer: targetPointer + internalPointer,
131
128
  index: change.index
132
129
  };
@@ -134,37 +131,37 @@ class ChangeConverter {
134
131
  }
135
132
  convertInsert(file, fileMergeMaps, aliasInfo, change) {
136
133
  const { reference, content } = change;
137
- const { element, targetPointer: pointer, internalPointer } = (0, avt_1.findAnnotationByReference)(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
138
- const index = change.kind === types_1.ChangeType.Insert ? change.index : undefined;
134
+ const { element, targetPointer: pointer, internalPointer } = findAnnotationByReference(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
135
+ const index = change.kind === ChangeType.Insert ? change.index : undefined;
139
136
  if (content.type === 'record') {
140
137
  const internal = {
141
- type: types_1.INSERT_ELEMENT,
138
+ type: INSERT_ELEMENT,
142
139
  uri: change.uri,
143
140
  target: change.reference.target,
144
141
  pointer: pointer + internalPointer,
145
- element: (0, avt_1.convertRecordToInternal)(aliasInfo, content.value),
142
+ element: convertRecordToInternal(aliasInfo, content.value),
146
143
  index
147
144
  };
148
145
  this.annotationFileChanges.push(internal);
149
146
  }
150
147
  else if (content.type === 'property-value') {
151
148
  const internal = {
152
- type: types_1.INSERT_ELEMENT,
149
+ type: INSERT_ELEMENT,
153
150
  uri: change.uri,
154
151
  target: change.reference.target,
155
152
  pointer: pointer + internalPointer,
156
- element: (0, avt_1.convertPropertyValueToInternal)(aliasInfo, content.value),
153
+ element: convertPropertyValueToInternal(aliasInfo, content.value),
157
154
  index
158
155
  };
159
156
  this.annotationFileChanges.push(internal);
160
157
  }
161
158
  else if (content.type === 'collection') {
162
159
  const internal = {
163
- type: types_1.INSERT_ELEMENT,
160
+ type: INSERT_ELEMENT,
164
161
  uri: change.uri,
165
162
  target: change.reference.target,
166
163
  pointer: pointer + internalPointer,
167
- element: (0, avt_1.convertCollectionToInternal)(aliasInfo, content.value),
164
+ element: convertCollectionToInternal(aliasInfo, content.value),
168
165
  index
169
166
  };
170
167
  this.annotationFileChanges.push(internal);
@@ -177,12 +174,12 @@ class ChangeConverter {
177
174
  }
178
175
  }
179
176
  convertInsertExpression(file, aliasInfoMod, pointer, change, content, index) {
180
- const node = (0, utils_1.getGenericNodeFromPointer)(file, pointer);
181
- if (node?.type === odata_annotation_core_types_1.ELEMENT_TYPE && node.name === "Collection" /* Edm.Collection */) {
182
- const expression = (0, avt_1.convertExpressionToInternal)(aliasInfoMod, content.value);
177
+ const node = getGenericNodeFromPointer(file, pointer);
178
+ if (node?.type === ELEMENT_TYPE && node.name === Edm.Collection) {
179
+ const expression = convertExpressionToInternal(aliasInfoMod, content.value);
183
180
  if (expression) {
184
181
  const internal = {
185
- type: types_1.INSERT_ELEMENT,
182
+ type: INSERT_ELEMENT,
186
183
  uri: change.uri,
187
184
  target: change.reference.target,
188
185
  pointer: pointer,
@@ -193,12 +190,12 @@ class ChangeConverter {
193
190
  }
194
191
  }
195
192
  else {
196
- const container = (0, avt_1.convertExpressionToInternal)(aliasInfoMod, content.value, (0, odata_annotation_core_types_1.createElementNode)({ name: 'placeholder' }));
193
+ const container = convertExpressionToInternal(aliasInfoMod, content.value, createElementNode({ name: 'placeholder' }));
197
194
  if (container) {
198
195
  const expression = container.content[0];
199
- if (expression?.type === odata_annotation_core_types_1.ELEMENT_TYPE) {
196
+ if (expression?.type === ELEMENT_TYPE) {
200
197
  const internal = {
201
- type: types_1.INSERT_ELEMENT,
198
+ type: INSERT_ELEMENT,
202
199
  uri: change.uri,
203
200
  target: change.reference.target,
204
201
  pointer: pointer,
@@ -211,7 +208,7 @@ class ChangeConverter {
211
208
  else if (Object.keys(container.attributes).length > 0) {
212
209
  const attribute = container.attributes[Object.keys(container.attributes)[0]];
213
210
  const internal = {
214
- type: types_1.INSERT_ATTRIBUTE,
211
+ type: INSERT_ATTRIBUTE,
215
212
  uri: change.uri,
216
213
  pointer: pointer,
217
214
  name: attribute.name,
@@ -224,15 +221,15 @@ class ChangeConverter {
224
221
  }
225
222
  }
226
223
  convertInsertPrimitive(element, aliasInfoMod, pointer, internalPointer, change, content, index) {
227
- if (content.expressionType === types_1.ExpressionType.Unknown) {
228
- const attributePointer = (0, avt_1.convertPointerInAnnotationToInternal)(element,
224
+ if (content.expressionType === ExpressionType.Unknown) {
225
+ const attributePointer = convertPointerInAnnotationToInternal(element,
229
226
  // last segment is used to determine attribute name
230
227
  change.pointer.split('/').slice(0, -1).join('/'));
231
228
  const attributeName = getAttributeNameFromPointer(change.pointer);
232
229
  if (attributeName) {
233
- const value = (0, avt_1.convertPrimitiveValueToInternal)(attributeName, content.value, aliasInfoMod);
230
+ const value = convertPrimitiveValueToInternal(attributeName, content.value, aliasInfoMod);
234
231
  const internal = {
235
- type: types_1.INSERT_ATTRIBUTE,
232
+ type: INSERT_ATTRIBUTE,
236
233
  uri: change.uri,
237
234
  pointer: pointer + attributePointer,
238
235
  name: attributeName,
@@ -241,20 +238,20 @@ class ChangeConverter {
241
238
  this.annotationFileChanges.push(internal);
242
239
  }
243
240
  }
244
- else if (content.expressionType === types_1.ExpressionType.Null) {
241
+ else if (content.expressionType === ExpressionType.Null) {
245
242
  const internal = {
246
- type: types_1.INSERT_ELEMENT,
243
+ type: INSERT_ELEMENT,
247
244
  uri: change.uri,
248
245
  target: change.reference.target,
249
246
  pointer: pointer + internalPointer,
250
- element: (0, odata_annotation_core_types_1.createElementNode)({ name: "Null" /* Edm.Null */ }),
247
+ element: createElementNode({ name: Edm.Null }),
251
248
  index
252
249
  };
253
250
  this.annotationFileChanges.push(internal);
254
251
  }
255
252
  else if (typeof content.expressionType === 'string') {
256
253
  const internal = {
257
- type: types_1.INSERT_ATTRIBUTE,
254
+ type: INSERT_ATTRIBUTE,
258
255
  uri: change.uri,
259
256
  pointer: pointer + internalPointer,
260
257
  name: content.expressionType,
@@ -265,7 +262,7 @@ class ChangeConverter {
265
262
  }
266
263
  convertDelete(file, fileMergeMaps, aliasInfo, change) {
267
264
  const { reference } = change;
268
- const { target, targetPointer: pointer, internalPointer } = (0, avt_1.findAnnotationByReference)(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
265
+ const { target, targetPointer: pointer, internalPointer } = findAnnotationByReference(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
269
266
  // look for attribute pointer suffix e.g attributes/Qualifier/value
270
267
  const suffix = internalPointer.split('/').slice(-3);
271
268
  if (suffix[0] === 'attributes' && suffix.length === 3) {
@@ -273,7 +270,7 @@ class ChangeConverter {
273
270
  const [, , property] = suffix;
274
271
  if (property === 'value') {
275
272
  const internal = {
276
- type: types_1.DELETE_ATTRIBUTE,
273
+ type: DELETE_ATTRIBUTE,
277
274
  uri: change.uri,
278
275
  pointer: pointer + internalPointer.split('/').slice(0, -1).join('/')
279
276
  };
@@ -282,7 +279,7 @@ class ChangeConverter {
282
279
  }
283
280
  else if (change.pointer === '') {
284
281
  const internal = {
285
- type: types_1.DELETE_ELEMENT,
282
+ type: DELETE_ELEMENT,
286
283
  target: target.name,
287
284
  uri: change.uri,
288
285
  pointer: pointer
@@ -291,7 +288,7 @@ class ChangeConverter {
291
288
  }
292
289
  else if (internalPointer !== '') {
293
290
  const internal = {
294
- type: types_1.DELETE_ELEMENT,
291
+ type: DELETE_ELEMENT,
295
292
  uri: change.uri,
296
293
  target: target.name,
297
294
  pointer: pointer + internalPointer
@@ -302,7 +299,7 @@ class ChangeConverter {
302
299
  convertUpdate(file, fileMergeMaps, aliasInfo, schemaProvider, change) {
303
300
  const { reference, content } = change;
304
301
  const valueType = this.getValueType(schemaProvider, change);
305
- const { element, targetPointer: pointer, internalPointer } = (0, avt_1.findAnnotationByReference)(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport, valueType);
302
+ const { element, targetPointer: pointer, internalPointer } = findAnnotationByReference(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport, valueType);
306
303
  if (internalPointer === '') {
307
304
  // value does not exist, treat this as insert
308
305
  this.convertInsert(file, fileMergeMaps, aliasInfo, change);
@@ -316,11 +313,11 @@ class ChangeConverter {
316
313
  this.convertUpdateAttribute(aliasInfo, attributeName, property, pointer, internalPointer, change);
317
314
  }
318
315
  else if (content.type === 'expression' && content.value.type === 'Collection') {
319
- const node = (0, utils_1.getGenericNodeFromPointer)(file, pointer + internalPointer);
320
- const newElement = (0, avt_1.convertExpressionToInternal)(aliasInfo, content.value);
321
- if (node?.type === odata_annotation_core_types_1.ELEMENT_TYPE && newElement) {
316
+ const node = getGenericNodeFromPointer(file, pointer + internalPointer);
317
+ const newElement = convertExpressionToInternal(aliasInfo, content.value);
318
+ if (node?.type === ELEMENT_TYPE && newElement) {
322
319
  const internalChange = {
323
- type: types_1.REPLACE_ELEMENT,
320
+ type: REPLACE_ELEMENT,
324
321
  uri: change.uri,
325
322
  pointer: pointer + internalPointer,
326
323
  newElement
@@ -332,7 +329,7 @@ class ChangeConverter {
332
329
  this.convertUpdateExpression(file, aliasInfo, content, pointer + internalPointer, valueType, reference.target);
333
330
  }
334
331
  else if (content.type === 'primitive' && content.value !== undefined) {
335
- const internalPointerForPrimitiveValues = (0, avt_1.convertPointerInAnnotationToInternal)(element, change.pointer, content.expressionType);
332
+ const internalPointerForPrimitiveValues = convertPointerInAnnotationToInternal(element, change.pointer, content.expressionType);
336
333
  const replaceTextPointer = pointer + internalPointerForPrimitiveValues + '/text';
337
334
  this.convertUpdatePrimitiveValue(file, aliasInfo, content, pointer + internalPointer, replaceTextPointer);
338
335
  }
@@ -340,7 +337,7 @@ class ChangeConverter {
340
337
  const element = convertChangeToElement(aliasInfo, file, change);
341
338
  if (element) {
342
339
  const internal = {
343
- type: types_1.REPLACE_ELEMENT,
340
+ type: REPLACE_ELEMENT,
344
341
  uri: change.uri,
345
342
  pointer: pointer + internalPointer,
346
343
  newElement: element
@@ -353,9 +350,9 @@ class ChangeConverter {
353
350
  const value = this.getAttributeValue(change.content);
354
351
  if (property === 'value' && value !== undefined) {
355
352
  const type = this.getPrimitiveValueType(change.content) ?? attributeName;
356
- const newValue = (0, avt_1.convertPrimitiveValueToInternal)(type, value, aliasInfo);
353
+ const newValue = convertPrimitiveValueToInternal(type, value, aliasInfo);
357
354
  const internal = {
358
- type: types_1.UPDATE_ATTRIBUTE_VALUE,
355
+ type: UPDATE_ATTRIBUTE_VALUE,
359
356
  uri: change.uri,
360
357
  pointer: pointer + internalPointer.split('/').slice(0, -1).join('/'),
361
358
  newValue
@@ -365,13 +362,13 @@ class ChangeConverter {
365
362
  }
366
363
  getPrimitiveValueType(content) {
367
364
  if (content.type === 'primitive') {
368
- if (content.expressionType === types_1.ExpressionType.Unknown) {
365
+ if (content.expressionType === ExpressionType.Unknown) {
369
366
  return undefined;
370
367
  }
371
368
  return content.expressionType;
372
369
  }
373
370
  if (content.type === 'expression') {
374
- if (content.value.type === types_1.ExpressionType.Unknown) {
371
+ if (content.value.type === ExpressionType.Unknown) {
375
372
  return undefined;
376
373
  }
377
374
  return content.value.type;
@@ -392,15 +389,15 @@ class ChangeConverter {
392
389
  }
393
390
  convertUpdateExpression(file, aliasInfo, content, pointer, valueType, targetName) {
394
391
  const rawPrimitiveValue = this.getExpressionValue(content);
395
- const newValue = (0, avt_1.convertPrimitiveValueToInternal)(content.value.type, rawPrimitiveValue, aliasInfo);
392
+ const newValue = convertPrimitiveValueToInternal(content.value.type, rawPrimitiveValue, aliasInfo);
396
393
  const type = valueType ?? content.value.type;
397
- const node = (0, utils_1.getGenericNodeFromPointer)(file, pointer);
398
- if (node?.type === odata_annotation_core_types_1.ELEMENT_TYPE) {
394
+ const node = getGenericNodeFromPointer(file, pointer);
395
+ if (node?.type === ELEMENT_TYPE) {
399
396
  const onlyChangeValue = content.previousType === undefined && content.value.type === valueType;
400
397
  if (onlyChangeValue && node.attributes[type]) {
401
398
  // attribute notation
402
399
  const internalChange = {
403
- type: types_1.UPDATE_ATTRIBUTE_VALUE,
400
+ type: UPDATE_ATTRIBUTE_VALUE,
404
401
  uri: file.uri,
405
402
  pointer: pointer + `/attributes/${type}`,
406
403
  newValue
@@ -410,17 +407,17 @@ class ChangeConverter {
410
407
  else if (onlyChangeValue && node.name === valueType) {
411
408
  // element notation
412
409
  const internalChange = {
413
- type: types_1.REPLACE_ELEMENT_CONTENT,
410
+ type: REPLACE_ELEMENT_CONTENT,
414
411
  uri: file.uri,
415
412
  pointer: pointer,
416
- newValue: [(0, odata_annotation_core_types_1.createTextNode)(newValue)]
413
+ newValue: [createTextNode(newValue)]
417
414
  };
418
415
  this.annotationFileChanges.push(internalChange);
419
416
  }
420
417
  else if (node.attributes[type]) {
421
418
  // attribute notation
422
419
  this.annotationFileChanges.push({
423
- type: types_1.REPLACE_ATTRIBUTE,
420
+ type: REPLACE_ATTRIBUTE,
424
421
  uri: file.uri,
425
422
  pointer: pointer + `/attributes/${type}`,
426
423
  newAttributeName: content.value.type,
@@ -430,14 +427,14 @@ class ChangeConverter {
430
427
  else if (node.name === valueType) {
431
428
  // element notation
432
429
  const childContent = [];
433
- if (content.value.type !== "Null" /* Edm.Null */) {
434
- childContent.push((0, odata_annotation_core_types_1.createTextNode)(newValue));
430
+ if (content.value.type !== Edm.Null) {
431
+ childContent.push(createTextNode(newValue));
435
432
  }
436
433
  const internalChange = {
437
- type: types_1.REPLACE_ELEMENT,
434
+ type: REPLACE_ELEMENT,
438
435
  uri: file.uri,
439
436
  pointer: pointer,
440
- newElement: (0, odata_annotation_core_types_1.createElementNode)({
437
+ newElement: createElementNode({
441
438
  name: content.value.type,
442
439
  content: childContent
443
440
  })
@@ -445,7 +442,7 @@ class ChangeConverter {
445
442
  this.annotationFileChanges.push(internalChange);
446
443
  }
447
444
  }
448
- else if (node?.type === odata_annotation_core_types_1.ATTRIBUTE_TYPE) {
445
+ else if (node?.type === ATTRIBUTE_TYPE) {
449
446
  this.convertUpdateExpressionForAttrributeType(file.uri, targetName, valueType, content, pointer, newValue);
450
447
  }
451
448
  }
@@ -453,31 +450,31 @@ class ChangeConverter {
453
450
  if (content.previousType === undefined && content.value.type === valueType) {
454
451
  // attribute notation
455
452
  const internalChange = {
456
- type: types_1.UPDATE_ATTRIBUTE_VALUE,
453
+ type: UPDATE_ATTRIBUTE_VALUE,
457
454
  uri: fileUri,
458
455
  pointer: pointer,
459
456
  newValue
460
457
  };
461
458
  this.annotationFileChanges.push(internalChange);
462
459
  }
463
- else if (content.value.type === "Null" /* Edm.Null */) {
460
+ else if (content.value.type === Edm.Null) {
464
461
  this.annotationFileChanges.push({
465
- type: types_1.DELETE_ATTRIBUTE,
462
+ type: DELETE_ATTRIBUTE,
466
463
  uri: fileUri,
467
464
  pointer: pointer
468
465
  });
469
466
  this.annotationFileChanges.push({
470
- type: types_1.INSERT_ELEMENT,
467
+ type: INSERT_ELEMENT,
471
468
  uri: fileUri,
472
469
  target: targetName,
473
470
  pointer: pointer.split('/').slice(0, -2).join('/'),
474
- element: (0, odata_annotation_core_types_1.createElementNode)({ name: "Null" /* Edm.Null */ })
471
+ element: createElementNode({ name: Edm.Null })
475
472
  });
476
473
  }
477
474
  else {
478
475
  // attribute notation
479
476
  const internalChange = {
480
- type: types_1.REPLACE_ATTRIBUTE,
477
+ type: REPLACE_ATTRIBUTE,
481
478
  uri: fileUri,
482
479
  pointer: pointer,
483
480
  newAttributeName: content.value.type,
@@ -487,34 +484,34 @@ class ChangeConverter {
487
484
  }
488
485
  }
489
486
  convertUpdatePrimitiveValue(file, aliasInfo, content, pointer, replaceTextPointer) {
490
- const newValue = (0, avt_1.convertPrimitiveValueToInternal)(content.expressionType ?? '', content.value, aliasInfo);
491
- const node = (0, utils_1.getGenericNodeFromPointer)(file, pointer);
492
- if (node?.type === odata_annotation_core_types_1.TEXT_TYPE) {
487
+ const newValue = convertPrimitiveValueToInternal(content.expressionType ?? '', content.value, aliasInfo);
488
+ const node = getGenericNodeFromPointer(file, pointer);
489
+ if (node?.type === TEXT_TYPE) {
493
490
  const containerPointer = pointer.split('/').slice(0, -2).join('/');
494
- const container = (0, utils_1.getGenericNodeFromPointer)(file, containerPointer);
495
- if (container?.type === odata_annotation_core_types_1.ELEMENT_TYPE &&
491
+ const container = getGenericNodeFromPointer(file, containerPointer);
492
+ if (container?.type === ELEMENT_TYPE &&
496
493
  content.expressionType &&
497
494
  container.name !== content.expressionType) {
498
495
  const internal = {
499
- type: types_1.REPLACE_ELEMENT,
496
+ type: REPLACE_ELEMENT,
500
497
  uri: file.uri,
501
498
  pointer: containerPointer,
502
- newElement: (0, odata_annotation_core_types_1.createElementNode)({
499
+ newElement: createElementNode({
503
500
  name: content.expressionType,
504
- content: [(0, odata_annotation_core_types_1.createTextNode)(newValue)]
501
+ content: [createTextNode(newValue)]
505
502
  })
506
503
  };
507
504
  this.annotationFileChanges.push(internal);
508
505
  return;
509
506
  }
510
507
  }
511
- else if (node?.type === odata_annotation_core_types_1.ELEMENT_TYPE &&
508
+ else if (node?.type === ELEMENT_TYPE &&
512
509
  content.expressionType &&
513
510
  replaceTextPointer.split('/').includes('attributes')) {
514
511
  const oldAttributeName = replaceTextPointer.split('/').slice(-2)[0];
515
512
  if (node.attributes[content.expressionType]) {
516
513
  const internal = {
517
- type: types_1.UPDATE_ATTRIBUTE_VALUE,
514
+ type: UPDATE_ATTRIBUTE_VALUE,
518
515
  uri: file.uri,
519
516
  pointer: `${pointer}/attributes/${content.expressionType}`,
520
517
  newValue
@@ -524,7 +521,7 @@ class ChangeConverter {
524
521
  }
525
522
  else {
526
523
  const internal = {
527
- type: types_1.REPLACE_ATTRIBUTE,
524
+ type: REPLACE_ATTRIBUTE,
528
525
  uri: file.uri,
529
526
  pointer: `${pointer}/attributes/${oldAttributeName}`,
530
527
  newAttributeName: content.expressionType,
@@ -535,24 +532,24 @@ class ChangeConverter {
535
532
  }
536
533
  }
537
534
  const internal = {
538
- type: types_1.REPLACE_TEXT,
535
+ type: REPLACE_TEXT,
539
536
  uri: file.uri,
540
537
  pointer: replaceTextPointer,
541
- text: (0, odata_annotation_core_types_1.createTextNode)(newValue)
538
+ text: createTextNode(newValue)
542
539
  };
543
540
  this.annotationFileChanges.push(internal);
544
541
  }
545
542
  convertMove(file, fileMergeMaps, aliasInfo, change) {
546
543
  const { reference, index, moveReference } = change;
547
- const { targetPointer: pointer, internalPointer } = (0, avt_1.findAnnotationByReference)(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
544
+ const { targetPointer: pointer, internalPointer } = findAnnotationByReference(aliasInfo, file, fileMergeMaps[change.uri], reference, change.pointer, this.splitAnnotationSupport);
548
545
  const internal = {
549
- type: types_1.MOVE_ELEMENT,
546
+ type: MOVE_ELEMENT,
550
547
  uri: change.uri,
551
548
  pointer: pointer + internalPointer,
552
549
  index: index,
553
550
  fromPointers: moveReference.reduce((acc, moveRef) => {
554
551
  acc.push(...moveRef.fromPointer.map((fromPointer) => {
555
- const { targetPointer: fromTargetPointer, internalPointer: internalFromPointer } = (0, avt_1.findAnnotationByReference)(aliasInfo, file, fileMergeMaps[change.uri], moveRef.reference ?? change.reference, fromPointer, this.splitAnnotationSupport);
552
+ const { targetPointer: fromTargetPointer, internalPointer: internalFromPointer } = findAnnotationByReference(aliasInfo, file, fileMergeMaps[change.uri], moveRef.reference ?? change.reference, fromPointer, this.splitAnnotationSupport);
556
553
  return fromTargetPointer + internalFromPointer;
557
554
  }));
558
555
  return acc;
@@ -566,10 +563,10 @@ class ChangeConverter {
566
563
  const file = this.getFile(compiledService, uri);
567
564
  const aliasInfoMod = this.getAliasInformation(file);
568
565
  for (const [targetName, inserts] of changesForUri) {
569
- const target = (0, odata_annotation_core_types_1.createTarget)(targetName);
570
- target.terms = inserts.map((change) => (0, avt_1.convertAnnotationToInternal)(change.content.value, aliasInfoMod));
566
+ const target = createTarget(targetName);
567
+ target.terms = inserts.map((change) => convertAnnotationToInternal(change.content.value, aliasInfoMod));
571
568
  const internal = {
572
- type: types_1.INSERT_TARGET,
569
+ type: INSERT_TARGET,
573
570
  uri: uri,
574
571
  target
575
572
  };
@@ -597,15 +594,15 @@ class ChangeConverter {
597
594
  getValueTypeFromSchema(schemaProvider, change) {
598
595
  const { reference, uri, pointer } = change;
599
596
  const annotationLists = schemaProvider().schema.annotations[uri] ?? [];
600
- const annotation = (0, avt_1.findAnnotation)(annotationLists, reference);
597
+ const annotation = findAnnotation(annotationLists, reference);
601
598
  if (!annotation) {
602
- const refString = (0, utils_1.annotationReferenceToString)(reference, uri);
603
- throw new error_1.ApiError(`Could not find annotation '${refString}' in file '${uri}'.`, error_1.ApiErrorCode.General);
599
+ const refString = annotationReferenceToString(reference, uri);
600
+ throw new ApiError(`Could not find annotation '${refString}' in file '${uri}'.`, ApiErrorCode.General);
604
601
  }
605
- const node = (0, avt_1.getAvtNodeFromPointer)(annotation, pointer);
602
+ const node = getAvtNodeFromPointer(annotation, pointer);
606
603
  if (!node) {
607
- const refString = (0, utils_1.annotationReferenceToString)(reference, uri);
608
- throw new error_1.ApiError(`Could not resolve pointer '${pointer}' from annotation '${refString}'.`, error_1.ApiErrorCode.General);
604
+ const refString = annotationReferenceToString(reference, uri);
605
+ throw new ApiError(`Could not resolve pointer '${pointer}' from annotation '${refString}'.`, ApiErrorCode.General);
609
606
  }
610
607
  if (this.isExpression(node)) {
611
608
  return node.type;
@@ -620,9 +617,9 @@ class ChangeConverter {
620
617
  if (cachedValue) {
621
618
  return cachedValue;
622
619
  }
623
- const namespaces = (0, odata_annotation_core_1.getAllNamespacesAndReferences)(file.namespace ?? { name: this.serviceName, type: 'namespace' }, file.references);
624
- const aliasInfo = (0, odata_annotation_core_1.getAliasInformation)(namespaces, this.metadataService.getNamespaces());
625
- const aliasInfoWithAllVocabularies = (0, vocabularies_1.addAllVocabulariesToAliasInformation)(aliasInfo, this.vocabularyAPI.getVocabularies());
620
+ const namespaces = getAllNamespacesAndReferences(file.namespace ?? { name: this.serviceName, type: 'namespace' }, file.references);
621
+ const aliasInfo = getAliasInformation(namespaces, this.metadataService.getNamespaces());
622
+ const aliasInfoWithAllVocabularies = addAllVocabulariesToAliasInformation(aliasInfo, this.vocabularyAPI.getVocabularies());
626
623
  this.aliasInfoCache[file.uri] = aliasInfoWithAllVocabularies;
627
624
  return aliasInfoWithAllVocabularies;
628
625
  }
@@ -632,28 +629,27 @@ class ChangeConverter {
632
629
  this.annotationFileChanges = [];
633
630
  }
634
631
  }
635
- exports.ChangeConverter = ChangeConverter;
636
632
  function mergeChanges(changes) {
637
633
  const result = [];
638
634
  const inserts = changes
639
- .filter((change) => change.kind === types_1.ChangeType.InsertAnnotation)
635
+ .filter((change) => change.kind === ChangeType.InsertAnnotation)
640
636
  .reduce((acc, change) => {
641
637
  const reference = {
642
638
  target: change.content.target,
643
639
  term: change.content.value.term,
644
640
  qualifier: change.content.value.qualifier
645
641
  };
646
- const key = (0, utils_1.annotationReferenceToString)(reference, change.uri);
642
+ const key = annotationReferenceToString(reference, change.uri);
647
643
  acc.set(key, change);
648
644
  return acc;
649
645
  }, new Map());
650
646
  for (const change of changes) {
651
- if (change.kind === types_1.ChangeType.InsertAnnotation) {
647
+ if (change.kind === ChangeType.InsertAnnotation) {
652
648
  // don't do anything with annotation inserts
653
649
  result.push(change);
654
650
  continue;
655
651
  }
656
- const key = (0, utils_1.annotationReferenceToString)(change.reference, change.uri);
652
+ const key = annotationReferenceToString(change.reference, change.uri);
657
653
  const insert = inserts.get(key);
658
654
  if (!insert) {
659
655
  // reference should exist -> continue normally
@@ -666,9 +662,9 @@ function mergeChanges(changes) {
666
662
  return result;
667
663
  }
668
664
  function mergeChange(target, source) {
669
- const reference = (0, utils_1.annotationReferenceToString)(source.reference, source.uri);
665
+ const reference = annotationReferenceToString(source.reference, source.uri);
670
666
  switch (source.kind) {
671
- case types_1.ChangeType.InsertEmbeddedAnnotation: {
667
+ case ChangeType.InsertEmbeddedAnnotation: {
672
668
  if (target.content.value.annotations) {
673
669
  target.content.value.annotations.push(source.content.value);
674
670
  }
@@ -677,10 +673,10 @@ function mergeChange(target, source) {
677
673
  }
678
674
  return;
679
675
  }
680
- case types_1.ChangeType.Insert: {
681
- const node = (0, avt_1.getAvtNodeFromPointer)(target.content.value, source.pointer);
676
+ case ChangeType.Insert: {
677
+ const node = getAvtNodeFromPointer(target.content.value, source.pointer);
682
678
  if (!node) {
683
- throw new error_1.ApiError(`Change merge for '${reference}' failed! Could not resolve '${source.pointer}'.`, error_1.ApiErrorCode.General);
679
+ throw new ApiError(`Change merge for '${reference}' failed! Could not resolve '${source.pointer}'.`, ApiErrorCode.General);
684
680
  }
685
681
  if (Array.isArray(node) && source.content.type === 'record') {
686
682
  if (source.index === undefined || source.index >= node.length) {
@@ -691,34 +687,34 @@ function mergeChange(target, source) {
691
687
  }
692
688
  return;
693
689
  }
694
- throw new error_1.ApiError(`Change merge for '${reference}' failed! Change value type '${source.content.type}' is not supported.`, error_1.ApiErrorCode.General);
690
+ throw new ApiError(`Change merge for '${reference}' failed! Change value type '${source.content.type}' is not supported.`, ApiErrorCode.General);
695
691
  }
696
692
  default:
697
693
  break;
698
694
  }
699
- throw new error_1.ApiError(`Change merge for '${reference}' failed! Change type '${source.kind}' is not supported.`, error_1.ApiErrorCode.General);
695
+ throw new ApiError(`Change merge for '${reference}' failed! Change type '${source.kind}' is not supported.`, ApiErrorCode.General);
700
696
  }
701
697
  function convertChangeToElement(aliasInfoMod, file, change) {
702
698
  if (change.content.type === 'record') {
703
699
  const { content } = change;
704
- return (0, avt_1.convertRecordToInternal)(aliasInfoMod, content.value);
700
+ return convertRecordToInternal(aliasInfoMod, content.value);
705
701
  }
706
702
  else if (change.content.type === 'property-value') {
707
703
  const { content } = change;
708
- return (0, avt_1.convertPropertyValueToInternal)(aliasInfoMod, content.value);
704
+ return convertPropertyValueToInternal(aliasInfoMod, content.value);
709
705
  }
710
706
  else if (change.content.type === 'collection') {
711
707
  const { content } = change;
712
- return (0, avt_1.convertCollectionToInternal)(aliasInfoMod, content.value);
708
+ return convertCollectionToInternal(aliasInfoMod, content.value);
713
709
  }
714
710
  else if (change.content.type === 'expression') {
715
711
  const { content } = change;
716
- return (0, avt_1.convertExpressionToInternal)(aliasInfoMod, content.value);
712
+ return convertExpressionToInternal(aliasInfoMod, content.value);
717
713
  }
718
714
  else if (change.content.type === 'primitive') {
719
715
  const { content } = change;
720
- if (content.expressionType === types_1.ExpressionType.Null) {
721
- return (0, odata_annotation_core_types_1.createElementNode)({ name: "Null" /* Edm.Null */ });
716
+ if (content.expressionType === ExpressionType.Null) {
717
+ return createElementNode({ name: Edm.Null });
722
718
  }
723
719
  }
724
720
  return undefined;