@sap-ux/fiori-annotation-api 0.11.1 → 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,16 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CDS_DOCUMENT_TYPE = void 0;
4
- exports.getDocument = getDocument;
5
- exports.getGhostFileDocument = getGhostFileDocument;
6
- exports.getChildCount = getChildCount;
7
- exports.getItems = getItems;
8
- const node_url_1 = require("node:url");
9
- const odata_annotation_core_types_1 = require("@sap-ux/odata-annotation-core-types");
10
- const cds_odata_annotation_converter_1 = require("@sap-ux/cds-odata-annotation-converter");
11
- const utils_1 = require("../utils");
12
- const comments_1 = require("./comments");
13
- exports.CDS_DOCUMENT_TYPE = 'document';
1
+ import { fileURLToPath } from 'node:url';
2
+ import { Range } from '@sap-ux/odata-annotation-core-types';
3
+ import { toAnnotationFile, toTargetMap } from '@sap-ux/cds-odata-annotation-converter';
4
+ import { compareByRange, pathFromUri } from '../utils/index.js';
5
+ import { collectComments } from './comments.js';
6
+ export const CDS_DOCUMENT_TYPE = 'document';
14
7
  /**
15
8
  * Creates CDS document.
16
9
  *
@@ -22,13 +15,13 @@ exports.CDS_DOCUMENT_TYPE = 'document';
22
15
  * @param metadataCollector - Metadata collector instance.
23
16
  * @returns CDS document.
24
17
  */
25
- function getDocument(serviceName, vocabularyService, facade, fileCache, file, metadataCollector) {
18
+ export function getDocument(serviceName, vocabularyService, facade, fileCache, file, metadataCollector) {
26
19
  const comments = getComments(fileCache, file, facade, false);
27
- const cdsAnnotationFile = (0, cds_odata_annotation_converter_1.toTargetMap)(facade.blitzIndex.forUri(file.uri), file.uri, vocabularyService, facade);
28
- const tokens = facade.getTokensForUri((0, utils_1.pathFromUri)(file.uri));
20
+ const cdsAnnotationFile = toTargetMap(facade.blitzIndex.forUri(file.uri), file.uri, vocabularyService, facade);
21
+ const tokens = facade.getTokensForUri(pathFromUri(file.uri));
29
22
  const line = fileCache.get(file.uri)?.split('\n').length ?? 0;
30
23
  const character = fileCache.get(file.uri)?.split('\n').pop()?.length ?? 0;
31
- const range = odata_annotation_core_types_1.Range.create(0, 0, line, character);
24
+ const range = Range.create(0, 0, line, character);
32
25
  const cdsDocument = {
33
26
  type: 'document',
34
27
  uri: file.uri,
@@ -37,7 +30,7 @@ function getDocument(serviceName, vocabularyService, facade, fileCache, file, me
37
30
  references: cdsAnnotationFile.references,
38
31
  targets: [...(cdsAnnotationFile.targetMap || [])].map(([, value]) => value)
39
32
  };
40
- const annotationFile = (0, cds_odata_annotation_converter_1.toAnnotationFile)(file.uri, vocabularyService, cdsAnnotationFile, metadataCollector).file;
33
+ const annotationFile = toAnnotationFile(file.uri, vocabularyService, cdsAnnotationFile, metadataCollector).file;
41
34
  filterTargets(serviceName, annotationFile);
42
35
  return {
43
36
  uri: file.uri,
@@ -52,8 +45,8 @@ function getComments(fileCache, file, facade, ignoreComments = true) {
52
45
  if (content === undefined || content === null) {
53
46
  throw new Error(`File ${file.uri} not found in cache!`);
54
47
  }
55
- const tokenVector = facade.getTokensForUri((0, node_url_1.fileURLToPath)(file.uri));
56
- return ignoreComments ? [] : (0, comments_1.collectComments)(tokenVector);
48
+ const tokenVector = facade.getTokensForUri(fileURLToPath(file.uri));
49
+ return ignoreComments ? [] : collectComments(tokenVector);
57
50
  }
58
51
  /**
59
52
  * Creates ghost file document.
@@ -67,11 +60,11 @@ function getComments(fileCache, file, facade, ignoreComments = true) {
67
60
  * @param propagatedTargetMap - Propagation map.
68
61
  * @returns Ghost file document.
69
62
  */
70
- function getGhostFileDocument(serviceName, vocabularyService, facade, fileCache, file, metadataCollector, propagatedTargetMap) {
63
+ export function getGhostFileDocument(serviceName, vocabularyService, facade, fileCache, file, metadataCollector, propagatedTargetMap) {
71
64
  const comments = getComments(fileCache, file, facade, false);
72
- const tokens = facade.getTokensForUri((0, utils_1.pathFromUri)(file.uri));
73
- const cdsAnnotationFile = (0, cds_odata_annotation_converter_1.toTargetMap)(facade.blitzIndex.forUri(file.uri), file.uri, vocabularyService, facade);
74
- const annotationFile = (0, cds_odata_annotation_converter_1.toAnnotationFile)(file.uri, vocabularyService, cdsAnnotationFile, metadataCollector, undefined, propagatedTargetMap).file;
65
+ const tokens = facade.getTokensForUri(pathFromUri(file.uri));
66
+ const cdsAnnotationFile = toTargetMap(facade.blitzIndex.forUri(file.uri), file.uri, vocabularyService, facade);
67
+ const annotationFile = toAnnotationFile(file.uri, vocabularyService, cdsAnnotationFile, metadataCollector, undefined, propagatedTargetMap).file;
75
68
  filterTargets(serviceName, annotationFile);
76
69
  annotationFile.uri = '!' + annotationFile.uri;
77
70
  const cdsDocument = {
@@ -101,7 +94,7 @@ function filterTargets(serviceName, annotationFile) {
101
94
  * @param container - Container AST node.
102
95
  * @returns Number of children.
103
96
  */
104
- function getChildCount(container) {
97
+ export function getChildCount(container) {
105
98
  return getItems(container).length;
106
99
  }
107
100
  /**
@@ -110,13 +103,13 @@ function getChildCount(container) {
110
103
  * @param container - Container AST node.
111
104
  * @returns All child nodes of the container.
112
105
  */
113
- function getItems(container) {
106
+ export function getItems(container) {
114
107
  switch (container.type) {
115
108
  case 'target':
116
109
  return container.assignments;
117
110
  case 'record':
118
111
  return container.annotations?.length
119
- ? [...container.properties, ...container.annotations].sort(utils_1.compareByRange)
112
+ ? [...container.properties, ...container.annotations].sort(compareByRange)
120
113
  : container.properties;
121
114
  case 'annotation-group-items':
122
115
  case 'collection':
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/cds/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/cds/document.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { AstNode, CDSDocument } from './document';
2
- import type { CompilerToken } from './cds-compiler-tokens';
1
+ import type { AstNode, CDSDocument } from './document.js';
2
+ import type { CompilerToken } from './cds-compiler-tokens.js';
3
3
  /**
4
4
  * Finds the indentation level matching to the node of a pointer.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"indent.d.ts","sourceRoot":"","sources":["../../src/cds/indent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQjH;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAKrF"}
1
+ {"version":3,"file":"indent.d.ts","sourceRoot":"","sources":["../../src/cds/indent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQjH;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAKrF"}
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getIndentLevelFromPointer = getIndentLevelFromPointer;
4
- exports.getIndentLevelFromNode = getIndentLevelFromNode;
5
- const odata_annotation_core_1 = require("@sap-ux/odata-annotation-core");
6
- const cds_odata_annotation_converter_1 = require("@sap-ux/cds-odata-annotation-converter");
7
- const pointer_1 = require("./pointer");
8
- const cds_compiler_tokens_1 = require("./cds-compiler-tokens");
9
- const printOptions = { ...odata_annotation_core_1.printOptions, useSnippetSyntax: false };
1
+ import { printOptions as defaultPrintOptions } from '@sap-ux/odata-annotation-core';
2
+ import { TARGET_TYPE } from '@sap-ux/cds-odata-annotation-converter';
3
+ import { getAstNodesFromPointer } from './pointer.js';
4
+ import { createTokenRange, findLastTokenBeforePosition, tokenColumn, tokenLine } from './cds-compiler-tokens.js';
5
+ const printOptions = { ...defaultPrintOptions, useSnippetSyntax: false };
10
6
  const ANNOTATE_PATTERN = /annotate/i;
11
7
  /**
12
8
  * Finds the indentation level matching to the node of a pointer.
@@ -16,8 +12,8 @@ const ANNOTATE_PATTERN = /annotate/i;
16
12
  * @param pointer - Pointer to a node for which indentation will be returned.
17
13
  * @returns Indentation level of the node matching the pointer.
18
14
  */
19
- function getIndentLevelFromPointer(document, tokens, pointer) {
20
- const path = (0, pointer_1.getAstNodesFromPointer)(document, pointer).reverse();
15
+ export function getIndentLevelFromPointer(document, tokens, pointer) {
16
+ const path = getAstNodesFromPointer(document, pointer).reverse();
21
17
  const node = path.shift();
22
18
  if (!node) {
23
19
  return 0;
@@ -31,7 +27,7 @@ function getIndentLevelFromPointer(document, tokens, pointer) {
31
27
  * @param node - Node for which indentation will be returned.
32
28
  * @returns Indentation level of the node.
33
29
  */
34
- function getIndentLevelFromNode(tokens, node) {
30
+ export function getIndentLevelFromNode(tokens, node) {
35
31
  const width = printOptions.useTabs ? 1 : printOptions.tabWidth;
36
32
  const startCharacter = getLineStartCharacter(node, tokens);
37
33
  const indentLevel = startCharacter / width;
@@ -45,17 +41,17 @@ function getIndentLevelFromNode(tokens, node) {
45
41
  * @returns column number
46
42
  */
47
43
  function getTargetNodeLineStartCharacter(node, tokens) {
48
- const token = (0, cds_compiler_tokens_1.findLastTokenBeforePosition)(ANNOTATE_PATTERN, tokens, node.range.end);
44
+ const token = findLastTokenBeforePosition(ANNOTATE_PATTERN, tokens, node.range.end);
49
45
  if (node.kind === 'element' && node.nameRange) {
50
- const range = token ? (0, cds_compiler_tokens_1.createTokenRange)(token) : undefined;
46
+ const range = token ? createTokenRange(token) : undefined;
51
47
  if (token && range?.start?.line === node.nameRange.start.line) {
52
48
  // element is in the same line as the annotate statement, so we should use the indent level of the annotate statement
53
- return (0, cds_compiler_tokens_1.tokenColumn)(token);
49
+ return tokenColumn(token);
54
50
  }
55
51
  return node.nameRange.start.character;
56
52
  }
57
53
  if (token) {
58
- return (0, cds_compiler_tokens_1.tokenColumn)(token);
54
+ return tokenColumn(token);
59
55
  }
60
56
  return 0;
61
57
  }
@@ -63,11 +59,11 @@ function getLineStartCharacter(node, tokens) {
63
59
  if (!node?.range) {
64
60
  return 0;
65
61
  }
66
- if (node.type === cds_odata_annotation_converter_1.TARGET_TYPE && node.range) {
62
+ if (node.type === TARGET_TYPE && node.range) {
67
63
  return getTargetNodeLineStartCharacter(node, tokens);
68
64
  }
69
65
  const token = findFirstTokenOfLine(tokens, node.range.start.line);
70
- return token ? (0, cds_compiler_tokens_1.tokenColumn)(token) : 0;
66
+ return token ? tokenColumn(token) : 0;
71
67
  }
72
68
  function findFirstTokenOfLine(tokens, nodeLine) {
73
69
  // use binary search to find a token at the same line
@@ -76,7 +72,7 @@ function findFirstTokenOfLine(tokens, nodeLine) {
76
72
  while (left <= right) {
77
73
  const middle = Math.floor((left + right) / 2);
78
74
  let token = tokens[middle];
79
- const line = (0, cds_compiler_tokens_1.tokenLine)(token);
75
+ const line = tokenLine(token);
80
76
  if (line < nodeLine) {
81
77
  left = middle + 1;
82
78
  }
@@ -87,7 +83,7 @@ function findFirstTokenOfLine(tokens, nodeLine) {
87
83
  // we found a token in correct line, search for first token of the line
88
84
  let index = middle - 1;
89
85
  let previousToken = tokens[index];
90
- while (previousToken && line === (0, cds_compiler_tokens_1.tokenLine)(previousToken)) {
86
+ while (previousToken && line === tokenLine(previousToken)) {
91
87
  token = previousToken;
92
88
  previousToken = tokens[index];
93
89
  index--;
@@ -1 +1 @@
1
- {"version":3,"file":"indent.js","sourceRoot":"","sources":["../../src/cds/indent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indent.js","sourceRoot":"","sources":["../../src/cds/indent.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { VocabularyService } from '@sap-ux/odata-vocabularies';
2
- export * from './service';
3
- export { CDSAnnotationServiceAdapter } from './adapter';
2
+ export * from './service.js';
3
+ export { CDSAnnotationServiceAdapter } from './adapter.js';
4
4
  export declare const CDS_VOCABULARY_SERVICE: VocabularyService;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,eAAO,MAAM,sBAAsB,mBAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D,eAAO,MAAM,sBAAsB,mBAA8B,CAAC"}
package/dist/cds/index.js CHANGED
@@ -1,23 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.CDS_VOCABULARY_SERVICE = exports.CDSAnnotationServiceAdapter = void 0;
18
- const odata_vocabularies_1 = require("@sap-ux/odata-vocabularies");
19
- __exportStar(require("./service"), exports);
20
- var adapter_1 = require("./adapter");
21
- Object.defineProperty(exports, "CDSAnnotationServiceAdapter", { enumerable: true, get: function () { return adapter_1.CDSAnnotationServiceAdapter; } });
22
- exports.CDS_VOCABULARY_SERVICE = new odata_vocabularies_1.VocabularyService(true);
1
+ import { VocabularyService } from '@sap-ux/odata-vocabularies';
2
+ export * from './service.js';
3
+ export { CDSAnnotationServiceAdapter } from './adapter.js';
4
+ export const CDS_VOCABULARY_SERVICE = new VocabularyService(true);
23
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cds/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAA+D;AAE/D,4CAA0B;AAC1B,qCAAwD;AAA/C,sHAAA,2BAA2B,OAAA;AAEvB,QAAA,sBAAsB,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AnnotationFile } from '@sap-ux/odata-annotation-core-types';
2
- import type { CDSDocument, AstNode } from './document';
2
+ import type { CDSDocument, AstNode } from './document.js';
3
3
  /**
4
4
  * Finds a matching node to the pointer.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../src/cds/pointer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACR,cAAc,EAMjB,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAqcvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CA0BxF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC1B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACzB;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;CACnC,CAeA"}
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../src/cds/pointer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACR,cAAc,EAMjB,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAqc1D;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CA0BxF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC1B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACzB;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;CACnC,CAeA"}
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAstNodesFromPointer = getAstNodesFromPointer;
4
- exports.convertPointer = convertPointer;
5
- const cds_annotation_parser_1 = require("@sap-ux/cds-annotation-parser");
6
- const cds_odata_annotation_converter_1 = require("@sap-ux/cds-odata-annotation-converter");
7
- const odata_annotation_core_1 = require("@sap-ux/odata-annotation-core");
8
- const odata_annotation_core_types_1 = require("@sap-ux/odata-annotation-core-types");
9
- const error_1 = require("../error");
10
- const utils_1 = require("../utils");
1
+ import { ReservedProperties, COLLECTION_TYPE, ANNOTATION_GROUP_TYPE, ANNOTATION_TYPE, RECORD_TYPE } from '@sap-ux/cds-annotation-parser';
2
+ import { TARGET_TYPE } from '@sap-ux/cds-odata-annotation-converter';
3
+ import { rangeContained } from '@sap-ux/odata-annotation-core';
4
+ import { ELEMENT_TYPE, Edm, TEXT_TYPE } from '@sap-ux/odata-annotation-core-types';
5
+ import { ApiError } from '../error.js';
6
+ import { PRIMITIVE_TYPE_NAMES } from '../utils/index.js';
11
7
  /**
12
8
  *
13
9
  */
@@ -46,7 +42,7 @@ class Visitor {
46
42
  };
47
43
  }
48
44
  target(astNode, node, pointer) {
49
- if (astNode.type === cds_odata_annotation_converter_1.TARGET_TYPE) {
45
+ if (astNode.type === TARGET_TYPE) {
50
46
  const [segment, indexSegment, ...segments] = pointer;
51
47
  const index = Number.parseInt(indexSegment, 10);
52
48
  const nextGenericNode = node.terms[index];
@@ -72,7 +68,7 @@ class Visitor {
72
68
  return undefined;
73
69
  }
74
70
  assignment(astNode, node, pointer) {
75
- if (astNode.type === cds_annotation_parser_1.ANNOTATION_TYPE) {
71
+ if (astNode.type === ANNOTATION_TYPE) {
76
72
  const result = this.annotation(astNode, node, pointer);
77
73
  if (result) {
78
74
  return result;
@@ -81,7 +77,7 @@ class Visitor {
81
77
  return undefined;
82
78
  }
83
79
  }
84
- else if (astNode.type === cds_annotation_parser_1.ANNOTATION_GROUP_TYPE && node.range) {
80
+ else if (astNode.type === ANNOTATION_GROUP_TYPE && node.range) {
85
81
  const annotationIndex = findNodeIndexByRange(astNode.items.items, node.range);
86
82
  const annotation = astNode.items.items[annotationIndex];
87
83
  this.inVocabularyGroup = true;
@@ -132,12 +128,12 @@ class Visitor {
132
128
  };
133
129
  }
134
130
  }
135
- if (segment === 'attributes' && indexSegment === "Qualifier" /* Edm.Qualifier */ && astNode.qualifier) {
131
+ if (segment === 'attributes' && indexSegment === Edm.Qualifier && astNode.qualifier) {
136
132
  return {
137
133
  pointer: ['qualifier']
138
134
  };
139
135
  }
140
- if (segment === 'attributes' && indexSegment === "Term" /* Edm.Term */ && astNode.term) {
136
+ if (segment === 'attributes' && indexSegment === Edm.Term && astNode.term) {
141
137
  return {
142
138
  pointer: ['term']
143
139
  };
@@ -145,7 +141,7 @@ class Visitor {
145
141
  return undefined;
146
142
  }
147
143
  value(astNode, node, pointer) {
148
- if (astNode.type === cds_annotation_parser_1.COLLECTION_TYPE && node.type === odata_annotation_core_types_1.ELEMENT_TYPE && node.name === "Collection" /* Edm.Collection */) {
144
+ if (astNode.type === COLLECTION_TYPE && node.type === ELEMENT_TYPE && node.name === Edm.Collection) {
149
145
  const [segment, indexSegment, ...segments] = pointer;
150
146
  const index = Number.parseInt(indexSegment, 10);
151
147
  if (!Number.isNaN(index)) {
@@ -167,15 +163,15 @@ class Visitor {
167
163
  };
168
164
  }
169
165
  }
170
- if (astNode.type === cds_annotation_parser_1.RECORD_TYPE && node.type === odata_annotation_core_types_1.ELEMENT_TYPE && node.name === "Record" /* Edm.Record */) {
166
+ if (astNode.type === RECORD_TYPE && node.type === ELEMENT_TYPE && node.name === Edm.Record) {
171
167
  const [segment, indexSegment, ...segments] = pointer;
172
168
  const index = Number.parseInt(indexSegment, 10);
173
169
  if (!Number.isNaN(index)) {
174
170
  const nextGenericNode = node.content[index];
175
- if (segment === 'content' && nextGenericNode.type === odata_annotation_core_types_1.ELEMENT_TYPE && nextGenericNode.range) {
171
+ if (segment === 'content' && nextGenericNode.type === ELEMENT_TYPE && nextGenericNode.range) {
176
172
  const propertyIndex = findNodeIndexByRange(astNode.properties, nextGenericNode.range);
177
173
  const property = astNode.properties[propertyIndex];
178
- if (nextGenericNode.name === "PropertyValue" /* Edm.PropertyValue */ && property) {
174
+ if (nextGenericNode.name === Edm.PropertyValue && property) {
179
175
  const result = this.recordProperty(property, nextGenericNode, segments);
180
176
  if (result) {
181
177
  result.pointer = ['properties', propertyIndex.toString(), ...result.pointer];
@@ -185,7 +181,7 @@ class Visitor {
185
181
  pointer: ['properties', propertyIndex.toString()]
186
182
  };
187
183
  }
188
- if (nextGenericNode.name === "Annotation" /* Edm.Annotation */ && astNode.annotations) {
184
+ if (nextGenericNode.name === Edm.Annotation && astNode.annotations) {
189
185
  const annotationIndex = findNodeIndexByRange(astNode.annotations, nextGenericNode.range);
190
186
  const annotation = astNode.annotations?.[annotationIndex];
191
187
  if (annotation) {
@@ -201,7 +197,7 @@ class Visitor {
201
197
  }
202
198
  }
203
199
  }
204
- else if (indexSegment === "Type" /* Edm.Type */ && segment === 'attributes') {
200
+ else if (indexSegment === Edm.Type && segment === 'attributes') {
205
201
  const recordTypePropIdx = astNode.properties.findIndex((prop) => prop.name.type === 'path' && prop.name.value === '$Type');
206
202
  if (recordTypePropIdx > -1) {
207
203
  return {
@@ -210,12 +206,12 @@ class Visitor {
210
206
  }
211
207
  }
212
208
  }
213
- if (astNode.type === cds_annotation_parser_1.RECORD_TYPE && node.type === odata_annotation_core_types_1.ELEMENT_TYPE && node.name !== "Record" /* Edm.Record */) {
209
+ if (astNode.type === RECORD_TYPE && node.type === ELEMENT_TYPE && node.name !== Edm.Record) {
214
210
  if (node.range) {
215
- const valuePropertyIndex = astNode.properties.findIndex((prop) => prop.name.value === cds_annotation_parser_1.ReservedProperties.Value);
211
+ const valuePropertyIndex = astNode.properties.findIndex((prop) => prop.name.value === ReservedProperties.Value);
216
212
  const valueProperty = astNode.properties[valuePropertyIndex];
217
213
  if (valueProperty) {
218
- if (node.name === "Annotation" /* Edm.Annotation */ && astNode.annotations) {
214
+ if (node.name === Edm.Annotation && astNode.annotations) {
219
215
  const annotationIndex = findNodeIndexByRange(astNode.annotations, node.range);
220
216
  const annotation = astNode.annotations?.[annotationIndex];
221
217
  if (annotation) {
@@ -242,7 +238,7 @@ class Visitor {
242
238
  }
243
239
  }
244
240
  }
245
- if (node.type === odata_annotation_core_types_1.ELEMENT_TYPE && utils_1.PRIMITIVE_TYPE_NAMES.includes(node.name)) {
241
+ if (node.type === ELEMENT_TYPE && PRIMITIVE_TYPE_NAMES.includes(node.name)) {
246
242
  return {
247
243
  pointer: []
248
244
  };
@@ -250,7 +246,7 @@ class Visitor {
250
246
  return undefined;
251
247
  }
252
248
  recordProperty(astNode, node, pointer) {
253
- if (node.type !== odata_annotation_core_types_1.ELEMENT_TYPE || node.name !== "PropertyValue" /* Edm.PropertyValue */) {
249
+ if (node.type !== ELEMENT_TYPE || node.name !== Edm.PropertyValue) {
254
250
  return undefined;
255
251
  }
256
252
  const [segment, indexSegment, ...segments] = pointer;
@@ -260,7 +256,7 @@ class Visitor {
260
256
  this.containsFlattenedNodes = true;
261
257
  }
262
258
  if (segment === 'attributes') {
263
- if (indexSegment === "Property" /* Edm.Property */) {
259
+ if (indexSegment === Edm.Property) {
264
260
  if (this.flattenedSegments.length > 0) {
265
261
  return {
266
262
  pointer: ['name', 'segments', this.currentFlattenedSegmentIndexInPath.toString()]
@@ -296,7 +292,7 @@ class Visitor {
296
292
  return undefined;
297
293
  }
298
294
  flattenedProperty(astNode, node, pointer) {
299
- if (node.type !== odata_annotation_core_types_1.ELEMENT_TYPE || node.name !== "Record" /* Edm.Record */) {
295
+ if (node.type !== ELEMENT_TYPE || node.name !== Edm.Record) {
300
296
  return undefined;
301
297
  }
302
298
  const [segment, indexSegment, ...segments] = pointer;
@@ -317,7 +313,7 @@ class Visitor {
317
313
  };
318
314
  }
319
315
  }
320
- else if (segment === 'attributes' && indexSegment === "Property" /* Edm.Property */) {
316
+ else if (segment === 'attributes' && indexSegment === Edm.Property) {
321
317
  return {
322
318
  pointer: ['name', 'segments', this.currentFlattenedSegmentIndexInPath.toString()]
323
319
  };
@@ -325,7 +321,7 @@ class Visitor {
325
321
  return undefined;
326
322
  }
327
323
  flattenedAnnotation(astNode, node, pointer) {
328
- if (node.type !== odata_annotation_core_types_1.ELEMENT_TYPE || (node.name !== "Record" /* Edm.Record */ && node.name !== "Annotation" /* Edm.Annotation */)) {
324
+ if (node.type !== ELEMENT_TYPE || (node.name !== Edm.Record && node.name !== Edm.Annotation)) {
329
325
  return undefined;
330
326
  }
331
327
  const [segment, indexSegment, ...segments] = pointer;
@@ -338,10 +334,10 @@ class Visitor {
338
334
  if (segment.length === 0) {
339
335
  return undefined;
340
336
  }
341
- if (node.name === "Record" /* Edm.Record */) {
337
+ if (node.name === Edm.Record) {
342
338
  return this.flattenedAnnotationPropertyValue(astNode, propertyValue, segments);
343
339
  }
344
- else if (node.name === "Annotation" /* Edm.Annotation */) {
340
+ else if (node.name === Edm.Annotation) {
345
341
  return this.flattenedAnnotationValue(astNode, propertyValue, segments);
346
342
  }
347
343
  }
@@ -349,14 +345,14 @@ class Visitor {
349
345
  return undefined;
350
346
  }
351
347
  flattenedAnnotationPropertyValue(astNode, node, pointer) {
352
- if (node?.type !== odata_annotation_core_types_1.ELEMENT_TYPE || node.name !== "PropertyValue" /* Edm.PropertyValue */ || !astNode.value) {
348
+ if (node?.type !== ELEMENT_TYPE || node.name !== Edm.PropertyValue || !astNode.value) {
353
349
  return undefined;
354
350
  }
355
351
  const [segment, indexSegment, ...segments] = pointer;
356
352
  const index = Number.parseInt(indexSegment, 10);
357
353
  if (!Number.isNaN(index) && segment === 'content') {
358
354
  const next = node.content[index];
359
- if (next?.type !== odata_annotation_core_types_1.ELEMENT_TYPE) {
355
+ if (next?.type !== ELEMENT_TYPE) {
360
356
  return undefined;
361
357
  }
362
358
  const result = this.flattenedSegments.length > 0
@@ -367,7 +363,7 @@ class Visitor {
367
363
  return result;
368
364
  }
369
365
  }
370
- else if (segment === 'attributes' && indexSegment === "Property" /* Edm.Property */) {
366
+ else if (segment === 'attributes' && indexSegment === Edm.Property) {
371
367
  return {
372
368
  pointer: ['term', 'segments', this.currentFlattenedSegmentIndexInPath.toString()]
373
369
  };
@@ -375,7 +371,7 @@ class Visitor {
375
371
  return undefined;
376
372
  }
377
373
  flattenedAnnotationValue(astNode, node, pointer) {
378
- if (node?.type !== odata_annotation_core_types_1.ELEMENT_TYPE || !astNode.value) {
374
+ if (node?.type !== ELEMENT_TYPE || !astNode.value) {
379
375
  return undefined;
380
376
  }
381
377
  if (pointer.length === 0) {
@@ -388,7 +384,7 @@ class Visitor {
388
384
  if (!Number.isNaN(index) && segment === 'content') {
389
385
  // value could also be a text node for primitive values
390
386
  const next = node.content[index];
391
- if (next?.type === odata_annotation_core_types_1.TEXT_TYPE) {
387
+ if (next?.type === TEXT_TYPE) {
392
388
  return {
393
389
  pointer: ['value']
394
390
  };
@@ -404,7 +400,7 @@ function findNodeIndexByRange(nodes, range) {
404
400
  if (!node.range) {
405
401
  continue;
406
402
  }
407
- if ((0, odata_annotation_core_1.rangeContained)(node.range, range)) {
403
+ if (rangeContained(node.range, range)) {
408
404
  return index;
409
405
  }
410
406
  }
@@ -417,7 +413,7 @@ function findNodeIndexByRange(nodes, range) {
417
413
  * @param pointer - Pointer matching a node in the document.
418
414
  * @returns All the nodes in path to the matching node.
419
415
  */
420
- function getAstNodesFromPointer(document, pointer) {
416
+ export function getAstNodesFromPointer(document, pointer) {
421
417
  const [, ...segments] = pointer.split('/');
422
418
  const path = [];
423
419
  if (segments.length === 0) {
@@ -447,15 +443,15 @@ function getAstNodesFromPointer(document, pointer) {
447
443
  * @param cdsDocument - Internal representation root.
448
444
  * @returns Converted pointer.
449
445
  */
450
- function convertPointer(annotationFile, pointer, cdsDocument) {
446
+ export function convertPointer(annotationFile, pointer, cdsDocument) {
451
447
  const [prefix, ...segments] = pointer.split('/');
452
448
  if (prefix !== '') {
453
- throw new error_1.ApiError(`Invalid pointer! ${pointer} must be absolute pointer starting with "/".`);
449
+ throw new ApiError(`Invalid pointer! ${pointer} must be absolute pointer starting with "/".`);
454
450
  }
455
451
  const visitor = new Visitor();
456
452
  const result = visitor.document(cdsDocument, annotationFile, segments);
457
453
  if (result.pointer.length === 0) {
458
- throw new error_1.ApiError(`Could not convert pointer! ${pointer} must lead to existing node in annotation file.`);
454
+ throw new ApiError(`Could not convert pointer! ${pointer} must lead to existing node in annotation file.`);
459
455
  }
460
456
  return {
461
457
  ...result,