@sap-ux/fiori-annotation-api 0.1.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/LICENSE +201 -0
- package/Readme.md +35 -0
- package/dist/avt/annotations.d.ts +72 -0
- package/dist/avt/annotations.d.ts.map +1 -0
- package/dist/avt/annotations.js +508 -0
- package/dist/avt/annotations.js.map +1 -0
- package/dist/avt/expressions.d.ts +13 -0
- package/dist/avt/expressions.d.ts.map +1 -0
- package/dist/avt/expressions.js +34 -0
- package/dist/avt/expressions.js.map +1 -0
- package/dist/avt/find.d.ts +39 -0
- package/dist/avt/find.d.ts.map +1 -0
- package/dist/avt/find.js +130 -0
- package/dist/avt/find.js.map +1 -0
- package/dist/avt/index.d.ts +9 -0
- package/dist/avt/index.d.ts.map +1 -0
- package/dist/avt/index.js +32 -0
- package/dist/avt/index.js.map +1 -0
- package/dist/avt/metadata.d.ts +10 -0
- package/dist/avt/metadata.d.ts.map +1 -0
- package/dist/avt/metadata.js +346 -0
- package/dist/avt/metadata.js.map +1 -0
- package/dist/avt/pointer.d.ts +12 -0
- package/dist/avt/pointer.d.ts.map +1 -0
- package/dist/avt/pointer.js +188 -0
- package/dist/avt/pointer.js.map +1 -0
- package/dist/avt/to-internal.d.ts +81 -0
- package/dist/avt/to-internal.d.ts.map +1 -0
- package/dist/avt/to-internal.js +340 -0
- package/dist/avt/to-internal.js.map +1 -0
- package/dist/avt/types.d.ts +3 -0
- package/dist/avt/types.d.ts.map +1 -0
- package/dist/avt/types.js +3 -0
- package/dist/avt/types.js.map +1 -0
- package/dist/avt/utils.d.ts +61 -0
- package/dist/avt/utils.d.ts.map +1 -0
- package/dist/avt/utils.js +87 -0
- package/dist/avt/utils.js.map +1 -0
- package/dist/cds/adapter.d.ts +112 -0
- package/dist/cds/adapter.d.ts.map +1 -0
- package/dist/cds/adapter.js +703 -0
- package/dist/cds/adapter.js.map +1 -0
- package/dist/cds/cds-compiler-tokens.d.ts +30 -0
- package/dist/cds/cds-compiler-tokens.d.ts.map +1 -0
- package/dist/cds/cds-compiler-tokens.js +57 -0
- package/dist/cds/cds-compiler-tokens.js.map +1 -0
- package/dist/cds/change.d.ts +347 -0
- package/dist/cds/change.d.ts.map +1 -0
- package/dist/cds/change.js +232 -0
- package/dist/cds/change.js.map +1 -0
- package/dist/cds/comments.d.ts +15 -0
- package/dist/cds/comments.d.ts.map +1 -0
- package/dist/cds/comments.js +56 -0
- package/dist/cds/comments.js.map +1 -0
- package/dist/cds/deletion.d.ts +59 -0
- package/dist/cds/deletion.d.ts.map +1 -0
- package/dist/cds/deletion.js +821 -0
- package/dist/cds/deletion.js.map +1 -0
- package/dist/cds/document.d.ts +52 -0
- package/dist/cds/document.d.ts.map +1 -0
- package/dist/cds/document.js +98 -0
- package/dist/cds/document.js.map +1 -0
- package/dist/cds/indent.d.ts +20 -0
- package/dist/cds/indent.d.ts.map +1 -0
- package/dist/cds/indent.js +86 -0
- package/dist/cds/indent.js.map +1 -0
- package/dist/cds/index.d.ts +3 -0
- package/dist/cds/index.d.ts.map +1 -0
- package/dist/cds/index.js +21 -0
- package/dist/cds/index.js.map +1 -0
- package/dist/cds/pointer.d.ts +23 -0
- package/dist/cds/pointer.d.ts.map +1 -0
- package/dist/cds/pointer.js +438 -0
- package/dist/cds/pointer.js.map +1 -0
- package/dist/cds/preprocessor.d.ts +12 -0
- package/dist/cds/preprocessor.d.ts.map +1 -0
- package/dist/cds/preprocessor.js +338 -0
- package/dist/cds/preprocessor.js.map +1 -0
- package/dist/cds/references.d.ts +35 -0
- package/dist/cds/references.d.ts.map +1 -0
- package/dist/cds/references.js +413 -0
- package/dist/cds/references.js.map +1 -0
- package/dist/cds/service.d.ts +11 -0
- package/dist/cds/service.d.ts.map +1 -0
- package/dist/cds/service.js +37 -0
- package/dist/cds/service.js.map +1 -0
- package/dist/cds/utils.d.ts +35 -0
- package/dist/cds/utils.d.ts.map +1 -0
- package/dist/cds/utils.js +75 -0
- package/dist/cds/utils.js.map +1 -0
- package/dist/cds/writer.d.ts +104 -0
- package/dist/cds/writer.d.ts.map +1 -0
- package/dist/cds/writer.js +1086 -0
- package/dist/cds/writer.js.map +1 -0
- package/dist/change-converter.d.ts +54 -0
- package/dist/change-converter.d.ts.map +1 -0
- package/dist/change-converter.js +639 -0
- package/dist/change-converter.js.map +1 -0
- package/dist/error.d.ts +35 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +64 -0
- package/dist/error.js.map +1 -0
- package/dist/fiori-service.d.ts +130 -0
- package/dist/fiori-service.d.ts.map +1 -0
- package/dist/fiori-service.js +362 -0
- package/dist/fiori-service.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/protected.d.ts +3 -0
- package/dist/protected.d.ts.map +1 -0
- package/dist/protected.js +11 -0
- package/dist/protected.js.map +1 -0
- package/dist/types/adapter.d.ts +46 -0
- package/dist/types/adapter.d.ts.map +1 -0
- package/dist/types/adapter.js +3 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/change.d.ts +187 -0
- package/dist/types/change.d.ts.map +1 -0
- package/dist/types/change.js +52 -0
- package/dist/types/change.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +33 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/internal-change.d.ts +98 -0
- package/dist/types/internal-change.d.ts.map +1 -0
- package/dist/types/internal-change.js +18 -0
- package/dist/types/internal-change.js.map +1 -0
- package/dist/types/project-info.d.ts +6 -0
- package/dist/types/project-info.d.ts.map +1 -0
- package/dist/types/project-info.js +3 -0
- package/dist/types/project-info.js.map +1 -0
- package/dist/types/service.d.ts +27 -0
- package/dist/types/service.d.ts.map +1 -0
- package/dist/types/service.js +3 -0
- package/dist/types/service.js.map +1 -0
- package/dist/types/text-file.d.ts +12 -0
- package/dist/types/text-file.d.ts.map +1 -0
- package/dist/types/text-file.js +3 -0
- package/dist/types/text-file.js.map +1 -0
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +24 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/indent.d.ts +10 -0
- package/dist/utils/indent.d.ts.map +1 -0
- package/dist/utils/indent.js +36 -0
- package/dist/utils/indent.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/path.d.ts +8 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +31 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/pointer.d.ts +11 -0
- package/dist/utils/pointer.d.ts.map +1 -0
- package/dist/utils/pointer.js +26 -0
- package/dist/utils/pointer.js.map +1 -0
- package/dist/utils/reference.d.ts +10 -0
- package/dist/utils/reference.d.ts.map +1 -0
- package/dist/utils/reference.js +20 -0
- package/dist/utils/reference.js.map +1 -0
- package/dist/utils/text-edits.d.ts +12 -0
- package/dist/utils/text-edits.d.ts.map +1 -0
- package/dist/utils/text-edits.js +29 -0
- package/dist/utils/text-edits.js.map +1 -0
- package/dist/vocabularies.d.ts +11 -0
- package/dist/vocabularies.d.ts.map +1 -0
- package/dist/vocabularies.js +26 -0
- package/dist/vocabularies.js.map +1 -0
- package/dist/xml/adapter.d.ts +85 -0
- package/dist/xml/adapter.d.ts.map +1 -0
- package/dist/xml/adapter.js +579 -0
- package/dist/xml/adapter.js.map +1 -0
- package/dist/xml/changes.d.ts +117 -0
- package/dist/xml/changes.d.ts.map +1 -0
- package/dist/xml/changes.js +34 -0
- package/dist/xml/changes.js.map +1 -0
- package/dist/xml/comments.d.ts +17 -0
- package/dist/xml/comments.d.ts.map +1 -0
- package/dist/xml/comments.js +49 -0
- package/dist/xml/comments.js.map +1 -0
- package/dist/xml/document.d.ts +11 -0
- package/dist/xml/document.d.ts.map +1 -0
- package/dist/xml/document.js +3 -0
- package/dist/xml/document.js.map +1 -0
- package/dist/xml/index.d.ts +3 -0
- package/dist/xml/index.d.ts.map +1 -0
- package/dist/xml/index.js +8 -0
- package/dist/xml/index.js.map +1 -0
- package/dist/xml/pointer.d.ts +10 -0
- package/dist/xml/pointer.d.ts.map +1 -0
- package/dist/xml/pointer.js +29 -0
- package/dist/xml/pointer.js.map +1 -0
- package/dist/xml/references.d.ts +9 -0
- package/dist/xml/references.d.ts.map +1 -0
- package/dist/xml/references.js +87 -0
- package/dist/xml/references.js.map +1 -0
- package/dist/xml/service.d.ts +12 -0
- package/dist/xml/service.d.ts.map +1 -0
- package/dist/xml/service.js +55 -0
- package/dist/xml/service.js.map +1 -0
- package/dist/xml/writer.d.ts +39 -0
- package/dist/xml/writer.d.ts.map +1 -0
- package/dist/xml/writer.js +855 -0
- package/dist/xml/writer.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertPointerInAnnotationToInternal = void 0;
|
|
4
|
+
const odata_annotation_core_types_1 = require("@sap-ux/odata-annotation-core-types");
|
|
5
|
+
const expressions_1 = require("./expressions");
|
|
6
|
+
/*
|
|
7
|
+
Fiori Annotation API uses paths (in JsonPointer format) to specify locations inside a (non embedded) annotation value.
|
|
8
|
+
|
|
9
|
+
Annotation values are represented as in internal annotation file representation (Element, Attribute, TextNode) and
|
|
10
|
+
paths therein use JsonPointer format.
|
|
11
|
+
|
|
12
|
+
Remark: Internal representation of annotation value has more flexibility (choice between attribute and sub element notation)
|
|
13
|
+
Hence - converting path to internal needs to have the actual internal representation.
|
|
14
|
+
Also: error situations can occur in internal representation, which cannot be expressed in AVT format (e.g. multiple values for a PropertyValue)
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Convert path in annotation to internal representation.
|
|
18
|
+
*
|
|
19
|
+
* @param annotation - Internal representation element.
|
|
20
|
+
* @param pointer - path in external representation
|
|
21
|
+
* @param valueType - Current value type
|
|
22
|
+
* @returns Pointer to an internal representation node.
|
|
23
|
+
*/
|
|
24
|
+
function convertPointerInAnnotationToInternal(annotation, pointer, valueType) {
|
|
25
|
+
// e.g.
|
|
26
|
+
// "/record/propertyValues/3/value/Collection/0/PropertyPath"
|
|
27
|
+
// into "/content/0/content/3/content/0/content/0/text"
|
|
28
|
+
// based on
|
|
29
|
+
/*
|
|
30
|
+
<Annotation Term="UI.Chart">
|
|
31
|
+
<Record Type="UI.ChartDefinitionType">
|
|
32
|
+
<PropertyValue Property="Title" String="Sales Data"/>
|
|
33
|
+
<PropertyValue Property="Description" String="Sales"/>
|
|
34
|
+
<PropertyValue Property="ChartType" EnumMember="UI.ChartType/Bar"/>
|
|
35
|
+
<PropertyValue Property="Dimensions">
|
|
36
|
+
<Collection>
|
|
37
|
+
<PropertyPath>Revenue</PropertyPath> // <<<====
|
|
38
|
+
*/
|
|
39
|
+
let path = [''];
|
|
40
|
+
const segments = pointer.split('/').filter((segment) => !!segment);
|
|
41
|
+
let currentElement = annotation;
|
|
42
|
+
let indexedSubElementName; // '' is valid value when looking for all sub element names
|
|
43
|
+
segments.forEach((segment) => {
|
|
44
|
+
if (!currentElement || !path) {
|
|
45
|
+
// further path segments but no element to resolve it: error
|
|
46
|
+
path = [];
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
let result = { subElementIndex: -1 };
|
|
50
|
+
switch (segment) {
|
|
51
|
+
case 'annotations':
|
|
52
|
+
// n'th Annotation sub element should represent n'th embedded annotation
|
|
53
|
+
indexedSubElementName = "Annotation" /* Edm.Annotation */;
|
|
54
|
+
break;
|
|
55
|
+
case 'record':
|
|
56
|
+
case 'Record':
|
|
57
|
+
// must be record sub element
|
|
58
|
+
result = findSubElement(currentElement, "Record" /* Edm.Record */, 0);
|
|
59
|
+
break;
|
|
60
|
+
case 'propertyValues':
|
|
61
|
+
// n'th PropertyValue sub element should represent n'th entry in propertyValues
|
|
62
|
+
indexedSubElementName = "PropertyValue" /* Edm.PropertyValue */;
|
|
63
|
+
break;
|
|
64
|
+
case 'collection':
|
|
65
|
+
case 'Collection':
|
|
66
|
+
// just goto n'th subElement
|
|
67
|
+
result = findSubElement(currentElement, "Collection" /* Edm.Collection */, 0);
|
|
68
|
+
indexedSubElementName = '';
|
|
69
|
+
break;
|
|
70
|
+
case 'value':
|
|
71
|
+
// if last segment: stay on current element, if further segments follow: they are handled in default
|
|
72
|
+
path.push(...handleExpressionValueSegment(currentElement, valueType));
|
|
73
|
+
break;
|
|
74
|
+
case 'type':
|
|
75
|
+
// type attribute in a Record
|
|
76
|
+
path.push('attributes', 'Type', 'value');
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
if (isNaN(Number(segment))) {
|
|
80
|
+
// segment is not an index
|
|
81
|
+
const { subElement, clearPath, pathSegments } = handleStringSegment(segment, currentElement);
|
|
82
|
+
result.subElement = subElement;
|
|
83
|
+
path = clearPath ? [] : [...path, ...(pathSegments !== null && pathSegments !== void 0 ? pathSegments : [])];
|
|
84
|
+
}
|
|
85
|
+
else if (indexedSubElementName !== null) {
|
|
86
|
+
// segment is an index - find sub element with specific name
|
|
87
|
+
result = findSubElement(currentElement, indexedSubElementName, Number(segment));
|
|
88
|
+
indexedSubElementName = undefined;
|
|
89
|
+
}
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
if ((result === null || result === void 0 ? void 0 : result.subElementIndex) >= 0) {
|
|
93
|
+
path.push('content', result.subElementIndex.toString());
|
|
94
|
+
}
|
|
95
|
+
if (result === null || result === void 0 ? void 0 : result.subElement) {
|
|
96
|
+
currentElement = result.subElement;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return path.join('/');
|
|
100
|
+
}
|
|
101
|
+
exports.convertPointerInAnnotationToInternal = convertPointerInAnnotationToInternal;
|
|
102
|
+
function handleExpressionValueSegment(currentElement, valueType) {
|
|
103
|
+
if (valueType === undefined) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
if (currentElement.attributes[valueType]) {
|
|
107
|
+
return ['attributes', valueType];
|
|
108
|
+
}
|
|
109
|
+
const elementIndex = currentElement.content.findIndex((element) => element.type === odata_annotation_core_types_1.ELEMENT_TYPE && element.name === valueType);
|
|
110
|
+
if (elementIndex !== -1) {
|
|
111
|
+
return ['content', elementIndex.toString()];
|
|
112
|
+
}
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
function handleStringSegment(segment, currentElement) {
|
|
116
|
+
if (expressions_1.expressionNames[segment]) {
|
|
117
|
+
// primitive type name; represented either as attribute or text sub node; should be the last segment
|
|
118
|
+
return handleExpressionNameSegment(currentElement, segment);
|
|
119
|
+
}
|
|
120
|
+
else if (currentElement.attributes[firstCharToUpper(segment)]) {
|
|
121
|
+
// can be qualifier, term, type: all are EDMX attribute names
|
|
122
|
+
return { pathSegments: ['attributes', firstCharToUpper(segment), 'value'] };
|
|
123
|
+
}
|
|
124
|
+
else if (segment === 'name') {
|
|
125
|
+
// propertyValue.name is value of EDMX attribute 'Property'
|
|
126
|
+
return { pathSegments: ['attributes', "Property" /* Edm.Property */, 'value'] };
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
return { clearPath: true };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function handleExpressionNameSegment(currentElement, segment) {
|
|
133
|
+
if (currentElement === null || currentElement === void 0 ? void 0 : currentElement.attributes[segment]) {
|
|
134
|
+
// primitive type name represented as attribute
|
|
135
|
+
return { pathSegments: ['attributes', segment, 'value'] };
|
|
136
|
+
}
|
|
137
|
+
if (currentElement.name === segment) {
|
|
138
|
+
// point to first text node
|
|
139
|
+
const firstTextNodeIndex = getFirstTextNodeIndex(currentElement);
|
|
140
|
+
if (firstTextNodeIndex < 0) {
|
|
141
|
+
return { clearPath: true };
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
return { pathSegments: ['content', firstTextNodeIndex.toString()] };
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// find sub node representing primitive value and point to it's first text node
|
|
148
|
+
const { subElement, subElementIndex } = findSubElement(currentElement, segment, 0);
|
|
149
|
+
if (subElementIndex < 0) {
|
|
150
|
+
return { clearPath: true, subElement };
|
|
151
|
+
}
|
|
152
|
+
// subElementIndex found
|
|
153
|
+
const pathSegments = ['content', subElementIndex.toString()];
|
|
154
|
+
const firstTextNodeIndex = getFirstTextNodeIndex(currentElement.content[subElementIndex]);
|
|
155
|
+
if (firstTextNodeIndex < 0) {
|
|
156
|
+
return { clearPath: true, subElement };
|
|
157
|
+
}
|
|
158
|
+
pathSegments.push('content', firstTextNodeIndex.toString());
|
|
159
|
+
return { subElement, pathSegments };
|
|
160
|
+
}
|
|
161
|
+
function getFirstTextNodeIndex(element) {
|
|
162
|
+
return element.content.findIndex((subNode) => subNode.type === odata_annotation_core_types_1.TEXT_TYPE);
|
|
163
|
+
}
|
|
164
|
+
function findSubElement(element, subElementName, occurrence) {
|
|
165
|
+
const result = {
|
|
166
|
+
subElementIndex: -1
|
|
167
|
+
};
|
|
168
|
+
let currentMatchIndex = -1;
|
|
169
|
+
for (let index = 0; index < element.content.length; index++) {
|
|
170
|
+
const child = element.content[index];
|
|
171
|
+
if (child.type === odata_annotation_core_types_1.ELEMENT_TYPE && (!subElementName || child.name === subElementName)) {
|
|
172
|
+
currentMatchIndex++;
|
|
173
|
+
if (currentMatchIndex === occurrence) {
|
|
174
|
+
result.subElement = child;
|
|
175
|
+
result.subElementIndex = index;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return result;
|
|
180
|
+
}
|
|
181
|
+
function firstCharToUpper(source) {
|
|
182
|
+
let out = source;
|
|
183
|
+
if (source) {
|
|
184
|
+
out = source.slice(0, 1).toUpperCase() + source.slice(1);
|
|
185
|
+
}
|
|
186
|
+
return out;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=pointer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer.js","sourceRoot":"","sources":["../../src/avt/pointer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { AnnotationRecord, Apply, Collection, Expression, PropertyValue, RawAnnotation } from '@sap-ux/vocabularies-types';
|
|
2
|
+
import type { AliasInformation, Element, ElementChild, Target } from '@sap-ux/odata-annotation-core-types';
|
|
3
|
+
import type { AnnotationListWithOrigins } from './annotations';
|
|
4
|
+
/**
|
|
5
|
+
* Convert target annotations to internal format.
|
|
6
|
+
*
|
|
7
|
+
* @param targetAnnotations - AVT annotation list
|
|
8
|
+
* @param aliasInfo - Alias Information.
|
|
9
|
+
* @returns Internal representation of the Target.
|
|
10
|
+
*/
|
|
11
|
+
export declare function convertTargetAnnotationsToInternal(targetAnnotations: AnnotationListWithOrigins, aliasInfo: AliasInformation): Target;
|
|
12
|
+
/**
|
|
13
|
+
* Build empty target (generic annotation file format).
|
|
14
|
+
*
|
|
15
|
+
* @param path - Target name.
|
|
16
|
+
* @returns Internal representation of the target.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildEmptyTarget(path: string): Target;
|
|
19
|
+
/**
|
|
20
|
+
* Convert annotation to internal format.
|
|
21
|
+
*
|
|
22
|
+
* @param annotation - Annotation.
|
|
23
|
+
* @param aliasInfo - Alias Information.
|
|
24
|
+
* @returns Internal representation of the annotation.
|
|
25
|
+
*/
|
|
26
|
+
export declare function convertAnnotationToInternal(annotation: RawAnnotation, aliasInfo: AliasInformation): Element;
|
|
27
|
+
/**
|
|
28
|
+
* Convert collection to internal format.
|
|
29
|
+
*
|
|
30
|
+
* @param aliasInfo - Alias Information.
|
|
31
|
+
* @param collection - Collection.
|
|
32
|
+
* @returns Internal representation of the collection.
|
|
33
|
+
*/
|
|
34
|
+
export declare function convertCollectionToInternal(aliasInfo: AliasInformation, collection: Collection): Element;
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @param aliasInfo - Alias Information.
|
|
38
|
+
* @param entry - Collection entry.
|
|
39
|
+
* @returns Internal representation of the collection entry.
|
|
40
|
+
*/
|
|
41
|
+
export declare function convertCollectionElement(aliasInfo: AliasInformation, entry: Collection[number]): ElementChild | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Convert record to internal format.
|
|
44
|
+
*
|
|
45
|
+
* @param aliasInfo - Alias Information.
|
|
46
|
+
* @param record - Record.
|
|
47
|
+
* @returns Internal representation of the record.
|
|
48
|
+
*/
|
|
49
|
+
export declare function convertRecordToInternal(aliasInfo: AliasInformation, record: AnnotationRecord): Element;
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @param aliasInfo - Alias Information.
|
|
53
|
+
* @param propertyValue - Property value.
|
|
54
|
+
* @returns Internal representation of the property value.
|
|
55
|
+
*/
|
|
56
|
+
export declare function convertPropertyValueToInternal(aliasInfo: AliasInformation, propertyValue: PropertyValue): Element;
|
|
57
|
+
/**
|
|
58
|
+
* Convert expression to internal representation.
|
|
59
|
+
*
|
|
60
|
+
* @param aliasInfo - Alias Information.
|
|
61
|
+
* @param value - Expression value.
|
|
62
|
+
* @param hostElement add value to this element as host (e.g. add for elements Annotation and PropertyValue)
|
|
63
|
+
* @returns Internal representation of the expression.
|
|
64
|
+
*/
|
|
65
|
+
export declare function convertExpressionToInternal(aliasInfo: AliasInformation, value: Expression, hostElement?: Element): Element | undefined;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @param aliasInfo - Alias Information.
|
|
69
|
+
* @param apply - Apply expression.
|
|
70
|
+
* @returns Internal representation of apply.
|
|
71
|
+
*/
|
|
72
|
+
export declare function convertApplyToInternal(aliasInfo: AliasInformation, apply: Apply): Element;
|
|
73
|
+
/**
|
|
74
|
+
*
|
|
75
|
+
* @param type - Type of primitive value.
|
|
76
|
+
* @param value - Primitive value.
|
|
77
|
+
* @param aliasInfo - Alias Information.
|
|
78
|
+
* @returns Internal representation of primitive value
|
|
79
|
+
*/
|
|
80
|
+
export declare function convertPrimitiveValueToInternal(type: string, value: string | number | boolean, aliasInfo: AliasInformation): string;
|
|
81
|
+
//# sourceMappingURL=to-internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-internal.d.ts","sourceRoot":"","sources":["../../src/avt/to-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAa,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAWtH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAC9C,iBAAiB,EAAE,yBAAyB,EAC5C,SAAS,EAAE,gBAAgB,GAC5B,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CA0B3G;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CASxG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAC1B,YAAY,GAAG,SAAS,CAgB1B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAoBtG;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAYjH;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,OAAO,GACtB,OAAO,GAAG,SAAS,CA6CrB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAIzF;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,SAAS,EAAE,gBAAgB,GAC5B,MAAM,CAaR"}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertPrimitiveValueToInternal = exports.convertApplyToInternal = exports.convertExpressionToInternal = exports.convertPropertyValueToInternal = exports.convertRecordToInternal = exports.convertCollectionElement = exports.convertCollectionToInternal = exports.convertAnnotationToInternal = exports.buildEmptyTarget = exports.convertTargetAnnotationsToInternal = void 0;
|
|
4
|
+
const odata_annotation_core_1 = require("@sap-ux/odata-annotation-core");
|
|
5
|
+
const odata_annotation_core_types_1 = require("@sap-ux/odata-annotation-core-types");
|
|
6
|
+
const expressions_1 = require("./expressions");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
/**
|
|
9
|
+
* Convert target annotations to internal format.
|
|
10
|
+
*
|
|
11
|
+
* @param targetAnnotations - AVT annotation list
|
|
12
|
+
* @param aliasInfo - Alias Information.
|
|
13
|
+
* @returns Internal representation of the Target.
|
|
14
|
+
*/
|
|
15
|
+
function convertTargetAnnotationsToInternal(targetAnnotations, aliasInfo) {
|
|
16
|
+
const target = buildEmptyTarget(getAliasedPath(aliasInfo, targetAnnotations.target));
|
|
17
|
+
target.terms = targetAnnotations.annotations.map((annotation) => convertAnnotationToInternal(annotation, aliasInfo));
|
|
18
|
+
return target;
|
|
19
|
+
}
|
|
20
|
+
exports.convertTargetAnnotationsToInternal = convertTargetAnnotationsToInternal;
|
|
21
|
+
/**
|
|
22
|
+
* Build empty target (generic annotation file format).
|
|
23
|
+
*
|
|
24
|
+
* @param path - Target name.
|
|
25
|
+
* @returns Internal representation of the target.
|
|
26
|
+
*/
|
|
27
|
+
function buildEmptyTarget(path) {
|
|
28
|
+
return { type: 'target', name: path, terms: [], range: undefined, nameRange: undefined, termsRange: undefined };
|
|
29
|
+
}
|
|
30
|
+
exports.buildEmptyTarget = buildEmptyTarget;
|
|
31
|
+
/**
|
|
32
|
+
* Convert annotation to internal format.
|
|
33
|
+
*
|
|
34
|
+
* @param annotation - Annotation.
|
|
35
|
+
* @param aliasInfo - Alias Information.
|
|
36
|
+
* @returns Internal representation of the annotation.
|
|
37
|
+
*/
|
|
38
|
+
function convertAnnotationToInternal(annotation, aliasInfo) {
|
|
39
|
+
var _a;
|
|
40
|
+
const annotationElement = (0, odata_annotation_core_types_1.createElementNode)({ name: "Annotation" /* Edm.Annotation */ });
|
|
41
|
+
annotationElement.attributes["Term" /* Edm.Term */] = (0, odata_annotation_core_types_1.createAttributeNode)("Term" /* Edm.Term */, (0, odata_annotation_core_1.toAliasQualifiedName)(annotation.term, aliasInfo));
|
|
42
|
+
if (annotation.qualifier) {
|
|
43
|
+
annotationElement.attributes["Qualifier" /* Edm.Qualifier */] = (0, odata_annotation_core_types_1.createAttributeNode)("Qualifier" /* Edm.Qualifier */, annotation.qualifier);
|
|
44
|
+
}
|
|
45
|
+
if (annotation.collection) {
|
|
46
|
+
annotationElement.content = annotationElement.content || [];
|
|
47
|
+
annotationElement.content.push(convertCollectionToInternal(aliasInfo, annotation.collection));
|
|
48
|
+
}
|
|
49
|
+
else if (annotation.record) {
|
|
50
|
+
annotationElement.content = annotationElement.content || [];
|
|
51
|
+
annotationElement.content.push(convertRecordToInternal(aliasInfo, annotation.record));
|
|
52
|
+
}
|
|
53
|
+
else if (annotation.value) {
|
|
54
|
+
convertExpressionToInternal(aliasInfo, annotation.value, annotationElement);
|
|
55
|
+
}
|
|
56
|
+
if ((_a = annotation.annotations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
57
|
+
// add embedded annotations
|
|
58
|
+
annotation.annotations.forEach((annotation) => {
|
|
59
|
+
annotationElement.content = annotationElement.content || [];
|
|
60
|
+
annotationElement.content.push(convertAnnotationToInternal(annotation, aliasInfo));
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return annotationElement;
|
|
64
|
+
}
|
|
65
|
+
exports.convertAnnotationToInternal = convertAnnotationToInternal;
|
|
66
|
+
/**
|
|
67
|
+
* Convert collection to internal format.
|
|
68
|
+
*
|
|
69
|
+
* @param aliasInfo - Alias Information.
|
|
70
|
+
* @param collection - Collection.
|
|
71
|
+
* @returns Internal representation of the collection.
|
|
72
|
+
*/
|
|
73
|
+
function convertCollectionToInternal(aliasInfo, collection) {
|
|
74
|
+
const collectionElement = (0, odata_annotation_core_types_1.createElementNode)({ name: "Collection" /* Edm.Collection */ });
|
|
75
|
+
for (const entry of collection) {
|
|
76
|
+
const entryNode = convertCollectionElement(aliasInfo, entry);
|
|
77
|
+
if (entryNode) {
|
|
78
|
+
collectionElement.content.push(entryNode);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return collectionElement;
|
|
82
|
+
}
|
|
83
|
+
exports.convertCollectionToInternal = convertCollectionToInternal;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @param aliasInfo - Alias Information.
|
|
87
|
+
* @param entry - Collection entry.
|
|
88
|
+
* @returns Internal representation of the collection entry.
|
|
89
|
+
*/
|
|
90
|
+
function convertCollectionElement(aliasInfo, entry) {
|
|
91
|
+
if (typeof entry === 'object') {
|
|
92
|
+
if ((0, expressions_1.isExpression)(entry)) {
|
|
93
|
+
// entry is expression
|
|
94
|
+
return convertExpressionToInternal(aliasInfo, entry);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// entry must be record
|
|
98
|
+
return convertRecordToInternal(aliasInfo, entry);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else if (typeof entry === 'string') {
|
|
102
|
+
return (0, odata_annotation_core_types_1.createElementNode)({ name: "String" /* Edm.String */, content: [(0, odata_annotation_core_types_1.createTextNode)(entry.toString())] });
|
|
103
|
+
}
|
|
104
|
+
else if (typeof entry === 'boolean') {
|
|
105
|
+
// obvious extension of annotation.record definition
|
|
106
|
+
return (0, odata_annotation_core_types_1.createElementNode)({ name: "Bool" /* Edm.Bool */, content: [(0, odata_annotation_core_types_1.createTextNode)(entry ? 'true' : 'false')] });
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
exports.convertCollectionElement = convertCollectionElement;
|
|
111
|
+
/**
|
|
112
|
+
* Convert record to internal format.
|
|
113
|
+
*
|
|
114
|
+
* @param aliasInfo - Alias Information.
|
|
115
|
+
* @param record - Record.
|
|
116
|
+
* @returns Internal representation of the record.
|
|
117
|
+
*/
|
|
118
|
+
function convertRecordToInternal(aliasInfo, record) {
|
|
119
|
+
var _a;
|
|
120
|
+
const recordElement = (0, odata_annotation_core_types_1.createElementNode)({ name: "Record" /* Edm.Record */ });
|
|
121
|
+
if (record.type) {
|
|
122
|
+
recordElement.attributes["Type" /* Edm.Type */] = (0, odata_annotation_core_types_1.createAttributeNode)("Type" /* Edm.Type */, (0, odata_annotation_core_1.toAliasQualifiedName)(record.type, aliasInfo));
|
|
123
|
+
}
|
|
124
|
+
record.propertyValues.forEach((propertyValue) => {
|
|
125
|
+
const propValueElement = convertPropertyValueToInternal(aliasInfo, propertyValue);
|
|
126
|
+
recordElement.content.push(propValueElement);
|
|
127
|
+
});
|
|
128
|
+
if ((_a = record.annotations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
129
|
+
// add embedded annotations
|
|
130
|
+
recordElement.content = recordElement.content || [];
|
|
131
|
+
record.annotations.forEach((annotation) => {
|
|
132
|
+
recordElement.content.push(convertAnnotationToInternal(annotation, aliasInfo));
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
return recordElement;
|
|
136
|
+
}
|
|
137
|
+
exports.convertRecordToInternal = convertRecordToInternal;
|
|
138
|
+
/**
|
|
139
|
+
*
|
|
140
|
+
* @param aliasInfo - Alias Information.
|
|
141
|
+
* @param propertyValue - Property value.
|
|
142
|
+
* @returns Internal representation of the property value.
|
|
143
|
+
*/
|
|
144
|
+
function convertPropertyValueToInternal(aliasInfo, propertyValue) {
|
|
145
|
+
var _a;
|
|
146
|
+
const propValueElement = (0, odata_annotation_core_types_1.createElementNode)({ name: "PropertyValue" /* Edm.PropertyValue */ });
|
|
147
|
+
propValueElement.attributes["Property" /* Edm.Property */] = (0, odata_annotation_core_types_1.createAttributeNode)("Property" /* Edm.Property */, propertyValue.name);
|
|
148
|
+
convertExpressionToInternal(aliasInfo, propertyValue.value, propValueElement);
|
|
149
|
+
if ((_a = propertyValue.annotations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
150
|
+
// add embedded annotations
|
|
151
|
+
propValueElement.content = propValueElement.content || [];
|
|
152
|
+
propertyValue.annotations.forEach((annotation) => {
|
|
153
|
+
propValueElement.content.push(convertAnnotationToInternal(annotation, aliasInfo));
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return propValueElement;
|
|
157
|
+
}
|
|
158
|
+
exports.convertPropertyValueToInternal = convertPropertyValueToInternal;
|
|
159
|
+
/**
|
|
160
|
+
* Convert expression to internal representation.
|
|
161
|
+
*
|
|
162
|
+
* @param aliasInfo - Alias Information.
|
|
163
|
+
* @param value - Expression value.
|
|
164
|
+
* @param hostElement add value to this element as host (e.g. add for elements Annotation and PropertyValue)
|
|
165
|
+
* @returns Internal representation of the expression.
|
|
166
|
+
*/
|
|
167
|
+
function convertExpressionToInternal(aliasInfo, value, hostElement) {
|
|
168
|
+
const elementName = expressions_1.expressionNames[value.type] ? value.type : '';
|
|
169
|
+
let element = hostElement !== null && hostElement !== void 0 ? hostElement : (elementName ? (0, odata_annotation_core_types_1.createElementNode)({ name: elementName }) : undefined);
|
|
170
|
+
if (!element) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
let collectionElement;
|
|
174
|
+
let recordElement;
|
|
175
|
+
let nullElement;
|
|
176
|
+
let primitiveValue;
|
|
177
|
+
switch (value.type) {
|
|
178
|
+
case 'Collection':
|
|
179
|
+
collectionElement = convertCollectionToInternal(aliasInfo, value.Collection);
|
|
180
|
+
element = consumeElement(element, collectionElement, hostElement);
|
|
181
|
+
break;
|
|
182
|
+
case 'Record':
|
|
183
|
+
recordElement = convertRecordToInternal(aliasInfo, value.Record);
|
|
184
|
+
element = consumeElement(element, recordElement, hostElement);
|
|
185
|
+
break;
|
|
186
|
+
case 'Apply':
|
|
187
|
+
recordElement = convertApplyToInternal(aliasInfo, value.Apply);
|
|
188
|
+
element = consumeElement(element, recordElement, hostElement);
|
|
189
|
+
break;
|
|
190
|
+
case 'Null':
|
|
191
|
+
nullElement = (0, odata_annotation_core_types_1.createElementNode)({ name: elementName });
|
|
192
|
+
element = consumeElement(element, nullElement, hostElement);
|
|
193
|
+
break;
|
|
194
|
+
case 'Unknown':
|
|
195
|
+
return undefined;
|
|
196
|
+
default: {
|
|
197
|
+
// value type is EDMX primitive expression
|
|
198
|
+
const rawPrimitiveValue = value[value.type]; // There is always a property with on the object as type name, Typescript does not infer this case as expected
|
|
199
|
+
primitiveValue = convertPrimitiveValueToInternal(value.type, rawPrimitiveValue, aliasInfo);
|
|
200
|
+
if (hostElement) {
|
|
201
|
+
// add value to host element as attribute
|
|
202
|
+
element.attributes = element.attributes || {};
|
|
203
|
+
element.attributes[value.type] = (0, odata_annotation_core_types_1.createAttributeNode)(value.type, primitiveValue);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
// add value as single text sub node
|
|
207
|
+
element.content.push((0, odata_annotation_core_types_1.createTextNode)(primitiveValue));
|
|
208
|
+
}
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return element;
|
|
213
|
+
}
|
|
214
|
+
exports.convertExpressionToInternal = convertExpressionToInternal;
|
|
215
|
+
/**
|
|
216
|
+
*
|
|
217
|
+
* @param aliasInfo - Alias Information.
|
|
218
|
+
* @param apply - Apply expression.
|
|
219
|
+
* @returns Internal representation of apply.
|
|
220
|
+
*/
|
|
221
|
+
function convertApplyToInternal(aliasInfo, apply) {
|
|
222
|
+
// Apply value is regular internal representation (without alias)
|
|
223
|
+
const clone = JSON.parse(JSON.stringify(apply));
|
|
224
|
+
return replaceAliasInElement(clone, aliasInfo, true);
|
|
225
|
+
}
|
|
226
|
+
exports.convertApplyToInternal = convertApplyToInternal;
|
|
227
|
+
/**
|
|
228
|
+
*
|
|
229
|
+
* @param type - Type of primitive value.
|
|
230
|
+
* @param value - Primitive value.
|
|
231
|
+
* @param aliasInfo - Alias Information.
|
|
232
|
+
* @returns Internal representation of primitive value
|
|
233
|
+
*/
|
|
234
|
+
function convertPrimitiveValueToInternal(type, value, aliasInfo) {
|
|
235
|
+
const text = value.toString();
|
|
236
|
+
if (!text) {
|
|
237
|
+
return text;
|
|
238
|
+
}
|
|
239
|
+
else if (type === "EnumMember" /* Edm.EnumMember */) {
|
|
240
|
+
return (0, utils_1.getAliasedEnumMember)(aliasInfo, text);
|
|
241
|
+
}
|
|
242
|
+
else if (type.indexOf('Path') >= 0) {
|
|
243
|
+
return getAliasedPath(aliasInfo, text);
|
|
244
|
+
}
|
|
245
|
+
else if (type === "Type" /* Edm.Type */ || type === "Term" /* Edm.Term */) {
|
|
246
|
+
return (0, odata_annotation_core_1.toAliasQualifiedName)(text, aliasInfo);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
return text;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
exports.convertPrimitiveValueToInternal = convertPrimitiveValueToInternal;
|
|
253
|
+
function consumeElement(element, collectionElement, hostElement) {
|
|
254
|
+
if (hostElement) {
|
|
255
|
+
element.content = element.content || [];
|
|
256
|
+
element.content.push(collectionElement); // add whole collection as sub element
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
element = collectionElement;
|
|
260
|
+
}
|
|
261
|
+
return element;
|
|
262
|
+
}
|
|
263
|
+
function replaceAliasInElement(element, aliasInfo, reverse) {
|
|
264
|
+
// replace aliases in all attributes/sub nodes with full namespaces (reverse = true ? vice versa):
|
|
265
|
+
const result = element;
|
|
266
|
+
removeEmptyTextNodes(result);
|
|
267
|
+
replaceAliasInAttributes(result, aliasInfo, reverse);
|
|
268
|
+
replaceAliasInSubNodes(result, aliasInfo, reverse);
|
|
269
|
+
return result;
|
|
270
|
+
}
|
|
271
|
+
function replaceAliasInAttributes(result, aliasInfo, reverse) {
|
|
272
|
+
// in attributes: term or type attributes, enumValue and any path values provided as attributes
|
|
273
|
+
Object.keys(result.attributes || {}).forEach((attributeName) => {
|
|
274
|
+
var _a;
|
|
275
|
+
const attribute = result.attributes[attributeName];
|
|
276
|
+
switch (attributeName) {
|
|
277
|
+
case "Term" /* Edm.Term */:
|
|
278
|
+
case "Type" /* Edm.Type */:
|
|
279
|
+
attribute.value = reverse
|
|
280
|
+
? (0, odata_annotation_core_1.toAliasQualifiedName)(attribute.value, aliasInfo)
|
|
281
|
+
: (_a = (0, odata_annotation_core_1.resolveName)(attribute.value, aliasInfo.aliasMap)) === null || _a === void 0 ? void 0 : _a.qName;
|
|
282
|
+
break;
|
|
283
|
+
case "EnumMember" /* Edm.EnumMember */:
|
|
284
|
+
attribute.value = reverse
|
|
285
|
+
? (0, utils_1.getAliasedEnumMember)(aliasInfo, attribute.value)
|
|
286
|
+
: (0, utils_1.resolveEnumMemberValue)(aliasInfo.aliasMap, aliasInfo.currentFileNamespace, attribute.value);
|
|
287
|
+
break;
|
|
288
|
+
default:
|
|
289
|
+
if (attributeName.endsWith('Path')) {
|
|
290
|
+
attribute.value = reverse
|
|
291
|
+
? getAliasedPath(aliasInfo, attribute.value)
|
|
292
|
+
: (0, utils_1.resolvePath)(aliasInfo.aliasMap, aliasInfo.currentFileNamespace, attribute.value);
|
|
293
|
+
}
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
function replaceAliasInSubNodes(result, aliasInfo, reverse) {
|
|
299
|
+
for (const subNode of result.content) {
|
|
300
|
+
if (subNode.type === odata_annotation_core_types_1.ELEMENT_TYPE) {
|
|
301
|
+
replaceAliasInElement(subNode, aliasInfo, reverse);
|
|
302
|
+
}
|
|
303
|
+
else if (subNode.type === odata_annotation_core_types_1.TEXT_TYPE && result.name === "EnumMember" /* Edm.EnumMember */) {
|
|
304
|
+
subNode.text = reverse
|
|
305
|
+
? (0, utils_1.getAliasedEnumMember)(aliasInfo, subNode.text)
|
|
306
|
+
: (0, utils_1.resolveEnumMemberValue)(aliasInfo.aliasMap, aliasInfo.currentFileNamespace, subNode.text);
|
|
307
|
+
}
|
|
308
|
+
else if (subNode.type === odata_annotation_core_types_1.TEXT_TYPE && result.name.endsWith('Path')) {
|
|
309
|
+
subNode.text = reverse
|
|
310
|
+
? getAliasedPath(aliasInfo, subNode.text)
|
|
311
|
+
: (0, utils_1.resolvePath)(aliasInfo.aliasMap, aliasInfo.currentFileNamespace, subNode.text);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
function removeEmptyTextNodes(result) {
|
|
316
|
+
var _a;
|
|
317
|
+
if (((_a = result.content) !== null && _a !== void 0 ? _a : []).some((entry) => entry.type === odata_annotation_core_types_1.ELEMENT_TYPE)) {
|
|
318
|
+
// sub elements present: filter out empty text nodes
|
|
319
|
+
result.content = result.content.filter((entry) => { var _a; return !(entry.type === odata_annotation_core_types_1.TEXT_TYPE && !((_a = entry.text) !== null && _a !== void 0 ? _a : '').trim()); });
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function getAliasedSegment(aliasInfo, segment) {
|
|
323
|
+
const [path, term] = segment.split('@');
|
|
324
|
+
if (term) {
|
|
325
|
+
return `${path}@${(0, odata_annotation_core_1.toAliasQualifiedName)(term, aliasInfo)}`;
|
|
326
|
+
}
|
|
327
|
+
else if (segment.indexOf('.') > -1) {
|
|
328
|
+
return (0, odata_annotation_core_1.toAliasQualifiedName)(segment, aliasInfo);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
return segment;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
function getAliasedPath(aliasInfo, path) {
|
|
335
|
+
return path
|
|
336
|
+
.split('/')
|
|
337
|
+
.map((segment) => getAliasedSegment(aliasInfo, segment))
|
|
338
|
+
.join('/');
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=to-internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-internal.js","sourceRoot":"","sources":["../../src/avt/to-internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { RawAnnotation, AnnotationRecord, PropertyValue, Expression, Collection, AnnotationList } from '@sap-ux/vocabularies-types';
|
|
2
|
+
export type AVTNode = RawAnnotation | AnnotationRecord | PropertyValue | Expression | Collection | AnnotationList;
|
|
3
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/avt/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,UAAU,EACV,cAAc,EACjB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,gBAAgB,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC"}
|