angular-odata 0.127.0 → 0.128.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 (274) hide show
  1. package/esm2022/lib/annotations.mjs +140 -0
  2. package/esm2022/lib/api.mjs +209 -164
  3. package/esm2022/lib/cache/cache.mjs +1 -1
  4. package/esm2022/lib/cache/memory.mjs +1 -1
  5. package/esm2022/lib/client.mjs +4 -44
  6. package/esm2022/lib/constants.mjs +4 -1
  7. package/esm2022/lib/index.mjs +3 -1
  8. package/esm2022/lib/loaders.mjs +23 -17
  9. package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +95 -0
  10. package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +27 -0
  11. package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +24 -0
  12. package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +37 -0
  13. package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +94 -0
  14. package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +7 -0
  15. package/esm2022/lib/metadata/csdl/csdl-reference.mjs +23 -0
  16. package/esm2022/lib/metadata/csdl/csdl-schema.mjs +39 -0
  17. package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +15 -0
  18. package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +70 -0
  19. package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +92 -0
  20. package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +15 -0
  21. package/esm2022/lib/metadata/index.mjs +3 -0
  22. package/esm2022/lib/metadata/metadata.mjs +14 -0
  23. package/esm2022/lib/metadata/parser.mjs +563 -0
  24. package/esm2022/lib/models/collection.mjs +98 -140
  25. package/esm2022/lib/models/model.mjs +38 -45
  26. package/esm2022/lib/models/options.mjs +127 -117
  27. package/esm2022/lib/module.mjs +3 -3
  28. package/esm2022/lib/resources/index.mjs +2 -2
  29. package/esm2022/lib/resources/options.mjs +56 -0
  30. package/esm2022/lib/resources/path/handlers.mjs +14 -4
  31. package/esm2022/lib/resources/path/segments.mjs +6 -4
  32. package/esm2022/lib/resources/query/builder.mjs +5 -5
  33. package/esm2022/lib/resources/query/expressions/apply.mjs +81 -14
  34. package/esm2022/lib/resources/query/expressions/base.mjs +1 -1
  35. package/esm2022/lib/resources/query/expressions/compute.mjs +1 -1
  36. package/esm2022/lib/resources/query/expressions/count.mjs +1 -1
  37. package/esm2022/lib/resources/query/expressions/expand.mjs +1 -1
  38. package/esm2022/lib/resources/query/expressions/filter.mjs +1 -1
  39. package/esm2022/lib/resources/query/expressions/orderby.mjs +2 -2
  40. package/esm2022/lib/resources/query/expressions/search.mjs +1 -1
  41. package/esm2022/lib/resources/query/expressions/select.mjs +5 -1
  42. package/esm2022/lib/resources/query/expressions/syntax.mjs +18 -7
  43. package/esm2022/lib/resources/query/handlers.mjs +1 -1
  44. package/esm2022/lib/resources/query/options.mjs +1 -1
  45. package/esm2022/lib/resources/request.mjs +5 -5
  46. package/esm2022/lib/resources/resource.mjs +107 -82
  47. package/esm2022/lib/resources/response.mjs +174 -0
  48. package/esm2022/lib/resources/types/action.mjs +29 -26
  49. package/esm2022/lib/resources/types/batch.mjs +1 -1
  50. package/esm2022/lib/resources/types/count.mjs +7 -7
  51. package/esm2022/lib/resources/types/entity-set.mjs +37 -24
  52. package/esm2022/lib/resources/types/entity.mjs +14 -11
  53. package/esm2022/lib/resources/types/function.mjs +25 -28
  54. package/esm2022/lib/resources/types/metadata.mjs +9 -5
  55. package/esm2022/lib/resources/types/navigation-property.mjs +36 -30
  56. package/esm2022/lib/resources/types/property.mjs +31 -49
  57. package/esm2022/lib/resources/types/reference.mjs +3 -4
  58. package/esm2022/lib/resources/types/singleton.mjs +11 -7
  59. package/esm2022/lib/resources/types/value.mjs +16 -12
  60. package/esm2022/lib/schema/callable.mjs +10 -10
  61. package/esm2022/lib/schema/element.mjs +15 -9
  62. package/esm2022/lib/schema/entity-container.mjs +4 -2
  63. package/esm2022/lib/schema/enum-type.mjs +6 -7
  64. package/esm2022/lib/schema/index.mjs +2 -1
  65. package/esm2022/lib/schema/parsers/callable.mjs +10 -7
  66. package/esm2022/lib/schema/parsers/edm.mjs +6 -4
  67. package/esm2022/lib/schema/parsers/enum-type.mjs +10 -10
  68. package/esm2022/lib/schema/parsers/structured-type.mjs +19 -19
  69. package/esm2022/lib/schema/schema.mjs +18 -34
  70. package/esm2022/lib/schema/singleton.mjs +9 -0
  71. package/esm2022/lib/schema/structured-type.mjs +18 -23
  72. package/esm2022/lib/services/base.mjs +1 -1
  73. package/esm2022/lib/services/entity-set.mjs +12 -2
  74. package/esm2022/lib/services/entity.mjs +2 -2
  75. package/esm2022/lib/services/factory.mjs +18 -7
  76. package/esm2022/lib/services/singleton.mjs +8 -2
  77. package/esm2022/lib/settings.mjs +7 -99
  78. package/esm2022/lib/types.mjs +1 -1
  79. package/esm2022/lib/utils/http.mjs +1 -1
  80. package/fesm2022/angular-odata.mjs +2286 -1951
  81. package/fesm2022/angular-odata.mjs.map +1 -1
  82. package/lib/{resources/responses/annotations.d.ts → annotations.d.ts} +2 -2
  83. package/lib/api.d.ts +29 -26
  84. package/lib/cache/memory.d.ts +1 -1
  85. package/lib/client.d.ts +0 -20
  86. package/lib/constants.d.ts +3 -0
  87. package/lib/index.d.ts +1 -0
  88. package/lib/loaders.d.ts +7 -1
  89. package/lib/metadata/csdl/csdl-annotation.d.ts +123 -0
  90. package/lib/metadata/csdl/csdl-entity-container.d.ts +26 -0
  91. package/lib/metadata/csdl/csdl-entity-set.d.ts +20 -0
  92. package/lib/metadata/csdl/csdl-enum-type.d.ts +29 -0
  93. package/lib/metadata/csdl/csdl-function-action.d.ts +105 -0
  94. package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +8 -0
  95. package/lib/metadata/csdl/csdl-reference.d.ts +30 -0
  96. package/lib/metadata/csdl/csdl-schema.d.ts +34 -0
  97. package/lib/metadata/csdl/csdl-singleton.d.ts +16 -0
  98. package/lib/metadata/csdl/csdl-structural-property.d.ts +70 -0
  99. package/lib/metadata/csdl/csdl-structured-type.d.ts +73 -0
  100. package/lib/metadata/csdl/csdl-type-definition.d.ts +22 -0
  101. package/lib/metadata/index.d.ts +2 -0
  102. package/lib/metadata/metadata.d.ts +10 -0
  103. package/lib/{resources/responses/metadata.d.ts → metadata/parser.d.ts} +19 -7
  104. package/lib/models/collection.d.ts +4 -3
  105. package/lib/models/model.d.ts +15 -23
  106. package/lib/models/options.d.ts +37 -23
  107. package/lib/resources/index.d.ts +1 -1
  108. package/lib/resources/{responses/options.d.ts → options.d.ts} +2 -2
  109. package/lib/resources/path/handlers.d.ts +4 -2
  110. package/lib/resources/path/segments.d.ts +3 -1
  111. package/lib/resources/query/expressions/apply.d.ts +37 -15
  112. package/lib/resources/query/expressions/base.d.ts +1 -1
  113. package/lib/resources/query/expressions/compute.d.ts +2 -2
  114. package/lib/resources/query/expressions/count.d.ts +1 -1
  115. package/lib/resources/query/expressions/expand.d.ts +1 -1
  116. package/lib/resources/query/expressions/filter.d.ts +1 -1
  117. package/lib/resources/query/expressions/orderby.d.ts +5 -4
  118. package/lib/resources/query/expressions/search.d.ts +1 -1
  119. package/lib/resources/query/expressions/select.d.ts +2 -1
  120. package/lib/resources/query/expressions/syntax.d.ts +6 -3
  121. package/lib/resources/resource.d.ts +27 -15
  122. package/lib/resources/{responses/response.d.ts → response.d.ts} +17 -5
  123. package/lib/resources/types/action.d.ts +12 -10
  124. package/lib/resources/types/batch.d.ts +3 -2
  125. package/lib/resources/types/count.d.ts +1 -5
  126. package/lib/resources/types/entity-set.d.ts +13 -6
  127. package/lib/resources/types/entity.d.ts +3 -4
  128. package/lib/resources/types/function.d.ts +11 -11
  129. package/lib/resources/types/metadata.d.ts +1 -1
  130. package/lib/resources/types/navigation-property.d.ts +13 -7
  131. package/lib/resources/types/property.d.ts +15 -8
  132. package/lib/resources/types/reference.d.ts +2 -4
  133. package/lib/resources/types/singleton.d.ts +4 -6
  134. package/lib/resources/types/value.d.ts +2 -6
  135. package/lib/schema/callable.d.ts +5 -7
  136. package/lib/schema/element.d.ts +11 -4
  137. package/lib/schema/entity-container.d.ts +2 -0
  138. package/lib/schema/enum-type.d.ts +4 -7
  139. package/lib/schema/index.d.ts +1 -0
  140. package/lib/schema/parsers/callable.d.ts +7 -8
  141. package/lib/schema/parsers/enum-type.d.ts +2 -4
  142. package/lib/schema/parsers/structured-type.d.ts +6 -8
  143. package/lib/schema/schema.d.ts +6 -9
  144. package/lib/schema/singleton.d.ts +10 -0
  145. package/lib/schema/structured-type.d.ts +5 -8
  146. package/lib/services/entity-set.d.ts +7 -3
  147. package/lib/services/factory.d.ts +14 -2
  148. package/lib/services/singleton.d.ts +4 -2
  149. package/lib/settings.d.ts +0 -10
  150. package/lib/types.d.ts +12 -3
  151. package/package.json +5 -1
  152. package/schematics/apigen/angular/api-config.d.ts +15 -0
  153. package/schematics/apigen/angular/api-config.js +34 -0
  154. package/schematics/apigen/angular/api-config.js.map +1 -0
  155. package/schematics/apigen/angular/base.d.ts +51 -0
  156. package/schematics/apigen/angular/base.js +200 -0
  157. package/schematics/apigen/angular/base.js.map +1 -0
  158. package/schematics/apigen/angular/entity.d.ts +24 -0
  159. package/schematics/apigen/angular/entity.js +71 -0
  160. package/schematics/apigen/angular/entity.js.map +1 -0
  161. package/schematics/apigen/angular/enum.d.ts +25 -0
  162. package/schematics/apigen/angular/enum.js +56 -0
  163. package/schematics/apigen/angular/enum.js.map +1 -0
  164. package/schematics/apigen/angular/import.d.ts +6 -0
  165. package/schematics/apigen/angular/import.js +18 -0
  166. package/schematics/apigen/angular/import.js.map +1 -0
  167. package/schematics/apigen/angular/module.d.ts +18 -0
  168. package/schematics/apigen/angular/module.js +41 -0
  169. package/schematics/apigen/angular/module.js.map +1 -0
  170. package/schematics/apigen/angular/service.d.ts +20 -0
  171. package/schematics/apigen/angular/service.js +76 -0
  172. package/schematics/apigen/angular/service.js.map +1 -0
  173. package/schematics/apigen/files/api-config/__fileName__.ts +9 -0
  174. package/schematics/apigen/files/entity/__fileName__.ts +7 -0
  175. package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +18 -0
  176. package/schematics/apigen/files/entityset-service/__fileName__.ts +27 -0
  177. package/schematics/apigen/files/enum/__fileName__.ts +4 -0
  178. package/schematics/apigen/files/index/__fileName__.ts +2 -0
  179. package/schematics/apigen/files/module/__fileName__.ts +9 -0
  180. package/schematics/apigen/files/singleton-service/__fileName__.ts +18 -0
  181. package/schematics/apigen/index.d.ts +3 -0
  182. package/schematics/apigen/index.js +106 -0
  183. package/schematics/apigen/index.js.map +1 -0
  184. package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +120 -0
  185. package/schematics/apigen/metadata/csdl/csdl-annotation.js +98 -0
  186. package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -0
  187. package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +26 -0
  188. package/schematics/apigen/metadata/csdl/csdl-entity-container.js +30 -0
  189. package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -0
  190. package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +20 -0
  191. package/schematics/apigen/metadata/csdl/csdl-entity-set.js +26 -0
  192. package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -0
  193. package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +28 -0
  194. package/schematics/apigen/metadata/csdl/csdl-enum-type.js +33 -0
  195. package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -0
  196. package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +103 -0
  197. package/schematics/apigen/metadata/csdl/csdl-function-action.js +84 -0
  198. package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -0
  199. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +8 -0
  200. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +11 -0
  201. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -0
  202. package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +30 -0
  203. package/schematics/apigen/metadata/csdl/csdl-reference.js +29 -0
  204. package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -0
  205. package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +32 -0
  206. package/schematics/apigen/metadata/csdl/csdl-schema.js +26 -0
  207. package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -0
  208. package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +18 -0
  209. package/schematics/apigen/metadata/csdl/csdl-singleton.js +25 -0
  210. package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -0
  211. package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +63 -0
  212. package/schematics/apigen/metadata/csdl/csdl-structural-property.js +50 -0
  213. package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -0
  214. package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +64 -0
  215. package/schematics/apigen/metadata/csdl/csdl-structured-type.js +71 -0
  216. package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -0
  217. package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +22 -0
  218. package/schematics/apigen/metadata/csdl/csdl-type-definition.js +19 -0
  219. package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -0
  220. package/schematics/apigen/metadata/index.d.ts +1 -0
  221. package/schematics/apigen/metadata/index.js +18 -0
  222. package/schematics/apigen/metadata/index.js.map +1 -0
  223. package/schematics/apigen/metadata/metadata.d.ts +11 -0
  224. package/schematics/apigen/metadata/metadata.js +30 -0
  225. package/schematics/apigen/metadata/metadata.js.map +1 -0
  226. package/schematics/apigen/metadata/parser.d.ts +110 -0
  227. package/schematics/apigen/metadata/parser.js +568 -0
  228. package/schematics/apigen/metadata/parser.js.map +1 -0
  229. package/schematics/apigen/schema.d.ts +8 -0
  230. package/schematics/apigen/schema.js +3 -0
  231. package/schematics/apigen/schema.js.map +1 -0
  232. package/schematics/apigen/schema.json +36 -0
  233. package/schematics/apigen/utils.d.ts +1 -0
  234. package/schematics/apigen/utils.js +75 -0
  235. package/schematics/apigen/utils.js.map +1 -0
  236. package/schematics/collection.json +14 -0
  237. package/schematics/ng-add/index.d.ts +2 -0
  238. package/schematics/ng-add/index.js +13 -0
  239. package/schematics/ng-add/index.js.map +1 -0
  240. package/schematics/random.d.ts +1 -0
  241. package/schematics/random.js +604 -0
  242. package/schematics/random.js.map +1 -0
  243. package/esm2022/lib/resources/responses/annotations.mjs +0 -140
  244. package/esm2022/lib/resources/responses/csdl/csdl-annotation.mjs +0 -33
  245. package/esm2022/lib/resources/responses/csdl/csdl-entity-container.mjs +0 -11
  246. package/esm2022/lib/resources/responses/csdl/csdl-entity-set.mjs +0 -9
  247. package/esm2022/lib/resources/responses/csdl/csdl-enum-type.mjs +0 -15
  248. package/esm2022/lib/resources/responses/csdl/csdl-function-action.mjs +0 -56
  249. package/esm2022/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs +0 -7
  250. package/esm2022/lib/resources/responses/csdl/csdl-reference.mjs +0 -23
  251. package/esm2022/lib/resources/responses/csdl/csdl-schema.mjs +0 -18
  252. package/esm2022/lib/resources/responses/csdl/csdl-singleton.mjs +0 -8
  253. package/esm2022/lib/resources/responses/csdl/csdl-structural-property.mjs +0 -39
  254. package/esm2022/lib/resources/responses/csdl/csdl-structured-type.mjs +0 -34
  255. package/esm2022/lib/resources/responses/csdl/csdl-type-definition.mjs +0 -14
  256. package/esm2022/lib/resources/responses/index.mjs +0 -5
  257. package/esm2022/lib/resources/responses/metadata.mjs +0 -547
  258. package/esm2022/lib/resources/responses/options.mjs +0 -56
  259. package/esm2022/lib/resources/responses/response.mjs +0 -174
  260. package/esm2022/lib/resources/responses/types.mjs +0 -2
  261. package/lib/resources/responses/csdl/csdl-annotation.d.ts +0 -27
  262. package/lib/resources/responses/csdl/csdl-entity-container.d.ts +0 -12
  263. package/lib/resources/responses/csdl/csdl-entity-set.d.ts +0 -8
  264. package/lib/resources/responses/csdl/csdl-enum-type.d.ts +0 -12
  265. package/lib/resources/responses/csdl/csdl-function-action.d.ts +0 -49
  266. package/lib/resources/responses/csdl/csdl-navigation-property-binding.d.ts +0 -5
  267. package/lib/resources/responses/csdl/csdl-reference.d.ts +0 -18
  268. package/lib/resources/responses/csdl/csdl-schema.d.ts +0 -20
  269. package/lib/resources/responses/csdl/csdl-singleton.d.ts +0 -7
  270. package/lib/resources/responses/csdl/csdl-structural-property.d.ts +0 -31
  271. package/lib/resources/responses/csdl/csdl-structured-type.d.ts +0 -27
  272. package/lib/resources/responses/csdl/csdl-type-definition.d.ts +0 -11
  273. package/lib/resources/responses/index.d.ts +0 -4
  274. package/lib/resources/responses/types.d.ts +0 -13
@@ -0,0 +1,568 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ODataMetadataParser = void 0;
4
+ const jsdom_1 = require("jsdom");
5
+ const metadata_1 = require("./metadata");
6
+ const VERSION_4_0 = '4.0';
7
+ var FieldType;
8
+ (function (FieldType) {
9
+ FieldType[FieldType["ATTRIBUTE"] = 0] = "ATTRIBUTE";
10
+ FieldType[FieldType["TAG"] = 1] = "TAG";
11
+ })(FieldType || (FieldType = {}));
12
+ class Field {
13
+ constructor(name, fieldType) {
14
+ this.name = name;
15
+ this.fieldType = fieldType;
16
+ }
17
+ }
18
+ class ODataMetadataParser {
19
+ constructor(source) {
20
+ try {
21
+ this.document = new jsdom_1.JSDOM(source, {
22
+ contentType: 'text/xml',
23
+ }).window.document;
24
+ this.checkVersion();
25
+ }
26
+ catch (error) {
27
+ throw new Error('Unable to parse metadata, ' + error);
28
+ }
29
+ }
30
+ metadata() {
31
+ const version = this.getFieldValueByAttribute(new Field(ODataMetadataParser.ATTRIBUTE_VERSION, FieldType.ATTRIBUTE), this.document.documentElement.attributes);
32
+ const references = this.getObjects(this.document.documentElement, ODataMetadataParser.TAG_REFERENCE, [
33
+ new Field(ODataMetadataParser.ATTRIBUTE_URI, FieldType.ATTRIBUTE),
34
+ new Field(ODataMetadataParser.TAG_INCLUDE, FieldType.TAG),
35
+ new Field(ODataMetadataParser.TAG_INCLUDE_ANNOTATIONS, FieldType.TAG),
36
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
37
+ ]);
38
+ const dataServices = this.document.documentElement.getElementsByTagName(ODataMetadataParser.TAG_DATA_SERVICES)[0];
39
+ const schemas = this.getObjects(dataServices, ODataMetadataParser.TAG_SCHEMA, [
40
+ new Field(ODataMetadataParser.ATTRIBUTE_NAMESPACE, FieldType.ATTRIBUTE),
41
+ new Field(ODataMetadataParser.ATTRIBUTE_ALIAS, FieldType.ATTRIBUTE),
42
+ new Field(ODataMetadataParser.TAG_ENUM_TYPE, FieldType.TAG),
43
+ new Field(ODataMetadataParser.TAG_COMPLEX_TYPE, FieldType.TAG),
44
+ new Field(ODataMetadataParser.TAG_ENTITY_TYPE, FieldType.TAG),
45
+ new Field(ODataMetadataParser.TAG_FUNCTION, FieldType.TAG),
46
+ new Field(ODataMetadataParser.TAG_ACTION, FieldType.TAG),
47
+ new Field(ODataMetadataParser.TAG_ENTITY_CONTAINER, FieldType.TAG),
48
+ new Field(ODataMetadataParser.TAG_TYPE_DEFINITION, FieldType.TAG),
49
+ new Field(ODataMetadataParser.TAG_TERM, FieldType.TAG),
50
+ new Field(ODataMetadataParser.TAG_ANNOTATIONS, FieldType.TAG),
51
+ ]);
52
+ return new metadata_1.ODataMetadata(version, references, schemas);
53
+ }
54
+ checkVersion() {
55
+ // check version
56
+ const attributes = this.document.documentElement.attributes;
57
+ if (!attributes) {
58
+ throw new Error('OData version is not specified in the metadata');
59
+ }
60
+ const attr = attributes.getNamedItem('Version');
61
+ if (attr === null) {
62
+ throw new Error('OData version is not specified in the metadata');
63
+ }
64
+ const odataVersion = attr === null || attr === void 0 ? void 0 : attr.nodeValue;
65
+ if (odataVersion !== VERSION_4_0) {
66
+ throw new Error('OData version "' + odataVersion + '" is not supported');
67
+ }
68
+ }
69
+ getObjects(parentElement, tag, fieldNames) {
70
+ let objects = [];
71
+ const children = parentElement.children;
72
+ for (let index = 0; index < children.length; index++) {
73
+ const element = children.item(index);
74
+ if (!element || element.nodeName !== tag) {
75
+ continue;
76
+ }
77
+ const attributes = element.attributes;
78
+ const fieldValues = this.getFieldValues(fieldNames, attributes, element);
79
+ fieldValues['TextContent'] = element.textContent;
80
+ switch (tag) {
81
+ case ODataMetadataParser.TAG_REFERENCE:
82
+ case ODataMetadataParser.TAG_INCLUDE:
83
+ case ODataMetadataParser.TAG_INCLUDE_ANNOTATIONS:
84
+ case ODataMetadataParser.TAG_TERM:
85
+ case ODataMetadataParser.TAG_ANNOTATIONS:
86
+ case ODataMetadataParser.TAG_COLLECTION:
87
+ case ODataMetadataParser.TAG_RECORD:
88
+ case ODataMetadataParser.TAG_STRING:
89
+ case ODataMetadataParser.TAG_ENUM_MEMBER:
90
+ case ODataMetadataParser.TAG_PROPERTY_VALUE:
91
+ case ODataMetadataParser.TAG_PROPERTY_PATH:
92
+ case ODataMetadataParser.TAG_NAVIGATION_PROPERTY_PATH:
93
+ case ODataMetadataParser.TAG_ANNOTATION:
94
+ case ODataMetadataParser.TAG_SCHEMA:
95
+ case ODataMetadataParser.TAG_ENUM_TYPE:
96
+ case ODataMetadataParser.TAG_COMPLEX_TYPE:
97
+ case ODataMetadataParser.TAG_ENTITY_TYPE:
98
+ case ODataMetadataParser.TAG_FUNCTION:
99
+ case ODataMetadataParser.TAG_MEMBER:
100
+ case ODataMetadataParser.TAG_PROPERTY:
101
+ case ODataMetadataParser.TAG_PROPERTY_REF:
102
+ case ODataMetadataParser.TAG_NAVIGATION_PROPERTY:
103
+ case ODataMetadataParser.TAG_REFERENTIAL_CONSTRAINT:
104
+ case ODataMetadataParser.TAG_PARAMETER:
105
+ case ODataMetadataParser.TAG_ACTION:
106
+ case ODataMetadataParser.TAG_ENTITY_SET:
107
+ case ODataMetadataParser.TAG_SINGLETON:
108
+ case ODataMetadataParser.TAG_FUNCTION_IMPORT:
109
+ case ODataMetadataParser.TAG_ACTION_IMPORT:
110
+ case ODataMetadataParser.TAG_NAVIGATION_PROPERTY_BINDING:
111
+ case ODataMetadataParser.TAG_TYPE_DEFINITION:
112
+ case ODataMetadataParser.TAG_ENTITY_CONTAINER:
113
+ objects.push(fieldValues);
114
+ break;
115
+ default:
116
+ throw new Error('Unknwon tag:' + tag);
117
+ }
118
+ }
119
+ return objects;
120
+ }
121
+ getObject(parentElement, tag, fieldNames) {
122
+ var _a;
123
+ let object;
124
+ const children = parentElement.children;
125
+ let element;
126
+ for (let index = 0; index < children.length; index++) {
127
+ if (children && ((_a = children.item(index)) === null || _a === void 0 ? void 0 : _a.nodeName) === tag) {
128
+ if (element !== undefined && element !== null) {
129
+ throw new Error('Expected one ' + tag);
130
+ }
131
+ element = children.item(index);
132
+ }
133
+ }
134
+ if (element !== undefined && element !== null) {
135
+ const attributes = element.attributes;
136
+ const fieldValues = this.getFieldValues(fieldNames, attributes, element);
137
+ fieldValues['TextContent'] = element.textContent;
138
+ switch (tag) {
139
+ case ODataMetadataParser.TAG_KEY:
140
+ case ODataMetadataParser.TAG_RETURN_TYPE:
141
+ case ODataMetadataParser.TAG_ON_DELETE:
142
+ return fieldValues;
143
+ default:
144
+ throw new Error('Unknwon tag:' + tag);
145
+ }
146
+ }
147
+ return object;
148
+ }
149
+ getFieldValues(fields, attributes, element) {
150
+ const fieldValues = {};
151
+ for (const field of fields) {
152
+ if (field.fieldType === FieldType.TAG) {
153
+ fieldValues[field.name] = this.getFieldValueByTag(field, element);
154
+ }
155
+ else if (field.fieldType === FieldType.ATTRIBUTE) {
156
+ fieldValues[field.name] = this.getFieldValueByAttribute(field, attributes);
157
+ }
158
+ else {
159
+ throw new Error('Unknown field type: ' + field.fieldType);
160
+ }
161
+ }
162
+ return fieldValues;
163
+ }
164
+ getFieldValueByAttribute(field, attributes) {
165
+ switch (field.name) {
166
+ case ODataMetadataParser.ATTRIBUTE_VERSION:
167
+ case ODataMetadataParser.ATTRIBUTE_URI:
168
+ case ODataMetadataParser.ATTRIBUTE_NAMESPACE:
169
+ case ODataMetadataParser.ATTRIBUTE_ALIAS:
170
+ case ODataMetadataParser.ATTRIBUTE_TERM_NAMESPACE:
171
+ case ODataMetadataParser.ATTRIBUTE_TERM:
172
+ case ODataMetadataParser.ATTRIBUTE_QUALIFIER:
173
+ case ODataMetadataParser.ATTRIBUTE_STRING:
174
+ case ODataMetadataParser.ATTRIBUTE_BOOL:
175
+ case ODataMetadataParser.ATTRIBUTE_INT:
176
+ case ODataMetadataParser.ATTRIBUTE_TARGET_NAMESPACE:
177
+ case ODataMetadataParser.ATTRIBUTE_NAME:
178
+ case ODataMetadataParser.ATTRIBUTE_TYPE:
179
+ case ODataMetadataParser.ATTRIBUTE_SRID:
180
+ case ODataMetadataParser.ATTRIBUTE_DEFAULT_VALUE:
181
+ case ODataMetadataParser.ATTRIBUTE_PARTNER:
182
+ case ODataMetadataParser.ATTRIBUTE_PROPERTY:
183
+ case ODataMetadataParser.ATTRIBUTE_REFERENCED_PROPERTY:
184
+ case ODataMetadataParser.ATTRIBUTE_BASE_TYPE:
185
+ case ODataMetadataParser.ATTRIBUTE_ENTITY_SET_PATH:
186
+ case ODataMetadataParser.ATTRIBUTE_ENTITY_TYPE:
187
+ case ODataMetadataParser.ATTRIBUTE_PATH:
188
+ case ODataMetadataParser.ATTRIBUTE_TARGET:
189
+ case ODataMetadataParser.ATTRIBUTE_FUNCTION:
190
+ case ODataMetadataParser.ATTRIBUTE_ACTION:
191
+ case ODataMetadataParser.ATTRIBUTE_ENTITY_SET:
192
+ case ODataMetadataParser.ATTRIBUTE_UNDERLYING_TYPE:
193
+ case ODataMetadataParser.ATTRIBUTE_EXTENDS:
194
+ case ODataMetadataParser.ATTRIBUTE_BASE_TERM:
195
+ case ODataMetadataParser.ATTRIBUTE_APPLIES_TO:
196
+ return this.getAttributeValue(attributes, field.name);
197
+ case ODataMetadataParser.ATTRIBUTE_NULLABLE:
198
+ case ODataMetadataParser.ATTRIBUTE_UNICODE:
199
+ case ODataMetadataParser.ATTRIBUTE_OPEN_TYPE:
200
+ case ODataMetadataParser.ATTRIBUTE_HAS_STREAM:
201
+ case ODataMetadataParser.ATTRIBUTE_IS_BOUND:
202
+ case ODataMetadataParser.ATTRIBUTE_IS_COMPOSABLE:
203
+ case ODataMetadataParser.ATTRIBUTE_CONTAINS_TARGET:
204
+ case ODataMetadataParser.ATTRIBUTE_INCLUDE_IN_SERVICE_DOCUMENT:
205
+ case ODataMetadataParser.ATTRIBUTE_ABSTRACT:
206
+ case ODataMetadataParser.ATTRIBUTE_IS_FLAGS:
207
+ return this.propertyValueToBoolean(this.getAttributeValue(attributes, field.name));
208
+ case ODataMetadataParser.ATTRIBUTE_VALUE:
209
+ case ODataMetadataParser.ATTRIBUTE_MAX_LENGTH:
210
+ case ODataMetadataParser.ATTRIBUTE_PRECISION:
211
+ case ODataMetadataParser.ATTRIBUTE_SCALE:
212
+ return this.propertyValueToNumber(this.getAttributeValue(attributes, field.name));
213
+ case ODataMetadataParser.ATTRIBUTE_DATE:
214
+ return this.propertyValueToDate(this.getAttributeValue(attributes, field.name));
215
+ default:
216
+ throw new Error('Unknwon attribute:' + field.name);
217
+ }
218
+ }
219
+ getFieldValueByTag(field, element) {
220
+ switch (field.name) {
221
+ case ODataMetadataParser.TAG_INCLUDE:
222
+ return this.getObjects(element, field.name, [
223
+ new Field(ODataMetadataParser.ATTRIBUTE_NAMESPACE, FieldType.ATTRIBUTE),
224
+ new Field(ODataMetadataParser.ATTRIBUTE_ALIAS, FieldType.ATTRIBUTE),
225
+ ]);
226
+ case ODataMetadataParser.TAG_INCLUDE_ANNOTATIONS:
227
+ return this.getObjects(element, field.name, [
228
+ new Field(ODataMetadataParser.ATTRIBUTE_TERM_NAMESPACE, FieldType.ATTRIBUTE),
229
+ new Field(ODataMetadataParser.ATTRIBUTE_QUALIFIER, FieldType.ATTRIBUTE),
230
+ new Field(ODataMetadataParser.ATTRIBUTE_TARGET_NAMESPACE, FieldType.ATTRIBUTE),
231
+ ]);
232
+ case ODataMetadataParser.TAG_TERM:
233
+ return this.getObjects(element, field.name, [
234
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
235
+ new Field(ODataMetadataParser.ATTRIBUTE_TYPE, FieldType.ATTRIBUTE),
236
+ new Field(ODataMetadataParser.ATTRIBUTE_BASE_TERM, FieldType.ATTRIBUTE),
237
+ new Field(ODataMetadataParser.ATTRIBUTE_DEFAULT_VALUE, FieldType.ATTRIBUTE),
238
+ new Field(ODataMetadataParser.ATTRIBUTE_APPLIES_TO, FieldType.ATTRIBUTE),
239
+ new Field(ODataMetadataParser.ATTRIBUTE_NULLABLE, FieldType.ATTRIBUTE),
240
+ new Field(ODataMetadataParser.ATTRIBUTE_MAX_LENGTH, FieldType.ATTRIBUTE),
241
+ new Field(ODataMetadataParser.ATTRIBUTE_PRECISION, FieldType.ATTRIBUTE),
242
+ new Field(ODataMetadataParser.ATTRIBUTE_SCALE, FieldType.ATTRIBUTE),
243
+ new Field(ODataMetadataParser.ATTRIBUTE_SRID, FieldType.ATTRIBUTE),
244
+ new Field(ODataMetadataParser.ATTRIBUTE_STRING, FieldType.ATTRIBUTE),
245
+ new Field(ODataMetadataParser.ATTRIBUTE_BOOL, FieldType.ATTRIBUTE),
246
+ new Field(ODataMetadataParser.ATTRIBUTE_INT, FieldType.ATTRIBUTE),
247
+ ]);
248
+ case ODataMetadataParser.TAG_ANNOTATIONS:
249
+ return this.getObjects(element, field.name, [
250
+ new Field(ODataMetadataParser.ATTRIBUTE_TARGET, FieldType.ATTRIBUTE),
251
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
252
+ new Field(ODataMetadataParser.ATTRIBUTE_QUALIFIER, FieldType.ATTRIBUTE),
253
+ ]);
254
+ case ODataMetadataParser.TAG_ANNOTATION:
255
+ return this.getObjects(element, field.name, [
256
+ new Field(ODataMetadataParser.ATTRIBUTE_TERM, FieldType.ATTRIBUTE),
257
+ new Field(ODataMetadataParser.ATTRIBUTE_STRING, FieldType.ATTRIBUTE),
258
+ new Field(ODataMetadataParser.ATTRIBUTE_BOOL, FieldType.ATTRIBUTE),
259
+ new Field(ODataMetadataParser.ATTRIBUTE_INT, FieldType.ATTRIBUTE),
260
+ new Field(ODataMetadataParser.TAG_COLLECTION, FieldType.TAG),
261
+ new Field(ODataMetadataParser.TAG_RECORD, FieldType.TAG),
262
+ new Field(ODataMetadataParser.TAG_ENUM_MEMBER, FieldType.TAG),
263
+ ]);
264
+ case ODataMetadataParser.TAG_COLLECTION:
265
+ return this.getObjects(element, field.name, [
266
+ new Field(ODataMetadataParser.TAG_STRING, FieldType.TAG),
267
+ new Field(ODataMetadataParser.TAG_RECORD, FieldType.TAG),
268
+ new Field(ODataMetadataParser.TAG_PROPERTY_PATH, FieldType.TAG),
269
+ new Field(ODataMetadataParser.TAG_NAVIGATION_PROPERTY_PATH, FieldType.TAG),
270
+ ]);
271
+ case ODataMetadataParser.TAG_RECORD:
272
+ return this.getObjects(element, field.name, [
273
+ new Field(ODataMetadataParser.TAG_PROPERTY_VALUE, FieldType.TAG),
274
+ ]);
275
+ case ODataMetadataParser.TAG_STRING:
276
+ return this.getObjects(element, field.name, []);
277
+ case ODataMetadataParser.TAG_ENUM_MEMBER:
278
+ return this.getObjects(element, field.name, []);
279
+ case ODataMetadataParser.TAG_PROPERTY_VALUE:
280
+ return this.getObjects(element, field.name, [
281
+ new Field(ODataMetadataParser.ATTRIBUTE_PROPERTY, FieldType.ATTRIBUTE),
282
+ new Field(ODataMetadataParser.ATTRIBUTE_STRING, FieldType.ATTRIBUTE),
283
+ new Field(ODataMetadataParser.ATTRIBUTE_DATE, FieldType.ATTRIBUTE),
284
+ new Field(ODataMetadataParser.TAG_ENUM_MEMBER, FieldType.TAG),
285
+ ]);
286
+ case ODataMetadataParser.TAG_PROPERTY_PATH:
287
+ return this.getObjects(element, field.name, [
288
+ new Field(ODataMetadataParser.TAG_PROPERTY_VALUE, FieldType.TAG),
289
+ ]);
290
+ case ODataMetadataParser.TAG_NAVIGATION_PROPERTY_PATH:
291
+ return this.getObjects(element, field.name, [
292
+ new Field(ODataMetadataParser.TAG_PROPERTY_VALUE, FieldType.TAG),
293
+ ]);
294
+ case ODataMetadataParser.TAG_ENUM_TYPE:
295
+ return this.getObjects(element, field.name, [
296
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
297
+ new Field(ODataMetadataParser.TAG_MEMBER, FieldType.TAG),
298
+ new Field(ODataMetadataParser.ATTRIBUTE_UNDERLYING_TYPE, FieldType.ATTRIBUTE),
299
+ new Field(ODataMetadataParser.ATTRIBUTE_IS_FLAGS, FieldType.ATTRIBUTE),
300
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
301
+ ]);
302
+ case ODataMetadataParser.TAG_COMPLEX_TYPE:
303
+ return this.getObjects(element, field.name, [
304
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
305
+ new Field(ODataMetadataParser.TAG_PROPERTY, FieldType.TAG),
306
+ new Field(ODataMetadataParser.TAG_NAVIGATION_PROPERTY, FieldType.TAG),
307
+ new Field(ODataMetadataParser.ATTRIBUTE_BASE_TYPE, FieldType.ATTRIBUTE),
308
+ new Field(ODataMetadataParser.ATTRIBUTE_OPEN_TYPE, FieldType.ATTRIBUTE),
309
+ new Field(ODataMetadataParser.ATTRIBUTE_ABSTRACT, FieldType.ATTRIBUTE),
310
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
311
+ ]);
312
+ case ODataMetadataParser.TAG_ENTITY_TYPE:
313
+ return this.getObjects(element, field.name, [
314
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
315
+ new Field(ODataMetadataParser.TAG_KEY, FieldType.TAG),
316
+ new Field(ODataMetadataParser.TAG_PROPERTY, FieldType.TAG),
317
+ new Field(ODataMetadataParser.TAG_NAVIGATION_PROPERTY, FieldType.TAG),
318
+ new Field(ODataMetadataParser.ATTRIBUTE_BASE_TYPE, FieldType.ATTRIBUTE),
319
+ new Field(ODataMetadataParser.ATTRIBUTE_OPEN_TYPE, FieldType.ATTRIBUTE),
320
+ new Field(ODataMetadataParser.ATTRIBUTE_ABSTRACT, FieldType.ATTRIBUTE),
321
+ new Field(ODataMetadataParser.ATTRIBUTE_HAS_STREAM, FieldType.ATTRIBUTE),
322
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
323
+ ]);
324
+ case ODataMetadataParser.TAG_FUNCTION:
325
+ return this.getObjects(element, field.name, [
326
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
327
+ new Field(ODataMetadataParser.TAG_RETURN_TYPE, FieldType.TAG),
328
+ new Field(ODataMetadataParser.ATTRIBUTE_IS_BOUND, FieldType.ATTRIBUTE),
329
+ new Field(ODataMetadataParser.ATTRIBUTE_ENTITY_SET_PATH, FieldType.ATTRIBUTE),
330
+ new Field(ODataMetadataParser.ATTRIBUTE_IS_COMPOSABLE, FieldType.ATTRIBUTE),
331
+ new Field(ODataMetadataParser.TAG_PARAMETER, FieldType.TAG),
332
+ ]);
333
+ case ODataMetadataParser.TAG_MEMBER:
334
+ return this.getObjects(element, field.name, [
335
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
336
+ new Field(ODataMetadataParser.ATTRIBUTE_VALUE, FieldType.ATTRIBUTE),
337
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
338
+ ]);
339
+ case ODataMetadataParser.TAG_PROPERTY:
340
+ return this.getObjects(element, field.name, [
341
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
342
+ new Field(ODataMetadataParser.ATTRIBUTE_TYPE, FieldType.ATTRIBUTE),
343
+ new Field(ODataMetadataParser.ATTRIBUTE_NULLABLE, FieldType.ATTRIBUTE),
344
+ new Field(ODataMetadataParser.ATTRIBUTE_MAX_LENGTH, FieldType.ATTRIBUTE),
345
+ new Field(ODataMetadataParser.ATTRIBUTE_PRECISION, FieldType.ATTRIBUTE),
346
+ new Field(ODataMetadataParser.ATTRIBUTE_SCALE, FieldType.ATTRIBUTE),
347
+ new Field(ODataMetadataParser.ATTRIBUTE_UNICODE, FieldType.ATTRIBUTE),
348
+ new Field(ODataMetadataParser.ATTRIBUTE_SRID, FieldType.ATTRIBUTE),
349
+ new Field(ODataMetadataParser.ATTRIBUTE_DEFAULT_VALUE, FieldType.ATTRIBUTE),
350
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
351
+ ]);
352
+ case ODataMetadataParser.TAG_KEY:
353
+ return this.getObject(element, field.name, [
354
+ new Field(ODataMetadataParser.TAG_PROPERTY_REF, FieldType.TAG),
355
+ ]);
356
+ case ODataMetadataParser.TAG_PROPERTY_REF:
357
+ return this.getObjects(element, field.name, [
358
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
359
+ new Field(ODataMetadataParser.ATTRIBUTE_ALIAS, FieldType.ATTRIBUTE),
360
+ ]);
361
+ case ODataMetadataParser.TAG_NAVIGATION_PROPERTY:
362
+ return this.getObjects(element, field.name, [
363
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
364
+ new Field(ODataMetadataParser.ATTRIBUTE_TYPE, FieldType.ATTRIBUTE),
365
+ new Field(ODataMetadataParser.ATTRIBUTE_NULLABLE, FieldType.ATTRIBUTE),
366
+ new Field(ODataMetadataParser.ATTRIBUTE_PARTNER, FieldType.ATTRIBUTE),
367
+ new Field(ODataMetadataParser.ATTRIBUTE_CONTAINS_TARGET, FieldType.ATTRIBUTE),
368
+ new Field(ODataMetadataParser.TAG_REFERENTIAL_CONSTRAINT, FieldType.TAG),
369
+ new Field(ODataMetadataParser.TAG_ON_DELETE, FieldType.TAG),
370
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
371
+ ]);
372
+ case ODataMetadataParser.TAG_REFERENTIAL_CONSTRAINT:
373
+ return this.getObjects(element, field.name, [
374
+ new Field(ODataMetadataParser.ATTRIBUTE_PROPERTY, FieldType.ATTRIBUTE),
375
+ new Field(ODataMetadataParser.ATTRIBUTE_REFERENCED_PROPERTY, FieldType.ATTRIBUTE),
376
+ ]);
377
+ case ODataMetadataParser.TAG_ON_DELETE:
378
+ return this.getObject(element, field.name, [
379
+ new Field(ODataMetadataParser.ATTRIBUTE_ACTION, FieldType.ATTRIBUTE),
380
+ ]);
381
+ case ODataMetadataParser.TAG_PARAMETER:
382
+ return this.getObjects(element, field.name, [
383
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
384
+ new Field(ODataMetadataParser.ATTRIBUTE_TYPE, FieldType.ATTRIBUTE),
385
+ new Field(ODataMetadataParser.ATTRIBUTE_NULLABLE, FieldType.ATTRIBUTE),
386
+ new Field(ODataMetadataParser.ATTRIBUTE_MAX_LENGTH, FieldType.ATTRIBUTE),
387
+ new Field(ODataMetadataParser.ATTRIBUTE_PRECISION, FieldType.ATTRIBUTE),
388
+ new Field(ODataMetadataParser.ATTRIBUTE_SCALE, FieldType.ATTRIBUTE),
389
+ new Field(ODataMetadataParser.ATTRIBUTE_SRID, FieldType.ATTRIBUTE),
390
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
391
+ ]);
392
+ case ODataMetadataParser.TAG_RETURN_TYPE:
393
+ return this.getObject(element, field.name, [
394
+ new Field(ODataMetadataParser.ATTRIBUTE_TYPE, FieldType.ATTRIBUTE),
395
+ new Field(ODataMetadataParser.ATTRIBUTE_NULLABLE, FieldType.ATTRIBUTE),
396
+ new Field(ODataMetadataParser.ATTRIBUTE_MAX_LENGTH, FieldType.ATTRIBUTE),
397
+ new Field(ODataMetadataParser.ATTRIBUTE_PRECISION, FieldType.ATTRIBUTE),
398
+ new Field(ODataMetadataParser.ATTRIBUTE_SCALE, FieldType.ATTRIBUTE),
399
+ new Field(ODataMetadataParser.ATTRIBUTE_SRID, FieldType.ATTRIBUTE),
400
+ ]);
401
+ case ODataMetadataParser.TAG_ACTION:
402
+ return this.getObjects(element, field.name, [
403
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
404
+ new Field(ODataMetadataParser.TAG_RETURN_TYPE, FieldType.TAG),
405
+ new Field(ODataMetadataParser.ATTRIBUTE_IS_BOUND, FieldType.ATTRIBUTE),
406
+ new Field(ODataMetadataParser.ATTRIBUTE_ENTITY_SET_PATH, FieldType.ATTRIBUTE),
407
+ new Field(ODataMetadataParser.TAG_PARAMETER, FieldType.TAG),
408
+ ]);
409
+ case ODataMetadataParser.TAG_ENTITY_CONTAINER:
410
+ return this.getObjects(element, field.name, [
411
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
412
+ new Field(ODataMetadataParser.ATTRIBUTE_EXTENDS, FieldType.ATTRIBUTE),
413
+ new Field(ODataMetadataParser.TAG_ENTITY_SET, FieldType.TAG),
414
+ new Field(ODataMetadataParser.TAG_SINGLETON, FieldType.TAG),
415
+ new Field(ODataMetadataParser.TAG_FUNCTION_IMPORT, FieldType.TAG),
416
+ new Field(ODataMetadataParser.TAG_ACTION_IMPORT, FieldType.TAG),
417
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
418
+ ]);
419
+ case ODataMetadataParser.TAG_ENTITY_SET:
420
+ return this.getObjects(element, field.name, [
421
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
422
+ new Field(ODataMetadataParser.ATTRIBUTE_ENTITY_TYPE, FieldType.ATTRIBUTE),
423
+ new Field(ODataMetadataParser.TAG_NAVIGATION_PROPERTY_BINDING, FieldType.TAG),
424
+ new Field(ODataMetadataParser.ATTRIBUTE_INCLUDE_IN_SERVICE_DOCUMENT, FieldType.ATTRIBUTE),
425
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
426
+ ]);
427
+ case ODataMetadataParser.TAG_SINGLETON:
428
+ return this.getObjects(element, field.name, [
429
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
430
+ new Field(ODataMetadataParser.ATTRIBUTE_TYPE, FieldType.ATTRIBUTE),
431
+ new Field(ODataMetadataParser.TAG_NAVIGATION_PROPERTY_BINDING, FieldType.TAG),
432
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
433
+ ]);
434
+ case ODataMetadataParser.TAG_FUNCTION_IMPORT:
435
+ return this.getObjects(element, field.name, [
436
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
437
+ new Field(ODataMetadataParser.ATTRIBUTE_FUNCTION, FieldType.ATTRIBUTE),
438
+ new Field(ODataMetadataParser.ATTRIBUTE_ENTITY_SET, FieldType.ATTRIBUTE),
439
+ new Field(ODataMetadataParser.ATTRIBUTE_INCLUDE_IN_SERVICE_DOCUMENT, FieldType.ATTRIBUTE),
440
+ ]);
441
+ case ODataMetadataParser.TAG_ACTION_IMPORT:
442
+ return this.getObjects(element, field.name, [
443
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
444
+ new Field(ODataMetadataParser.ATTRIBUTE_ACTION, FieldType.ATTRIBUTE),
445
+ new Field(ODataMetadataParser.ATTRIBUTE_ENTITY_SET, FieldType.ATTRIBUTE),
446
+ ]);
447
+ case ODataMetadataParser.TAG_NAVIGATION_PROPERTY_BINDING:
448
+ return this.getObjects(element, field.name, [
449
+ new Field(ODataMetadataParser.ATTRIBUTE_PATH, FieldType.ATTRIBUTE),
450
+ new Field(ODataMetadataParser.ATTRIBUTE_TARGET, FieldType.ATTRIBUTE),
451
+ ]);
452
+ case ODataMetadataParser.TAG_TYPE_DEFINITION:
453
+ return this.getObjects(element, field.name, [
454
+ new Field(ODataMetadataParser.ATTRIBUTE_NAME, FieldType.ATTRIBUTE),
455
+ new Field(ODataMetadataParser.ATTRIBUTE_UNDERLYING_TYPE, FieldType.ATTRIBUTE),
456
+ new Field(ODataMetadataParser.ATTRIBUTE_MAX_LENGTH, FieldType.ATTRIBUTE),
457
+ new Field(ODataMetadataParser.ATTRIBUTE_PRECISION, FieldType.ATTRIBUTE),
458
+ new Field(ODataMetadataParser.ATTRIBUTE_SCALE, FieldType.ATTRIBUTE),
459
+ new Field(ODataMetadataParser.ATTRIBUTE_UNICODE, FieldType.ATTRIBUTE),
460
+ new Field(ODataMetadataParser.ATTRIBUTE_SRID, FieldType.ATTRIBUTE),
461
+ new Field(ODataMetadataParser.TAG_ANNOTATION, FieldType.TAG),
462
+ ]);
463
+ default:
464
+ throw new Error('Unknwon tag:' + field.name);
465
+ }
466
+ }
467
+ getAttributeValue(attributes, attributeName) {
468
+ const attribute = attributes.getNamedItem(attributeName);
469
+ return attribute !== null && attribute.nodeValue
470
+ ? attribute.nodeValue
471
+ : undefined;
472
+ }
473
+ propertyValueToNumber(attributeValue) {
474
+ return attributeValue !== undefined ? Number(attributeValue) : undefined;
475
+ }
476
+ propertyValueToBoolean(attributeValue) {
477
+ return attributeValue !== undefined ? attributeValue === 'true' : false;
478
+ }
479
+ propertyValueToDate(attributeValue) {
480
+ return attributeValue !== undefined ? new Date(attributeValue) : undefined;
481
+ }
482
+ }
483
+ exports.ODataMetadataParser = ODataMetadataParser;
484
+ // TAGS
485
+ ODataMetadataParser.TAG_EDMX = 'edmx:Edmx';
486
+ ODataMetadataParser.TAG_DATA_SERVICES = 'edmx:DataServices';
487
+ ODataMetadataParser.TAG_REFERENCE = 'edmx:Reference';
488
+ ODataMetadataParser.TAG_INCLUDE = 'edmx:Include';
489
+ ODataMetadataParser.TAG_INCLUDE_ANNOTATIONS = 'edmx:IncludeAnnotations';
490
+ ODataMetadataParser.TAG_TERM = 'Term';
491
+ ODataMetadataParser.TAG_ANNOTATIONS = 'Annotations';
492
+ ODataMetadataParser.TAG_ANNOTATION = 'Annotation';
493
+ ODataMetadataParser.TAG_SCHEMA = 'Schema';
494
+ ODataMetadataParser.TAG_ENUM_TYPE = 'EnumType';
495
+ ODataMetadataParser.TAG_MEMBER = 'Member';
496
+ ODataMetadataParser.TAG_COMPLEX_TYPE = 'ComplexType';
497
+ ODataMetadataParser.TAG_ENTITY_TYPE = 'EntityType';
498
+ ODataMetadataParser.TAG_PROPERTY = 'Property';
499
+ ODataMetadataParser.TAG_KEY = 'Key';
500
+ ODataMetadataParser.TAG_PROPERTY_REF = 'PropertyRef';
501
+ ODataMetadataParser.TAG_NAVIGATION_PROPERTY = 'NavigationProperty';
502
+ ODataMetadataParser.TAG_REFERENTIAL_CONSTRAINT = 'ReferentialConstraint';
503
+ ODataMetadataParser.TAG_ON_DELETE = 'OnDelete';
504
+ ODataMetadataParser.TAG_FUNCTION = 'Function';
505
+ ODataMetadataParser.TAG_RETURN_TYPE = 'ReturnType';
506
+ ODataMetadataParser.TAG_PARAMETER = 'Parameter';
507
+ ODataMetadataParser.TAG_ACTION = 'Action';
508
+ ODataMetadataParser.TAG_ENTITY_CONTAINER = 'EntityContainer';
509
+ ODataMetadataParser.TAG_ENTITY_SET = 'EntitySet';
510
+ ODataMetadataParser.TAG_SINGLETON = 'Singleton';
511
+ ODataMetadataParser.TAG_COLLECTION = 'Collection';
512
+ ODataMetadataParser.TAG_RECORD = 'Record';
513
+ ODataMetadataParser.TAG_STRING = 'String';
514
+ ODataMetadataParser.TAG_ENUM_MEMBER = 'EnumMember';
515
+ ODataMetadataParser.TAG_PROPERTY_VALUE = 'PropertyValue';
516
+ ODataMetadataParser.TAG_PROPERTY_PATH = 'PropertyPath';
517
+ ODataMetadataParser.TAG_NAVIGATION_PROPERTY_PATH = 'NavigationPropertyPath';
518
+ ODataMetadataParser.TAG_FUNCTION_IMPORT = 'FunctionImport';
519
+ ODataMetadataParser.TAG_ACTION_IMPORT = 'ActionImport';
520
+ ODataMetadataParser.TAG_NAVIGATION_PROPERTY_BINDING = 'NavigationPropertyBinding';
521
+ ODataMetadataParser.TAG_TYPE_DEFINITION = 'TypeDefinition';
522
+ // ATTRIBUTES
523
+ ODataMetadataParser.ATTRIBUTE_VERSION = 'Version';
524
+ ODataMetadataParser.ATTRIBUTE_URI = 'Uri';
525
+ ODataMetadataParser.ATTRIBUTE_ALIAS = 'Alias';
526
+ ODataMetadataParser.ATTRIBUTE_NAMESPACE = 'Namespace';
527
+ ODataMetadataParser.ATTRIBUTE_TERM_NAMESPACE = 'TermNamespace';
528
+ ODataMetadataParser.ATTRIBUTE_QUALIFIER = 'Qualifier';
529
+ ODataMetadataParser.ATTRIBUTE_STRING = 'String';
530
+ ODataMetadataParser.ATTRIBUTE_DATE = 'Date';
531
+ ODataMetadataParser.ATTRIBUTE_BOOL = 'Bool';
532
+ ODataMetadataParser.ATTRIBUTE_INT = 'Int';
533
+ ODataMetadataParser.ATTRIBUTE_TARGET_NAMESPACE = 'TargetNamespace';
534
+ ODataMetadataParser.ATTRIBUTE_TERM = 'Term';
535
+ ODataMetadataParser.ATTRIBUTE_NAME = 'Name';
536
+ ODataMetadataParser.ATTRIBUTE_VALUE = 'Value';
537
+ ODataMetadataParser.ATTRIBUTE_BASE_TYPE = 'BaseType';
538
+ ODataMetadataParser.ATTRIBUTE_OPEN_TYPE = 'OpenType';
539
+ ODataMetadataParser.ATTRIBUTE_TYPE = 'Type';
540
+ ODataMetadataParser.ATTRIBUTE_NULLABLE = 'Nullable';
541
+ ODataMetadataParser.ATTRIBUTE_MAX_LENGTH = 'MaxLength';
542
+ ODataMetadataParser.ATTRIBUTE_PRECISION = 'Precision';
543
+ ODataMetadataParser.ATTRIBUTE_SCALE = 'Scale';
544
+ ODataMetadataParser.ATTRIBUTE_UNICODE = 'Unicode';
545
+ ODataMetadataParser.ATTRIBUTE_SRID = 'SRID';
546
+ ODataMetadataParser.ATTRIBUTE_DEFAULT_VALUE = 'DefaultValue';
547
+ ODataMetadataParser.ATTRIBUTE_PARTNER = 'Partner';
548
+ ODataMetadataParser.ATTRIBUTE_PROPERTY = 'Property';
549
+ ODataMetadataParser.ATTRIBUTE_REFERENCED_PROPERTY = 'ReferencedProperty';
550
+ ODataMetadataParser.ATTRIBUTE_HAS_STREAM = 'HasStream';
551
+ ODataMetadataParser.ATTRIBUTE_CONTAINS_TARGET = 'ContainsTarget';
552
+ ODataMetadataParser.ATTRIBUTE_IS_BOUND = 'IsBound';
553
+ ODataMetadataParser.ATTRIBUTE_ENTITY_SET_PATH = 'EntitySetPath';
554
+ ODataMetadataParser.ATTRIBUTE_IS_COMPOSABLE = 'IsComposable';
555
+ ODataMetadataParser.ATTRIBUTE_ENTITY_TYPE = 'EntityType';
556
+ ODataMetadataParser.ATTRIBUTE_PATH = 'Path';
557
+ ODataMetadataParser.ATTRIBUTE_TARGET = 'Target';
558
+ ODataMetadataParser.ATTRIBUTE_FUNCTION = 'Function';
559
+ ODataMetadataParser.ATTRIBUTE_ACTION = 'Action';
560
+ ODataMetadataParser.ATTRIBUTE_ENTITY_SET = 'EntitySet';
561
+ ODataMetadataParser.ATTRIBUTE_INCLUDE_IN_SERVICE_DOCUMENT = 'IncludeInServiceDocument';
562
+ ODataMetadataParser.ATTRIBUTE_ABSTRACT = 'Abstract';
563
+ ODataMetadataParser.ATTRIBUTE_UNDERLYING_TYPE = 'UnderlyingType';
564
+ ODataMetadataParser.ATTRIBUTE_IS_FLAGS = 'IsFlags';
565
+ ODataMetadataParser.ATTRIBUTE_EXTENDS = 'Extends';
566
+ ODataMetadataParser.ATTRIBUTE_BASE_TERM = 'BaseTerm';
567
+ ODataMetadataParser.ATTRIBUTE_APPLIES_TO = 'AppliesTo';
568
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/metadata/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface Schema {
2
+ name: string;
3
+ metadata: string;
4
+ output: string;
5
+ serviceRootUrl?: string;
6
+ version?: string;
7
+ creation?: Date;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../projects/angular-odata/schematics/apigen/schema.ts"],"names":[],"mappings":""}