@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.
Files changed (211) hide show
  1. package/LICENSE +201 -0
  2. package/Readme.md +35 -0
  3. package/dist/avt/annotations.d.ts +72 -0
  4. package/dist/avt/annotations.d.ts.map +1 -0
  5. package/dist/avt/annotations.js +508 -0
  6. package/dist/avt/annotations.js.map +1 -0
  7. package/dist/avt/expressions.d.ts +13 -0
  8. package/dist/avt/expressions.d.ts.map +1 -0
  9. package/dist/avt/expressions.js +34 -0
  10. package/dist/avt/expressions.js.map +1 -0
  11. package/dist/avt/find.d.ts +39 -0
  12. package/dist/avt/find.d.ts.map +1 -0
  13. package/dist/avt/find.js +130 -0
  14. package/dist/avt/find.js.map +1 -0
  15. package/dist/avt/index.d.ts +9 -0
  16. package/dist/avt/index.d.ts.map +1 -0
  17. package/dist/avt/index.js +32 -0
  18. package/dist/avt/index.js.map +1 -0
  19. package/dist/avt/metadata.d.ts +10 -0
  20. package/dist/avt/metadata.d.ts.map +1 -0
  21. package/dist/avt/metadata.js +346 -0
  22. package/dist/avt/metadata.js.map +1 -0
  23. package/dist/avt/pointer.d.ts +12 -0
  24. package/dist/avt/pointer.d.ts.map +1 -0
  25. package/dist/avt/pointer.js +188 -0
  26. package/dist/avt/pointer.js.map +1 -0
  27. package/dist/avt/to-internal.d.ts +81 -0
  28. package/dist/avt/to-internal.d.ts.map +1 -0
  29. package/dist/avt/to-internal.js +340 -0
  30. package/dist/avt/to-internal.js.map +1 -0
  31. package/dist/avt/types.d.ts +3 -0
  32. package/dist/avt/types.d.ts.map +1 -0
  33. package/dist/avt/types.js +3 -0
  34. package/dist/avt/types.js.map +1 -0
  35. package/dist/avt/utils.d.ts +61 -0
  36. package/dist/avt/utils.d.ts.map +1 -0
  37. package/dist/avt/utils.js +87 -0
  38. package/dist/avt/utils.js.map +1 -0
  39. package/dist/cds/adapter.d.ts +112 -0
  40. package/dist/cds/adapter.d.ts.map +1 -0
  41. package/dist/cds/adapter.js +703 -0
  42. package/dist/cds/adapter.js.map +1 -0
  43. package/dist/cds/cds-compiler-tokens.d.ts +30 -0
  44. package/dist/cds/cds-compiler-tokens.d.ts.map +1 -0
  45. package/dist/cds/cds-compiler-tokens.js +57 -0
  46. package/dist/cds/cds-compiler-tokens.js.map +1 -0
  47. package/dist/cds/change.d.ts +347 -0
  48. package/dist/cds/change.d.ts.map +1 -0
  49. package/dist/cds/change.js +232 -0
  50. package/dist/cds/change.js.map +1 -0
  51. package/dist/cds/comments.d.ts +15 -0
  52. package/dist/cds/comments.d.ts.map +1 -0
  53. package/dist/cds/comments.js +56 -0
  54. package/dist/cds/comments.js.map +1 -0
  55. package/dist/cds/deletion.d.ts +59 -0
  56. package/dist/cds/deletion.d.ts.map +1 -0
  57. package/dist/cds/deletion.js +821 -0
  58. package/dist/cds/deletion.js.map +1 -0
  59. package/dist/cds/document.d.ts +52 -0
  60. package/dist/cds/document.d.ts.map +1 -0
  61. package/dist/cds/document.js +98 -0
  62. package/dist/cds/document.js.map +1 -0
  63. package/dist/cds/indent.d.ts +20 -0
  64. package/dist/cds/indent.d.ts.map +1 -0
  65. package/dist/cds/indent.js +86 -0
  66. package/dist/cds/indent.js.map +1 -0
  67. package/dist/cds/index.d.ts +3 -0
  68. package/dist/cds/index.d.ts.map +1 -0
  69. package/dist/cds/index.js +21 -0
  70. package/dist/cds/index.js.map +1 -0
  71. package/dist/cds/pointer.d.ts +23 -0
  72. package/dist/cds/pointer.d.ts.map +1 -0
  73. package/dist/cds/pointer.js +438 -0
  74. package/dist/cds/pointer.js.map +1 -0
  75. package/dist/cds/preprocessor.d.ts +12 -0
  76. package/dist/cds/preprocessor.d.ts.map +1 -0
  77. package/dist/cds/preprocessor.js +338 -0
  78. package/dist/cds/preprocessor.js.map +1 -0
  79. package/dist/cds/references.d.ts +35 -0
  80. package/dist/cds/references.d.ts.map +1 -0
  81. package/dist/cds/references.js +413 -0
  82. package/dist/cds/references.js.map +1 -0
  83. package/dist/cds/service.d.ts +11 -0
  84. package/dist/cds/service.d.ts.map +1 -0
  85. package/dist/cds/service.js +37 -0
  86. package/dist/cds/service.js.map +1 -0
  87. package/dist/cds/utils.d.ts +35 -0
  88. package/dist/cds/utils.d.ts.map +1 -0
  89. package/dist/cds/utils.js +75 -0
  90. package/dist/cds/utils.js.map +1 -0
  91. package/dist/cds/writer.d.ts +104 -0
  92. package/dist/cds/writer.d.ts.map +1 -0
  93. package/dist/cds/writer.js +1086 -0
  94. package/dist/cds/writer.js.map +1 -0
  95. package/dist/change-converter.d.ts +54 -0
  96. package/dist/change-converter.d.ts.map +1 -0
  97. package/dist/change-converter.js +639 -0
  98. package/dist/change-converter.js.map +1 -0
  99. package/dist/error.d.ts +35 -0
  100. package/dist/error.d.ts.map +1 -0
  101. package/dist/error.js +64 -0
  102. package/dist/error.js.map +1 -0
  103. package/dist/fiori-service.d.ts +130 -0
  104. package/dist/fiori-service.d.ts.map +1 -0
  105. package/dist/fiori-service.js +362 -0
  106. package/dist/fiori-service.js.map +1 -0
  107. package/dist/index.d.ts +5 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +25 -0
  110. package/dist/index.js.map +1 -0
  111. package/dist/protected.d.ts +3 -0
  112. package/dist/protected.d.ts.map +1 -0
  113. package/dist/protected.js +11 -0
  114. package/dist/protected.js.map +1 -0
  115. package/dist/types/adapter.d.ts +46 -0
  116. package/dist/types/adapter.d.ts.map +1 -0
  117. package/dist/types/adapter.js +3 -0
  118. package/dist/types/adapter.js.map +1 -0
  119. package/dist/types/change.d.ts +187 -0
  120. package/dist/types/change.d.ts.map +1 -0
  121. package/dist/types/change.js +52 -0
  122. package/dist/types/change.js.map +1 -0
  123. package/dist/types/index.d.ts +7 -0
  124. package/dist/types/index.d.ts.map +1 -0
  125. package/dist/types/index.js +33 -0
  126. package/dist/types/index.js.map +1 -0
  127. package/dist/types/internal-change.d.ts +98 -0
  128. package/dist/types/internal-change.d.ts.map +1 -0
  129. package/dist/types/internal-change.js +18 -0
  130. package/dist/types/internal-change.js.map +1 -0
  131. package/dist/types/project-info.d.ts +6 -0
  132. package/dist/types/project-info.d.ts.map +1 -0
  133. package/dist/types/project-info.js +3 -0
  134. package/dist/types/project-info.js.map +1 -0
  135. package/dist/types/service.d.ts +27 -0
  136. package/dist/types/service.d.ts.map +1 -0
  137. package/dist/types/service.js +3 -0
  138. package/dist/types/service.js.map +1 -0
  139. package/dist/types/text-file.d.ts +12 -0
  140. package/dist/types/text-file.d.ts.map +1 -0
  141. package/dist/types/text-file.js +3 -0
  142. package/dist/types/text-file.js.map +1 -0
  143. package/dist/utils/constants.d.ts +2 -0
  144. package/dist/utils/constants.d.ts.map +1 -0
  145. package/dist/utils/constants.js +24 -0
  146. package/dist/utils/constants.js.map +1 -0
  147. package/dist/utils/indent.d.ts +10 -0
  148. package/dist/utils/indent.d.ts.map +1 -0
  149. package/dist/utils/indent.js +36 -0
  150. package/dist/utils/indent.js.map +1 -0
  151. package/dist/utils/index.d.ts +7 -0
  152. package/dist/utils/index.d.ts.map +1 -0
  153. package/dist/utils/index.js +16 -0
  154. package/dist/utils/index.js.map +1 -0
  155. package/dist/utils/path.d.ts +8 -0
  156. package/dist/utils/path.d.ts.map +1 -0
  157. package/dist/utils/path.js +31 -0
  158. package/dist/utils/path.js.map +1 -0
  159. package/dist/utils/pointer.d.ts +11 -0
  160. package/dist/utils/pointer.d.ts.map +1 -0
  161. package/dist/utils/pointer.js +26 -0
  162. package/dist/utils/pointer.js.map +1 -0
  163. package/dist/utils/reference.d.ts +10 -0
  164. package/dist/utils/reference.d.ts.map +1 -0
  165. package/dist/utils/reference.js +20 -0
  166. package/dist/utils/reference.js.map +1 -0
  167. package/dist/utils/text-edits.d.ts +12 -0
  168. package/dist/utils/text-edits.d.ts.map +1 -0
  169. package/dist/utils/text-edits.js +29 -0
  170. package/dist/utils/text-edits.js.map +1 -0
  171. package/dist/vocabularies.d.ts +11 -0
  172. package/dist/vocabularies.d.ts.map +1 -0
  173. package/dist/vocabularies.js +26 -0
  174. package/dist/vocabularies.js.map +1 -0
  175. package/dist/xml/adapter.d.ts +85 -0
  176. package/dist/xml/adapter.d.ts.map +1 -0
  177. package/dist/xml/adapter.js +579 -0
  178. package/dist/xml/adapter.js.map +1 -0
  179. package/dist/xml/changes.d.ts +117 -0
  180. package/dist/xml/changes.d.ts.map +1 -0
  181. package/dist/xml/changes.js +34 -0
  182. package/dist/xml/changes.js.map +1 -0
  183. package/dist/xml/comments.d.ts +17 -0
  184. package/dist/xml/comments.d.ts.map +1 -0
  185. package/dist/xml/comments.js +49 -0
  186. package/dist/xml/comments.js.map +1 -0
  187. package/dist/xml/document.d.ts +11 -0
  188. package/dist/xml/document.d.ts.map +1 -0
  189. package/dist/xml/document.js +3 -0
  190. package/dist/xml/document.js.map +1 -0
  191. package/dist/xml/index.d.ts +3 -0
  192. package/dist/xml/index.d.ts.map +1 -0
  193. package/dist/xml/index.js +8 -0
  194. package/dist/xml/index.js.map +1 -0
  195. package/dist/xml/pointer.d.ts +10 -0
  196. package/dist/xml/pointer.d.ts.map +1 -0
  197. package/dist/xml/pointer.js +29 -0
  198. package/dist/xml/pointer.js.map +1 -0
  199. package/dist/xml/references.d.ts +9 -0
  200. package/dist/xml/references.d.ts.map +1 -0
  201. package/dist/xml/references.js +87 -0
  202. package/dist/xml/references.js.map +1 -0
  203. package/dist/xml/service.d.ts +12 -0
  204. package/dist/xml/service.d.ts.map +1 -0
  205. package/dist/xml/service.js +55 -0
  206. package/dist/xml/service.js.map +1 -0
  207. package/dist/xml/writer.d.ts +39 -0
  208. package/dist/xml/writer.d.ts.map +1 -0
  209. package/dist/xml/writer.js +855 -0
  210. package/dist/xml/writer.js.map +1 -0
  211. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-converter.js","sourceRoot":"","sources":["../src/change-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare enum ApiErrorCode {
2
+ General = 1,
3
+ CompileError = 2,
4
+ ComplexityViolation = 3,
5
+ LocalAnnotationFileNotFound = 4
6
+ }
7
+ /**
8
+ *
9
+ */
10
+ export declare class ApiError extends Error {
11
+ errorCode: ApiErrorCode;
12
+ messageMap: Map<string, string[]>;
13
+ /**
14
+ *
15
+ * @param message - Error message text.
16
+ * @param errorCode - Error Code.
17
+ * @param messageMap - Detailed message map.
18
+ */
19
+ constructor(message: string, errorCode?: ApiErrorCode, messageMap?: Map<string, string[]>);
20
+ /**
21
+ * Converts the error object to its string representation.
22
+ *
23
+ * @param extendedInfo - Flag indicating that additional error information should be added.
24
+ * @returns A string representing the specified `Error` object.
25
+ */
26
+ toString(extendedInfo?: boolean): string;
27
+ /**
28
+ * Returns detailed error message.
29
+ *
30
+ * @returns A detailed error message.
31
+ */
32
+ getExtendedMessage(): string;
33
+ private convertMessages;
34
+ }
35
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,mBAAmB,IAAI;IACvB,2BAA2B,IAAI;CAClC;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAElC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAMzF;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,UAAQ,GAAG,MAAM;IAStC;;;;OAIG;IACH,kBAAkB,IAAI,MAAM;IAQ5B,OAAO,CAAC,eAAe;CAU1B"}
package/dist/error.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiError = exports.ApiErrorCode = void 0;
4
+ var ApiErrorCode;
5
+ (function (ApiErrorCode) {
6
+ ApiErrorCode[ApiErrorCode["General"] = 1] = "General";
7
+ ApiErrorCode[ApiErrorCode["CompileError"] = 2] = "CompileError";
8
+ ApiErrorCode[ApiErrorCode["ComplexityViolation"] = 3] = "ComplexityViolation";
9
+ ApiErrorCode[ApiErrorCode["LocalAnnotationFileNotFound"] = 4] = "LocalAnnotationFileNotFound";
10
+ })(ApiErrorCode || (exports.ApiErrorCode = ApiErrorCode = {}));
11
+ /**
12
+ *
13
+ */
14
+ class ApiError extends Error {
15
+ /**
16
+ *
17
+ * @param message - Error message text.
18
+ * @param errorCode - Error Code.
19
+ * @param messageMap - Detailed message map.
20
+ */
21
+ constructor(message, errorCode, messageMap) {
22
+ super(message);
23
+ this.messageMap = messageMap !== null && messageMap !== void 0 ? messageMap : new Map();
24
+ this.errorCode = errorCode !== null && errorCode !== void 0 ? errorCode : ApiErrorCode.General;
25
+ }
26
+ /**
27
+ * Converts the error object to its string representation.
28
+ *
29
+ * @param extendedInfo - Flag indicating that additional error information should be added.
30
+ * @returns A string representing the specified `Error` object.
31
+ */
32
+ toString(extendedInfo = false) {
33
+ const baseMessage = super.toString();
34
+ if (extendedInfo) {
35
+ const otherMessageText = this.messageMap.size > 0 ? this.convertMessages() : '';
36
+ return [baseMessage, `Error code: ${this.errorCode}`, otherMessageText].join('. ');
37
+ }
38
+ return baseMessage;
39
+ }
40
+ /**
41
+ * Returns detailed error message.
42
+ *
43
+ * @returns A detailed error message.
44
+ */
45
+ getExtendedMessage() {
46
+ const baseMessage = this.message;
47
+ if (this.messageMap.size > 0) {
48
+ return [baseMessage, this.convertMessages()].join('. ');
49
+ }
50
+ return baseMessage;
51
+ }
52
+ convertMessages() {
53
+ let text = 'Other messages:';
54
+ for (const [key, messages] of this.messageMap.entries()) {
55
+ text += `\n[${key}]:`;
56
+ for (const message of messages) {
57
+ text += `\n- ${message}`;
58
+ }
59
+ }
60
+ return text;
61
+ }
62
+ }
63
+ exports.ApiError = ApiError;
64
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,qDAAW,CAAA;IACX,+DAAgB,CAAA;IAChB,6EAAuB,CAAA;IACvB,6FAA+B,CAAA;AACnC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED;;GAEG;AACH,MAAa,QAAS,SAAQ,KAAK;IAI/B;;;;;OAKG;IACH,YAAY,OAAe,EAAE,SAAwB,EAAE,UAAkC;QACrF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,YAAY,CAAC,OAAO,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,GAAG,KAAK;QACzB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,CAAC,WAAW,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,eAAe;QACnB,IAAI,IAAI,GAAG,iBAAiB,CAAC;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,IAAI,OAAO,OAAO,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAtDD,4BAsDC"}
@@ -0,0 +1,130 @@
1
+ import type { Editor } from 'mem-fs-editor';
2
+ import type { RawMetadata } from '@sap-ux/vocabularies-types';
3
+ import type { Project } from '@sap-ux/project-access';
4
+ import { VocabularyService } from '@sap-ux/odata-vocabularies';
5
+ import type { MetadataService } from '@sap-ux/odata-entity-model';
6
+ import type { AnnotationListWithOrigins } from './avt';
7
+ import type { AnnotationFileChange, AnnotationServiceAdapter, Change, ProjectInfo, TextFile } from './types';
8
+ import { ChangeConverter } from './change-converter';
9
+ export interface FioriAnnotationServiceConstructor<T> {
10
+ new (vocabularyAPI: VocabularyService, adapter: AnnotationServiceAdapter, changeConverter: ChangeConverter, fs: Editor, options: FioriAnnotationServiceOptions, project: Project, serviceName: string, appName: string): T;
11
+ }
12
+ export interface FioriAnnotationServiceOptions {
13
+ commitOnSave: boolean;
14
+ clearFileResolutionCache: boolean;
15
+ }
16
+ export declare const COMPILE_ERROR_MSG = "Update rejected due to changes leading to compile errors";
17
+ /**
18
+ * Service for working with OData annotations in SAP Fiori Elements applications.
19
+ *
20
+ */
21
+ export declare class FioriAnnotationService {
22
+ protected vocabularyAPI: VocabularyService;
23
+ protected adapter: AnnotationServiceAdapter;
24
+ protected changeConverter: ChangeConverter;
25
+ protected fs: Editor;
26
+ protected options: FioriAnnotationServiceOptions;
27
+ protected serviceName: string;
28
+ protected changes: Change[];
29
+ protected fileMergeMaps: Record<string, Record<string, string>>;
30
+ protected fileCache: Map<string, string>;
31
+ protected isInitialSyncCompleted: boolean;
32
+ protected projectInfo: ProjectInfo;
33
+ /**
34
+ * For creating new instances use the factory function {@link FioriAnnotationService.createService}.
35
+ *
36
+ * @param vocabularyAPI - Vocabulary API instance.
37
+ * @param adapter - Language specific adapter.
38
+ * @param changeConverter ChangeConverter instance.
39
+ * @param fs - `mem-fs-editor` instance.
40
+ * @param options - API configuration.
41
+ * @param project - Project structure.
42
+ * @param serviceName - Name of the service.
43
+ * @param appName - Name of the application
44
+ */
45
+ constructor(vocabularyAPI: VocabularyService, adapter: AnnotationServiceAdapter, changeConverter: ChangeConverter, fs: Editor, options: FioriAnnotationServiceOptions, project: Project, serviceName: string, appName: string);
46
+ /**
47
+ * Creates new FioriAnnotationService instance for the given Fiori application.
48
+ *
49
+ * @param this - Constructor
50
+ * @param project - Project structure.
51
+ * @param serviceName - Name of the service used by the app.
52
+ * @param appName - Name of the application.
53
+ * @param fs - Optional `mem-fs-editor` instance.
54
+ * @param options - API configuration.
55
+ * @returns FioriAnnotationService instance.
56
+ */
57
+ static createService<T extends FioriAnnotationService>(this: FioriAnnotationServiceConstructor<T>, project: Project, serviceName: string, appName: string, fs?: Editor, options?: Partial<FioriAnnotationServiceOptions>): Promise<T>;
58
+ /**
59
+ * Returns a metadata service instance.
60
+ *
61
+ * @returns Metadata service instance.
62
+ */
63
+ getMetadataService(): MetadataService;
64
+ /**
65
+ * Returns a list of files which describe the service. The order is from least important to the most important file
66
+ * Annotations defined in the last file would overwrite the ones defined in the previous ones.
67
+ * You can only create changes for files which are not marked as `readOnly`.
68
+ *
69
+ * @param [includeGhostFiles] - If set to true will also include ghost files.
70
+ * @returns Text files.
71
+ */
72
+ getAllFiles(includeGhostFiles?: boolean): TextFile[];
73
+ /**
74
+ * Refreshes file content from the file system.
75
+ */
76
+ sync(): Promise<void>;
77
+ /**
78
+ * Provides initial annotation file content.
79
+ *
80
+ * @param filePath - Path to the newly created file.
81
+ * @returns Annotation file content.
82
+ */
83
+ getInitialFileContent(filePath: string): string;
84
+ /**
85
+ * Reads annotations for a specific service in an application.
86
+ *
87
+ * @returns Service metadata in AVT format.
88
+ */
89
+ getSchema(): RawMetadata;
90
+ /**
91
+ * Add change(s) to the stack.
92
+ *
93
+ * @param change - Pending changes.
94
+ */
95
+ edit(change: Change | Change[]): void;
96
+ /**
97
+ * Applies the collected changes to the file system.
98
+ *
99
+ * @param options Save options
100
+ * @returns number of files changed.
101
+ */
102
+ save(options?: SaveOptions): Promise<{
103
+ files: number;
104
+ }>;
105
+ /**
106
+ * Utility function: serialize target with annotations.
107
+ *
108
+ * @param targetAnnotations - Annotations that will be serialized.
109
+ * @param fileUri - use alias information from this file; if none provided, use default aliases for vocabularies, non for metadata
110
+ * @returns Annotations serialized as string for the specified language.
111
+ */
112
+ serializeTarget(targetAnnotations: AnnotationListWithOrigins, fileUri?: string): string;
113
+ /**
114
+ * Converts changes to the internal annotation file change format.
115
+ *
116
+ * @param changes - Changes in AVT format.
117
+ * @returns Changes in internal format.
118
+ */
119
+ protected convertChanges(changes: Change[]): AnnotationFileChange[];
120
+ private saveFile;
121
+ private commit;
122
+ }
123
+ export interface SaveOptions {
124
+ /**
125
+ * After saving file the internal data structures will be refreshed with the updated file content.
126
+ * Useful if you want to continue using the service instance after save.
127
+ */
128
+ resyncAfterSave?: boolean;
129
+ }
130
+ //# sourceMappingURL=fiori-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiori-service.d.ts","sourceRoot":"","sources":["../src/fiori-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,362 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FioriAnnotationService = exports.COMPILE_ERROR_MSG = void 0;
13
+ const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
14
+ const mem_fs_1 = require("mem-fs");
15
+ const mem_fs_editor_1 = require("mem-fs-editor");
16
+ const odata_vocabularies_1 = require("@sap-ux/odata-vocabularies");
17
+ const odata_annotation_core_types_1 = require("@sap-ux/odata-annotation-core-types");
18
+ const odata_annotation_core_1 = require("@sap-ux/odata-annotation-core");
19
+ const avt_1 = require("./avt");
20
+ const xml_1 = require("./xml");
21
+ const cds_1 = require("./cds");
22
+ const vocabularies_1 = require("./vocabularies");
23
+ const error_1 = require("./error");
24
+ const utils_1 = require("./utils");
25
+ const change_converter_1 = require("./change-converter");
26
+ function getOptionsWithDefaults(options) {
27
+ var _a, _b;
28
+ return {
29
+ commitOnSave: (_a = options.commitOnSave) !== null && _a !== void 0 ? _a : true,
30
+ clearFileResolutionCache: (_b = options.clearFileResolutionCache) !== null && _b !== void 0 ? _b : false
31
+ };
32
+ }
33
+ exports.COMPILE_ERROR_MSG = 'Update rejected due to changes leading to compile errors';
34
+ /**
35
+ * Service for working with OData annotations in SAP Fiori Elements applications.
36
+ *
37
+ */
38
+ class FioriAnnotationService {
39
+ /**
40
+ * For creating new instances use the factory function {@link FioriAnnotationService.createService}.
41
+ *
42
+ * @param vocabularyAPI - Vocabulary API instance.
43
+ * @param adapter - Language specific adapter.
44
+ * @param changeConverter ChangeConverter instance.
45
+ * @param fs - `mem-fs-editor` instance.
46
+ * @param options - API configuration.
47
+ * @param project - Project structure.
48
+ * @param serviceName - Name of the service.
49
+ * @param appName - Name of the application
50
+ */
51
+ constructor(vocabularyAPI, adapter, changeConverter, fs, options, project, serviceName, appName) {
52
+ this.vocabularyAPI = vocabularyAPI;
53
+ this.adapter = adapter;
54
+ this.changeConverter = changeConverter;
55
+ this.fs = fs;
56
+ this.options = options;
57
+ this.serviceName = serviceName;
58
+ this.changes = [];
59
+ this.fileMergeMaps = {};
60
+ this.fileCache = new Map();
61
+ this.isInitialSyncCompleted = false;
62
+ this.projectInfo = {
63
+ appName: '',
64
+ apps: [],
65
+ projectRoot: ''
66
+ };
67
+ this.projectInfo = {
68
+ apps: Object.keys(project.apps) || [],
69
+ appName: appName || '',
70
+ projectRoot: project.root
71
+ };
72
+ }
73
+ /**
74
+ * Creates new FioriAnnotationService instance for the given Fiori application.
75
+ *
76
+ * @param this - Constructor
77
+ * @param project - Project structure.
78
+ * @param serviceName - Name of the service used by the app.
79
+ * @param appName - Name of the application.
80
+ * @param fs - Optional `mem-fs-editor` instance.
81
+ * @param options - API configuration.
82
+ * @returns FioriAnnotationService instance.
83
+ */
84
+ static createService(project, serviceName, appName, fs, options = {}) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const vocabularyAPI = new odata_vocabularies_1.VocabularyService(project.projectType === 'CAPJava' || project.projectType === 'CAPNodejs');
87
+ const finalOptions = getOptionsWithDefaults(options);
88
+ const service = yield getService(project, serviceName, appName, finalOptions.clearFileResolutionCache);
89
+ const adapter = createAdapter(project, service, vocabularyAPI, appName);
90
+ // prepare fs editor if not provided
91
+ let fsEditor;
92
+ if (fs) {
93
+ fsEditor = fs;
94
+ }
95
+ else {
96
+ const store = (0, mem_fs_1.create)();
97
+ fsEditor = (0, mem_fs_editor_1.create)(store);
98
+ }
99
+ const changeConverter = new change_converter_1.ChangeConverter(serviceName, vocabularyAPI, adapter.metadataService, adapter.splitAnnotationSupport);
100
+ const fioriService = new this(vocabularyAPI, adapter, changeConverter, fsEditor, finalOptions, project, serviceName, appName);
101
+ return fioriService;
102
+ });
103
+ }
104
+ /**
105
+ * Returns a metadata service instance.
106
+ *
107
+ * @returns Metadata service instance.
108
+ */
109
+ getMetadataService() {
110
+ return this.adapter.metadataService;
111
+ }
112
+ /**
113
+ * Returns a list of files which describe the service. The order is from least important to the most important file
114
+ * Annotations defined in the last file would overwrite the ones defined in the previous ones.
115
+ * You can only create changes for files which are not marked as `readOnly`.
116
+ *
117
+ * @param [includeGhostFiles] - If set to true will also include ghost files.
118
+ * @returns Text files.
119
+ */
120
+ getAllFiles(includeGhostFiles = false) {
121
+ return this.adapter.getAllFiles(includeGhostFiles);
122
+ }
123
+ /**
124
+ * Refreshes file content from the file system.
125
+ */
126
+ sync() {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ this.fileCache.clear();
129
+ const files = yield Promise.all(this.adapter.getAllFiles().map((file) => __awaiter(this, void 0, void 0, function* () {
130
+ var _a;
131
+ const path = (0, utils_1.pathFromUri)(file.uri);
132
+ const content = (_a = this.fs.read(path)) !== null && _a !== void 0 ? _a : '';
133
+ return Object.assign(Object.assign({}, file), { content });
134
+ })));
135
+ for (const file of files) {
136
+ this.fileCache.set(file.uri, file.content);
137
+ }
138
+ yield this.adapter.sync(this.fileCache);
139
+ this.isInitialSyncCompleted = true;
140
+ });
141
+ }
142
+ /**
143
+ * Provides initial annotation file content.
144
+ *
145
+ * @param filePath - Path to the newly created file.
146
+ * @returns Annotation file content.
147
+ */
148
+ getInitialFileContent(filePath) {
149
+ var _a, _b, _c;
150
+ return (_c = (_b = (_a = this.adapter).getInitialFileContent) === null || _b === void 0 ? void 0 : _b.call(_a, this.serviceName, filePath)) !== null && _c !== void 0 ? _c : '';
151
+ }
152
+ /**
153
+ * Reads annotations for a specific service in an application.
154
+ *
155
+ * @returns Service metadata in AVT format.
156
+ */
157
+ getSchema() {
158
+ const rawMetadata = {
159
+ version: this.adapter.metadataService.ODataVersion,
160
+ identification: 'metadataFile',
161
+ schema: (0, avt_1.convertMetadataToAvtSchema)(this.adapter.metadataService),
162
+ references: []
163
+ };
164
+ this.fileMergeMaps = mergeAnnotations(this.adapter.compiledService, rawMetadata, this.serviceName, {
165
+ vocabulary: this.vocabularyAPI
166
+ }, this.adapter.splitAnnotationSupport);
167
+ return rawMetadata;
168
+ }
169
+ /**
170
+ * Add change(s) to the stack.
171
+ *
172
+ * @param change - Pending changes.
173
+ */
174
+ edit(change) {
175
+ if (Array.isArray(change)) {
176
+ this.changes.push(...change);
177
+ }
178
+ else {
179
+ this.changes.push(change);
180
+ }
181
+ }
182
+ /**
183
+ * Applies the collected changes to the file system.
184
+ *
185
+ * @param options Save options
186
+ * @returns number of files changed.
187
+ */
188
+ save(options) {
189
+ var _a, _b;
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ if (!this.isInitialSyncCompleted) {
192
+ yield this.sync();
193
+ }
194
+ const newContent = {};
195
+ const annotationFileChanges = this.convertChanges(this.changes);
196
+ const workspaceEdit = yield this.adapter.getWorkspaceEdit(annotationFileChanges);
197
+ const changes = (_a = workspaceEdit.changes) !== null && _a !== void 0 ? _a : {};
198
+ const fileUris = Object.keys(changes);
199
+ // copy the cache to temp to revert if changes caused cds compiler error
200
+ const temp = new Map(this.fileCache);
201
+ for (const fileUri of fileUris) {
202
+ const path = (0, utils_1.pathFromUri)(fileUri);
203
+ const text = (_b = this.fs.read(path)) !== null && _b !== void 0 ? _b : '';
204
+ const newText = applyWorkspaceEdits(fileUri, '', workspaceEdit, text);
205
+ this.fileCache.set(fileUri, newText);
206
+ newContent[path] = newText;
207
+ }
208
+ this.changes = [];
209
+ // Validate implicitly syncs, so we don't need to call it again
210
+ if (typeof this.adapter.validateChanges === 'function') {
211
+ const errors = yield this.adapter.validateChanges(this.fileCache);
212
+ if (errors === null || errors === void 0 ? void 0 : errors.size) {
213
+ this.fileCache = new Map(temp);
214
+ const messages = compilerMessagesToErrors(errors);
215
+ throw new error_1.ApiError(exports.COMPILE_ERROR_MSG, error_1.ApiErrorCode.CompileError, messages);
216
+ }
217
+ else {
218
+ // if no compiler error persist the newly applied text edits
219
+ for (const path of Object.keys(newContent)) {
220
+ const content = newContent[path];
221
+ this.saveFile(path, content);
222
+ }
223
+ }
224
+ }
225
+ else if (options === null || options === void 0 ? void 0 : options.resyncAfterSave) {
226
+ yield this.adapter.sync(this.fileCache);
227
+ }
228
+ if (this.options.commitOnSave) {
229
+ yield this.commit();
230
+ }
231
+ this.changes = [];
232
+ this.fileMergeMaps = {};
233
+ return { files: fileUris.length };
234
+ });
235
+ }
236
+ /**
237
+ * Utility function: serialize target with annotations.
238
+ *
239
+ * @param targetAnnotations - Annotations that will be serialized.
240
+ * @param fileUri - use alias information from this file; if none provided, use default aliases for vocabularies, non for metadata
241
+ * @returns Annotations serialized as string for the specified language.
242
+ */
243
+ serializeTarget(targetAnnotations, fileUri) {
244
+ const service = this.adapter.compiledService;
245
+ const annotationFileInternal = service.annotationFiles.find((file) => file.uri === fileUri);
246
+ let aliasInfo = null;
247
+ let namespaces = [];
248
+ if (annotationFileInternal) {
249
+ namespaces = (0, odata_annotation_core_1.getAllNamespacesAndReferences)(annotationFileInternal.namespace, annotationFileInternal.references);
250
+ }
251
+ aliasInfo = (0, odata_annotation_core_1.getAliasInformation)(namespaces, this.getMetadataService().getNamespaces());
252
+ if (!annotationFileInternal) {
253
+ aliasInfo = (0, vocabularies_1.addAllVocabulariesToAliasInformation)(aliasInfo, this.vocabularyAPI.getVocabularies());
254
+ }
255
+ return this.adapter.serializeTarget((0, avt_1.convertTargetAnnotationsToInternal)(targetAnnotations, aliasInfo));
256
+ }
257
+ /**
258
+ * Converts changes to the internal annotation file change format.
259
+ *
260
+ * @param changes - Changes in AVT format.
261
+ * @returns Changes in internal format.
262
+ */
263
+ convertChanges(changes) {
264
+ const compiledService = this.adapter.compiledService;
265
+ let schema;
266
+ if (this.adapter.splitAnnotationSupport && Object.keys(this.fileMergeMaps).length === 0) {
267
+ // make sure merge maps are filled
268
+ schema = this.getSchema();
269
+ }
270
+ const schemaProvider = () => {
271
+ if (schema) {
272
+ return schema;
273
+ }
274
+ else {
275
+ schema = this.getSchema();
276
+ return schema;
277
+ }
278
+ };
279
+ return this.changeConverter.convert(compiledService, this.fileMergeMaps, schemaProvider, changes);
280
+ }
281
+ saveFile(path, content) {
282
+ this.fs.write(path, content);
283
+ }
284
+ commit() {
285
+ return __awaiter(this, void 0, void 0, function* () {
286
+ yield new Promise((resolve, reject) => {
287
+ this.fs.commit((error) => {
288
+ if (error instanceof Error) {
289
+ reject(error);
290
+ }
291
+ else if (typeof error === 'string') {
292
+ reject(new Error(error));
293
+ }
294
+ else if (error) {
295
+ reject(new Error('Unknown error.'));
296
+ }
297
+ resolve();
298
+ });
299
+ });
300
+ });
301
+ }
302
+ }
303
+ exports.FioriAnnotationService = FioriAnnotationService;
304
+ function applyWorkspaceEdits(fileUri, languageId, workspaceEdits, content) {
305
+ var _a;
306
+ const document = vscode_languageserver_textdocument_1.TextDocument.create(fileUri, languageId, 0, content);
307
+ const fileChanges = workspaceEdits.changes ? (_a = workspaceEdits.changes[fileUri]) !== null && _a !== void 0 ? _a : [] : [];
308
+ return vscode_languageserver_textdocument_1.TextDocument.applyEdits(document, fileChanges);
309
+ }
310
+ function mergeAnnotations(compiledService, rawMetadata, serviceName, options, mergeSplitAnnotations) {
311
+ const fileMergeMaps = {};
312
+ for (const annotationFile of [...compiledService.annotationFiles]) {
313
+ const mergeMap = {};
314
+ fileMergeMaps[annotationFile.uri] = mergeMap;
315
+ const targets = (0, avt_1.convertAnnotationFile)(annotationFile, serviceName, {
316
+ addOrigins: true,
317
+ vocabularyService: options.vocabulary,
318
+ mergeSplitAnnotations: mergeSplitAnnotations,
319
+ mergeMap
320
+ });
321
+ rawMetadata.schema.annotations[annotationFile.uri] = targets;
322
+ }
323
+ return fileMergeMaps;
324
+ }
325
+ function getService(project, serviceName, appName, clearCache) {
326
+ return __awaiter(this, void 0, void 0, function* () {
327
+ if (project.projectType === 'EDMXBackend') {
328
+ return (0, xml_1.getLocalEDMXService)(project, serviceName, appName);
329
+ }
330
+ else if (project.projectType === 'CAPJava' || project.projectType === 'CAPNodejs') {
331
+ return (0, cds_1.getCDSService)(project.root, serviceName, clearCache);
332
+ }
333
+ else {
334
+ throw new Error(`Unsupported project type "${project.projectType}"!`);
335
+ }
336
+ });
337
+ }
338
+ function createAdapter(project, service, vocabularyService, appName) {
339
+ if (service.type === 'local-edmx') {
340
+ return new xml_1.XMLAnnotationServiceAdapter(service, vocabularyService, project, appName);
341
+ }
342
+ else if (service.type === 'cap-cds') {
343
+ return new cds_1.CDSAnnotationServiceAdapter(service, project, vocabularyService, appName);
344
+ }
345
+ else {
346
+ throw new Error(`Unsupported service type "${service.type}"!`);
347
+ }
348
+ }
349
+ function compilerMessagesToErrors(compileMessages) {
350
+ const result = new Map();
351
+ [...compileMessages.entries()].forEach((entry) => {
352
+ const [file, value] = entry;
353
+ if (value.hasSyntaxErrors && !file.startsWith('../')) {
354
+ const errorMsgs = value.messages
355
+ .filter((value) => value.severity === odata_annotation_core_types_1.DiagnosticSeverity.Error)
356
+ .map((msg) => msg.message);
357
+ result.set(file, errorMsgs);
358
+ }
359
+ });
360
+ return result;
361
+ }
362
+ //# sourceMappingURL=fiori-service.js.map