angular-odata 0.126.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 (283) hide show
  1. package/esm2022/lib/annotations.mjs +140 -0
  2. package/esm2022/lib/api.mjs +211 -166
  3. package/esm2022/lib/cache/cache.mjs +1 -1
  4. package/esm2022/lib/cache/memory.mjs +1 -1
  5. package/esm2022/lib/client.mjs +8 -48
  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 +202 -207
  25. package/esm2022/lib/models/model.mjs +48 -52
  26. package/esm2022/lib/models/options.mjs +172 -137
  27. package/esm2022/lib/module.mjs +21 -8
  28. package/esm2022/lib/options.mjs +2 -1
  29. package/esm2022/lib/resources/index.mjs +2 -2
  30. package/esm2022/lib/resources/options.mjs +56 -0
  31. package/esm2022/lib/resources/path/handlers.mjs +14 -4
  32. package/esm2022/lib/resources/path/segments.mjs +29 -11
  33. package/esm2022/lib/resources/query/builder.mjs +14 -2
  34. package/esm2022/lib/resources/query/expressions/apply.mjs +236 -0
  35. package/esm2022/lib/resources/query/expressions/base.mjs +1 -1
  36. package/esm2022/lib/resources/query/expressions/compute.mjs +2 -2
  37. package/esm2022/lib/resources/query/expressions/count.mjs +6 -6
  38. package/esm2022/lib/resources/query/expressions/expand.mjs +7 -7
  39. package/esm2022/lib/resources/query/expressions/filter.mjs +6 -6
  40. package/esm2022/lib/resources/query/expressions/index.mjs +2 -1
  41. package/esm2022/lib/resources/query/expressions/orderby.mjs +3 -3
  42. package/esm2022/lib/resources/query/expressions/search.mjs +6 -6
  43. package/esm2022/lib/resources/query/expressions/select.mjs +6 -2
  44. package/esm2022/lib/resources/query/expressions/syntax.mjs +161 -8
  45. package/esm2022/lib/resources/query/handlers.mjs +89 -54
  46. package/esm2022/lib/resources/query/options.mjs +91 -77
  47. package/esm2022/lib/resources/request.mjs +5 -5
  48. package/esm2022/lib/resources/resource.mjs +118 -88
  49. package/esm2022/lib/resources/response.mjs +174 -0
  50. package/esm2022/lib/resources/types/action.mjs +29 -26
  51. package/esm2022/lib/resources/types/batch.mjs +18 -16
  52. package/esm2022/lib/resources/types/count.mjs +7 -7
  53. package/esm2022/lib/resources/types/entity-set.mjs +38 -25
  54. package/esm2022/lib/resources/types/entity.mjs +14 -11
  55. package/esm2022/lib/resources/types/function.mjs +25 -28
  56. package/esm2022/lib/resources/types/metadata.mjs +9 -5
  57. package/esm2022/lib/resources/types/navigation-property.mjs +37 -31
  58. package/esm2022/lib/resources/types/property.mjs +32 -50
  59. package/esm2022/lib/resources/types/reference.mjs +6 -7
  60. package/esm2022/lib/resources/types/singleton.mjs +11 -7
  61. package/esm2022/lib/resources/types/value.mjs +16 -12
  62. package/esm2022/lib/schema/callable.mjs +10 -10
  63. package/esm2022/lib/schema/element.mjs +15 -9
  64. package/esm2022/lib/schema/entity-container.mjs +4 -2
  65. package/esm2022/lib/schema/enum-type.mjs +6 -7
  66. package/esm2022/lib/schema/index.mjs +2 -1
  67. package/esm2022/lib/schema/parsers/callable.mjs +10 -7
  68. package/esm2022/lib/schema/parsers/edm.mjs +6 -4
  69. package/esm2022/lib/schema/parsers/enum-type.mjs +15 -8
  70. package/esm2022/lib/schema/parsers/structured-type.mjs +66 -55
  71. package/esm2022/lib/schema/schema.mjs +18 -34
  72. package/esm2022/lib/schema/singleton.mjs +9 -0
  73. package/esm2022/lib/schema/structured-type.mjs +18 -23
  74. package/esm2022/lib/services/base.mjs +4 -4
  75. package/esm2022/lib/services/entity-set.mjs +12 -2
  76. package/esm2022/lib/services/entity.mjs +2 -2
  77. package/esm2022/lib/services/factory.mjs +22 -11
  78. package/esm2022/lib/services/singleton.mjs +8 -2
  79. package/esm2022/lib/settings.mjs +7 -99
  80. package/esm2022/lib/types.mjs +12 -1
  81. package/esm2022/lib/utils/http.mjs +8 -6
  82. package/fesm2022/angular-odata.mjs +7413 -6579
  83. package/fesm2022/angular-odata.mjs.map +1 -1
  84. package/lib/{resources/responses/annotations.d.ts → annotations.d.ts} +3 -2
  85. package/lib/api.d.ts +29 -26
  86. package/lib/cache/memory.d.ts +1 -1
  87. package/lib/client.d.ts +0 -20
  88. package/lib/constants.d.ts +3 -0
  89. package/lib/index.d.ts +1 -0
  90. package/lib/loaders.d.ts +7 -1
  91. package/lib/metadata/csdl/csdl-annotation.d.ts +123 -0
  92. package/lib/metadata/csdl/csdl-entity-container.d.ts +26 -0
  93. package/lib/metadata/csdl/csdl-entity-set.d.ts +20 -0
  94. package/lib/metadata/csdl/csdl-enum-type.d.ts +29 -0
  95. package/lib/metadata/csdl/csdl-function-action.d.ts +105 -0
  96. package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +8 -0
  97. package/lib/metadata/csdl/csdl-reference.d.ts +30 -0
  98. package/lib/metadata/csdl/csdl-schema.d.ts +34 -0
  99. package/lib/metadata/csdl/csdl-singleton.d.ts +16 -0
  100. package/lib/metadata/csdl/csdl-structural-property.d.ts +70 -0
  101. package/lib/metadata/csdl/csdl-structured-type.d.ts +73 -0
  102. package/lib/metadata/csdl/csdl-type-definition.d.ts +22 -0
  103. package/lib/metadata/index.d.ts +2 -0
  104. package/lib/metadata/metadata.d.ts +10 -0
  105. package/lib/{resources/responses/metadata.d.ts → metadata/parser.d.ts} +19 -7
  106. package/lib/models/collection.d.ts +23 -12
  107. package/lib/models/model.d.ts +19 -19
  108. package/lib/models/options.d.ts +43 -27
  109. package/lib/module.d.ts +2 -1
  110. package/lib/options.d.ts +5 -0
  111. package/lib/resources/index.d.ts +1 -1
  112. package/lib/resources/{responses/options.d.ts → options.d.ts} +2 -2
  113. package/lib/resources/path/handlers.d.ts +4 -2
  114. package/lib/resources/path/segments.d.ts +13 -1
  115. package/lib/resources/query/builder.d.ts +6 -5
  116. package/lib/resources/query/expressions/apply.d.ts +125 -0
  117. package/lib/resources/query/expressions/base.d.ts +1 -1
  118. package/lib/resources/query/expressions/compute.d.ts +4 -4
  119. package/lib/resources/query/expressions/count.d.ts +3 -3
  120. package/lib/resources/query/expressions/expand.d.ts +8 -8
  121. package/lib/resources/query/expressions/filter.d.ts +3 -3
  122. package/lib/resources/query/expressions/index.d.ts +1 -0
  123. package/lib/resources/query/expressions/orderby.d.ts +7 -6
  124. package/lib/resources/query/expressions/search.d.ts +2 -2
  125. package/lib/resources/query/expressions/select.d.ts +4 -3
  126. package/lib/resources/query/expressions/syntax.d.ts +77 -4
  127. package/lib/resources/query/handlers.d.ts +32 -9
  128. package/lib/resources/query/options.d.ts +20 -10
  129. package/lib/resources/resource.d.ts +32 -16
  130. package/lib/resources/{responses/response.d.ts → response.d.ts} +17 -5
  131. package/lib/resources/types/action.d.ts +12 -10
  132. package/lib/resources/types/batch.d.ts +12 -6
  133. package/lib/resources/types/count.d.ts +1 -5
  134. package/lib/resources/types/entity-set.d.ts +13 -6
  135. package/lib/resources/types/entity.d.ts +3 -4
  136. package/lib/resources/types/function.d.ts +11 -11
  137. package/lib/resources/types/metadata.d.ts +1 -1
  138. package/lib/resources/types/navigation-property.d.ts +13 -7
  139. package/lib/resources/types/property.d.ts +15 -8
  140. package/lib/resources/types/reference.d.ts +2 -4
  141. package/lib/resources/types/singleton.d.ts +4 -6
  142. package/lib/resources/types/value.d.ts +2 -6
  143. package/lib/schema/callable.d.ts +5 -7
  144. package/lib/schema/element.d.ts +11 -4
  145. package/lib/schema/entity-container.d.ts +2 -0
  146. package/lib/schema/enum-type.d.ts +4 -7
  147. package/lib/schema/index.d.ts +1 -0
  148. package/lib/schema/parsers/callable.d.ts +7 -8
  149. package/lib/schema/parsers/enum-type.d.ts +15 -5
  150. package/lib/schema/parsers/structured-type.d.ts +6 -8
  151. package/lib/schema/schema.d.ts +6 -9
  152. package/lib/schema/singleton.d.ts +10 -0
  153. package/lib/schema/structured-type.d.ts +5 -8
  154. package/lib/services/entity-set.d.ts +7 -3
  155. package/lib/services/factory.d.ts +14 -2
  156. package/lib/services/singleton.d.ts +4 -2
  157. package/lib/settings.d.ts +0 -10
  158. package/lib/types.d.ts +23 -3
  159. package/lib/utils/http.d.ts +1 -1
  160. package/package.json +5 -1
  161. package/schematics/apigen/angular/api-config.d.ts +15 -0
  162. package/schematics/apigen/angular/api-config.js +34 -0
  163. package/schematics/apigen/angular/api-config.js.map +1 -0
  164. package/schematics/apigen/angular/base.d.ts +51 -0
  165. package/schematics/apigen/angular/base.js +200 -0
  166. package/schematics/apigen/angular/base.js.map +1 -0
  167. package/schematics/apigen/angular/entity.d.ts +24 -0
  168. package/schematics/apigen/angular/entity.js +71 -0
  169. package/schematics/apigen/angular/entity.js.map +1 -0
  170. package/schematics/apigen/angular/enum.d.ts +25 -0
  171. package/schematics/apigen/angular/enum.js +56 -0
  172. package/schematics/apigen/angular/enum.js.map +1 -0
  173. package/schematics/apigen/angular/import.d.ts +6 -0
  174. package/schematics/apigen/angular/import.js +18 -0
  175. package/schematics/apigen/angular/import.js.map +1 -0
  176. package/schematics/apigen/angular/module.d.ts +18 -0
  177. package/schematics/apigen/angular/module.js +41 -0
  178. package/schematics/apigen/angular/module.js.map +1 -0
  179. package/schematics/apigen/angular/service.d.ts +20 -0
  180. package/schematics/apigen/angular/service.js +76 -0
  181. package/schematics/apigen/angular/service.js.map +1 -0
  182. package/schematics/apigen/files/api-config/__fileName__.ts +9 -0
  183. package/schematics/apigen/files/entity/__fileName__.ts +7 -0
  184. package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +18 -0
  185. package/schematics/apigen/files/entityset-service/__fileName__.ts +27 -0
  186. package/schematics/apigen/files/enum/__fileName__.ts +4 -0
  187. package/schematics/apigen/files/index/__fileName__.ts +2 -0
  188. package/schematics/apigen/files/module/__fileName__.ts +9 -0
  189. package/schematics/apigen/files/singleton-service/__fileName__.ts +18 -0
  190. package/schematics/apigen/index.d.ts +3 -0
  191. package/schematics/apigen/index.js +106 -0
  192. package/schematics/apigen/index.js.map +1 -0
  193. package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +120 -0
  194. package/schematics/apigen/metadata/csdl/csdl-annotation.js +98 -0
  195. package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -0
  196. package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +26 -0
  197. package/schematics/apigen/metadata/csdl/csdl-entity-container.js +30 -0
  198. package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -0
  199. package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +20 -0
  200. package/schematics/apigen/metadata/csdl/csdl-entity-set.js +26 -0
  201. package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -0
  202. package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +28 -0
  203. package/schematics/apigen/metadata/csdl/csdl-enum-type.js +33 -0
  204. package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -0
  205. package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +103 -0
  206. package/schematics/apigen/metadata/csdl/csdl-function-action.js +84 -0
  207. package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -0
  208. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +8 -0
  209. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +11 -0
  210. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -0
  211. package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +30 -0
  212. package/schematics/apigen/metadata/csdl/csdl-reference.js +29 -0
  213. package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -0
  214. package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +32 -0
  215. package/schematics/apigen/metadata/csdl/csdl-schema.js +26 -0
  216. package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -0
  217. package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +18 -0
  218. package/schematics/apigen/metadata/csdl/csdl-singleton.js +25 -0
  219. package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -0
  220. package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +63 -0
  221. package/schematics/apigen/metadata/csdl/csdl-structural-property.js +50 -0
  222. package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -0
  223. package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +64 -0
  224. package/schematics/apigen/metadata/csdl/csdl-structured-type.js +71 -0
  225. package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -0
  226. package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +22 -0
  227. package/schematics/apigen/metadata/csdl/csdl-type-definition.js +19 -0
  228. package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -0
  229. package/schematics/apigen/metadata/index.d.ts +1 -0
  230. package/schematics/apigen/metadata/index.js +18 -0
  231. package/schematics/apigen/metadata/index.js.map +1 -0
  232. package/schematics/apigen/metadata/metadata.d.ts +11 -0
  233. package/schematics/apigen/metadata/metadata.js +30 -0
  234. package/schematics/apigen/metadata/metadata.js.map +1 -0
  235. package/schematics/apigen/metadata/parser.d.ts +110 -0
  236. package/schematics/apigen/metadata/parser.js +568 -0
  237. package/schematics/apigen/metadata/parser.js.map +1 -0
  238. package/schematics/apigen/schema.d.ts +8 -0
  239. package/schematics/apigen/schema.js +3 -0
  240. package/schematics/apigen/schema.js.map +1 -0
  241. package/schematics/apigen/schema.json +36 -0
  242. package/schematics/apigen/utils.d.ts +1 -0
  243. package/schematics/apigen/utils.js +75 -0
  244. package/schematics/apigen/utils.js.map +1 -0
  245. package/schematics/collection.json +14 -0
  246. package/schematics/ng-add/index.d.ts +2 -0
  247. package/schematics/ng-add/index.js +13 -0
  248. package/schematics/ng-add/index.js.map +1 -0
  249. package/schematics/random.d.ts +1 -0
  250. package/schematics/random.js +604 -0
  251. package/schematics/random.js.map +1 -0
  252. package/esm2022/lib/resources/responses/annotations.mjs +0 -137
  253. package/esm2022/lib/resources/responses/csdl/csdl-annotation.mjs +0 -33
  254. package/esm2022/lib/resources/responses/csdl/csdl-entity-container.mjs +0 -11
  255. package/esm2022/lib/resources/responses/csdl/csdl-entity-set.mjs +0 -9
  256. package/esm2022/lib/resources/responses/csdl/csdl-enum-type.mjs +0 -15
  257. package/esm2022/lib/resources/responses/csdl/csdl-function-action.mjs +0 -56
  258. package/esm2022/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs +0 -7
  259. package/esm2022/lib/resources/responses/csdl/csdl-reference.mjs +0 -23
  260. package/esm2022/lib/resources/responses/csdl/csdl-schema.mjs +0 -18
  261. package/esm2022/lib/resources/responses/csdl/csdl-singleton.mjs +0 -8
  262. package/esm2022/lib/resources/responses/csdl/csdl-structural-property.mjs +0 -39
  263. package/esm2022/lib/resources/responses/csdl/csdl-structured-type.mjs +0 -34
  264. package/esm2022/lib/resources/responses/csdl/csdl-type-definition.mjs +0 -14
  265. package/esm2022/lib/resources/responses/index.mjs +0 -5
  266. package/esm2022/lib/resources/responses/metadata.mjs +0 -547
  267. package/esm2022/lib/resources/responses/options.mjs +0 -56
  268. package/esm2022/lib/resources/responses/response.mjs +0 -174
  269. package/esm2022/lib/resources/responses/types.mjs +0 -2
  270. package/lib/resources/responses/csdl/csdl-annotation.d.ts +0 -27
  271. package/lib/resources/responses/csdl/csdl-entity-container.d.ts +0 -12
  272. package/lib/resources/responses/csdl/csdl-entity-set.d.ts +0 -8
  273. package/lib/resources/responses/csdl/csdl-enum-type.d.ts +0 -12
  274. package/lib/resources/responses/csdl/csdl-function-action.d.ts +0 -49
  275. package/lib/resources/responses/csdl/csdl-navigation-property-binding.d.ts +0 -5
  276. package/lib/resources/responses/csdl/csdl-reference.d.ts +0 -18
  277. package/lib/resources/responses/csdl/csdl-schema.d.ts +0 -20
  278. package/lib/resources/responses/csdl/csdl-singleton.d.ts +0 -7
  279. package/lib/resources/responses/csdl/csdl-structural-property.d.ts +0 -31
  280. package/lib/resources/responses/csdl/csdl-structured-type.d.ts +0 -27
  281. package/lib/resources/responses/csdl/csdl-type-definition.d.ts +0 -11
  282. package/lib/resources/responses/index.d.ts +0 -4
  283. package/lib/resources/responses/types.d.ts +0 -13
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Index = exports.Base = exports.Callable = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const random_1 = require("../../random");
6
+ const import_1 = require("./import");
7
+ const schematics_1 = require("@angular-devkit/schematics");
8
+ const csdl_function_action_1 = require("../metadata/csdl/csdl-function-action");
9
+ const utils_1 = require("../utils");
10
+ const makeRelativePath = (from, to) => {
11
+ if (from === '') {
12
+ return to;
13
+ }
14
+ if (to.startsWith(from)) {
15
+ return to.substring(from.length + 1);
16
+ }
17
+ let shared = from;
18
+ let i = 0;
19
+ while (shared.length > 0 && !to.startsWith(shared)) {
20
+ shared = shared.substring(0, shared.lastIndexOf('/'));
21
+ i++;
22
+ }
23
+ return (Array.from({ length: i }).fill('..').join('/') +
24
+ '/' +
25
+ to.substring(shared.length));
26
+ };
27
+ class Callable {
28
+ constructor(callable) {
29
+ this.callable = callable;
30
+ }
31
+ name() {
32
+ return this.callable.Name;
33
+ }
34
+ isBound() {
35
+ return this.callable.IsBound;
36
+ }
37
+ bindingParameter() {
38
+ var _a;
39
+ return (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.find((p) => p.Name === csdl_function_action_1.BINDING_PARAMETER_NAME);
40
+ }
41
+ parameters() {
42
+ var _a, _b;
43
+ return ((_b = (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME)) !== null && _b !== void 0 ? _b : []);
44
+ }
45
+ returnType() {
46
+ return this.callable.ReturnType;
47
+ }
48
+ fullName() {
49
+ return this.callable.fullName();
50
+ }
51
+ resourceFunction() {
52
+ const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
53
+ const methodName = core_1.strings.camelize(this.callable.Name);
54
+ const bindingParameter = this.bindingParameter();
55
+ const bindingType = bindingParameter !== undefined
56
+ ? (0, utils_1.toTypescriptType)(bindingParameter.Type)
57
+ : '';
58
+ const returnType = this.returnType();
59
+ const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
60
+ const bindingMethod = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? 'entity' : 'entities';
61
+ const baseMethod = isFunction ? 'function' : 'action';
62
+ const keyParameter = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection)
63
+ ? `key: EntityKey<${bindingType}>`
64
+ : '';
65
+ const key = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? `key` : '';
66
+ const parameters = this.parameters();
67
+ const parametersType = parameters.length === 0
68
+ ? 'null'
69
+ : `{${parameters.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`).join(', ')}}`;
70
+ return `public ${methodName}(${keyParameter}) {
71
+ return this.${bindingMethod}(${key}).${baseMethod}<${parametersType}, ${retType}>('${this.fullName()}');
72
+ }`;
73
+ }
74
+ callableFunction() {
75
+ const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
76
+ const bindingParameter = this.bindingParameter();
77
+ const parameters = this.parameters();
78
+ const returnType = this.returnType();
79
+ const methodResourceName = core_1.strings.camelize(this.callable.Name);
80
+ const methodName = core_1.strings.classify(this.callable.Name);
81
+ const responseType = returnType === undefined
82
+ ? 'none'
83
+ : (returnType === null || returnType === void 0 ? void 0 : returnType.Collection)
84
+ ? 'entities'
85
+ : (returnType === null || returnType === void 0 ? void 0 : returnType.Type.startsWith('Edm.'))
86
+ ? 'property'
87
+ : 'entity';
88
+ const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
89
+ const bindingType = bindingParameter !== undefined
90
+ ? (0, utils_1.toTypescriptType)(bindingParameter.Type)
91
+ : '';
92
+ const baseMethod = isFunction ? 'callFunction' : 'callAction';
93
+ const parametersCall = parameters.length === 0
94
+ ? 'null'
95
+ : `{${parameters.map((p) => p.Name).join(', ')}}`;
96
+ // Method arguments
97
+ let args = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection)
98
+ ? [`key: EntityKey<${bindingType}>`]
99
+ : [];
100
+ args = [
101
+ ...args,
102
+ ...(parameters.length === 0
103
+ ? []
104
+ : parameters.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
105
+ ];
106
+ const optionsType = returnType !== undefined && returnType.Type.startsWith('Edm.')
107
+ ? isFunction
108
+ ? 'ODataOptions & {alias?: boolean}'
109
+ : 'ODataOptions'
110
+ : isFunction
111
+ ? `ODataFunctionOptions<${retType}>`
112
+ : `ODataActionOptions<${retType}>`;
113
+ args.push(`options?: ${optionsType}`);
114
+ // Key parameter
115
+ const key = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? `key` : '';
116
+ // Render
117
+ return `public call${methodName}(${args.join(', ')}) {
118
+ return this.${baseMethod}(${parametersCall}, this.${methodResourceName}(${key}), '${responseType}', options);
119
+ }`;
120
+ }
121
+ }
122
+ exports.Callable = Callable;
123
+ class Base {
124
+ constructor(options) {
125
+ this.options = options;
126
+ this.dependencies = [];
127
+ this.callables = [];
128
+ }
129
+ path() {
130
+ const directory = this.directory();
131
+ const filename = this.fileName();
132
+ return directory !== '' ? directory + `/${filename}` : filename;
133
+ }
134
+ imports() {
135
+ const groups = this.dependencies
136
+ .filter((a) => a[1].path() != this.path())
137
+ .reduce((acc, i) => {
138
+ const path = makeRelativePath(this.directory(), i[1].path());
139
+ if (acc[path] === undefined) {
140
+ acc[path] = [];
141
+ }
142
+ acc[path].push(i);
143
+ return acc;
144
+ }, {});
145
+ return Object.entries(groups).map(([path, items]) => {
146
+ const names = items.reduce((acc, i) => [...acc, i[0]], []);
147
+ return new import_1.Import(names, path);
148
+ });
149
+ }
150
+ cleanImportedNames() {
151
+ this.dependencies.forEach((d) => (d[1].importedName = d[1].name()));
152
+ }
153
+ addDependency(renderable) {
154
+ if (this.dependencies.every((d) => d[1] != renderable)) {
155
+ var alias = renderable.name();
156
+ while (this.dependencies.some((d) => d[0] == alias)) {
157
+ alias = (0, random_1.getRandomName)();
158
+ }
159
+ this.dependencies.push([alias, renderable]);
160
+ }
161
+ }
162
+ addDependencies(renderables) {
163
+ renderables.forEach((r) => this.addDependency(r));
164
+ }
165
+ addCallable(callable) {
166
+ this.callables.push(callable);
167
+ }
168
+ addCallables(callables) {
169
+ callables.forEach((r) => this.addCallable(r));
170
+ }
171
+ }
172
+ exports.Base = Base;
173
+ class Index extends Base {
174
+ constructor(options) {
175
+ super(options);
176
+ }
177
+ template() {
178
+ return (0, schematics_1.url)('./files/index');
179
+ }
180
+ variables() {
181
+ return Object.assign({}, this.options);
182
+ }
183
+ name() {
184
+ return '';
185
+ }
186
+ fileName() {
187
+ return 'index';
188
+ }
189
+ directory() {
190
+ return '';
191
+ }
192
+ fullName() {
193
+ return this.name();
194
+ }
195
+ importTypes() {
196
+ return [];
197
+ }
198
+ }
199
+ exports.Index = Index;
200
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Base } from './base';
2
+ import { CsdlComplexType, CsdlEntityType } from '../metadata/csdl/csdl-structured-type';
3
+ import { Source } from '@angular-devkit/schematics';
4
+ import { Schema as ApiGenSchema } from '../schema';
5
+ import { CsdlNavigationProperty, CsdlProperty } from '../metadata/csdl/csdl-structural-property';
6
+ export declare class EntityProperty {
7
+ protected edmType: CsdlProperty | CsdlNavigationProperty;
8
+ constructor(edmType: CsdlProperty | CsdlNavigationProperty);
9
+ name(): string;
10
+ type(): string;
11
+ }
12
+ export declare class Entity extends Base {
13
+ protected edmType: CsdlEntityType | CsdlComplexType;
14
+ constructor(options: ApiGenSchema, edmType: CsdlEntityType | CsdlComplexType);
15
+ template(): Source;
16
+ variables(): {
17
+ [name: string]: any;
18
+ };
19
+ name(): string;
20
+ fileName(): string;
21
+ directory(): string;
22
+ fullName(): string;
23
+ importTypes(): string[];
24
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Entity = exports.EntityProperty = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const base_1 = require("./base");
6
+ const csdl_structured_type_1 = require("../metadata/csdl/csdl-structured-type");
7
+ const schematics_1 = require("@angular-devkit/schematics");
8
+ class EntityProperty {
9
+ constructor(edmType) {
10
+ this.edmType = edmType;
11
+ }
12
+ name() {
13
+ return this.edmType.Name;
14
+ }
15
+ type() {
16
+ return this.edmType.Type;
17
+ }
18
+ }
19
+ exports.EntityProperty = EntityProperty;
20
+ class Entity extends base_1.Base {
21
+ constructor(options, edmType) {
22
+ super(options);
23
+ this.edmType = edmType;
24
+ }
25
+ template() {
26
+ return (0, schematics_1.url)('./files/entity');
27
+ }
28
+ variables() {
29
+ var _a, _b;
30
+ return {
31
+ baseType: this.edmType.BaseType,
32
+ properties: [
33
+ ...((_a = this.edmType.Property) !== null && _a !== void 0 ? _a : []).map((p) => new EntityProperty(p)),
34
+ ...((_b = this.edmType.NavigationProperty) !== null && _b !== void 0 ? _b : []).map((p) => new EntityProperty(p)),
35
+ ],
36
+ };
37
+ }
38
+ name() {
39
+ return core_1.strings.classify(this.edmType.name());
40
+ }
41
+ fileName() {
42
+ return (core_1.strings.dasherize(this.edmType.name()) +
43
+ (this.edmType instanceof csdl_structured_type_1.CsdlEntityType ? '.entity' : '.complex'));
44
+ }
45
+ directory() {
46
+ return this.edmType.namespace().replace(/\./g, '/');
47
+ }
48
+ fullName() {
49
+ return this.edmType.fullName();
50
+ }
51
+ importTypes() {
52
+ var _a, _b, _c, _d;
53
+ const imports = [];
54
+ if (this.edmType.BaseType) {
55
+ imports.push(this.edmType.BaseType);
56
+ }
57
+ for (let prop of (_b = (_a = this.edmType) === null || _a === void 0 ? void 0 : _a.Property) !== null && _b !== void 0 ? _b : []) {
58
+ if (!prop.Type.startsWith('Edm.')) {
59
+ imports.push(prop.Type);
60
+ }
61
+ }
62
+ for (let prop of (_d = (_c = this.edmType) === null || _c === void 0 ? void 0 : _c.NavigationProperty) !== null && _d !== void 0 ? _d : []) {
63
+ if (!prop.Type.startsWith('Edm.')) {
64
+ imports.push(prop.Type);
65
+ }
66
+ }
67
+ return imports;
68
+ }
69
+ }
70
+ exports.Entity = Entity;
71
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/entity.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAE9B,gFAG+C;AAC/C,2DAAyD;AAOzD,MAAa,cAAc;IACzB,YAAsB,OAA8C;QAA9C,YAAO,GAAP,OAAO,CAAuC;IAAG,CAAC;IAExE,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAVD,wCAUC;AAED,MAAa,MAAO,SAAQ,WAAI;IAC9B,YACE,OAAqB,EACX,OAAyC;QAEnD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFL,YAAO,GAAP,OAAO,CAAkC;IAGrD,CAAC;IAEe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACe,SAAS;;QACvB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,UAAU,EAAE;gBACV,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClE,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAC7B;aACF;SACF,CAAC;IACJ,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACe,QAAQ;QACtB,OAAO,CACL,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC,IAAI,CAAC,OAAO,YAAY,qCAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAClE,CAAC;IACJ,CAAC;IACe,SAAS;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACe,WAAW;;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACrC;QACD,KAAK,IAAI,IAAI,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,mCAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;QACD,KAAK,IAAI,IAAI,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,kBAAkB,mCAAI,EAAE,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAtDD,wBAsDC"}
@@ -0,0 +1,25 @@
1
+ import { CsdlEnumType, CsdlMember } from '../metadata/csdl/csdl-enum-type';
2
+ import { Base } from './base';
3
+ import { Source } from '@angular-devkit/schematics';
4
+ import { Schema as ApiGenSchema } from '../schema';
5
+ export declare class EnumValue {
6
+ private edmType;
7
+ constructor(edmType: CsdlMember);
8
+ name(): string;
9
+ value(): number | undefined;
10
+ }
11
+ export declare class Enum extends Base {
12
+ protected edmType: CsdlEnumType;
13
+ constructor(options: ApiGenSchema, edmType: CsdlEnumType);
14
+ template(): Source;
15
+ variables(): {
16
+ [name: string]: any;
17
+ };
18
+ name(): string;
19
+ fileName(): string;
20
+ directory(): string;
21
+ fullName(): string;
22
+ members(): string[];
23
+ flags(): boolean | undefined;
24
+ importTypes(): string[];
25
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Enum = exports.EnumValue = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const base_1 = require("./base");
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ class EnumValue {
8
+ constructor(edmType) {
9
+ this.edmType = edmType;
10
+ }
11
+ name() {
12
+ return this.edmType.Name;
13
+ }
14
+ value() {
15
+ return this.edmType.Value;
16
+ }
17
+ }
18
+ exports.EnumValue = EnumValue;
19
+ class Enum extends base_1.Base {
20
+ constructor(options, edmType) {
21
+ super(options);
22
+ this.edmType = edmType;
23
+ }
24
+ template() {
25
+ return (0, schematics_1.url)('./files/enum');
26
+ }
27
+ variables() {
28
+ var _a;
29
+ return {
30
+ values: ((_a = this.edmType.Member) !== null && _a !== void 0 ? _a : []).map((m) => new EnumValue(m)),
31
+ };
32
+ }
33
+ name() {
34
+ return core_1.strings.classify(this.edmType.name());
35
+ }
36
+ fileName() {
37
+ return core_1.strings.dasherize(this.edmType.name()) + '.enum';
38
+ }
39
+ directory() {
40
+ return this.edmType.namespace().replace(/\./g, '/');
41
+ }
42
+ fullName() {
43
+ return this.edmType.fullName();
44
+ }
45
+ members() {
46
+ return this.edmType.Member.map((m) => `${m.Name} = ${m.Value}`);
47
+ }
48
+ flags() {
49
+ return this.edmType.IsFlags;
50
+ }
51
+ importTypes() {
52
+ return [];
53
+ }
54
+ }
55
+ exports.Enum = Enum;
56
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/enum.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAC/C,iCAA8B;AAE9B,2DAAyD;AAGzD,MAAa,SAAS;IACpB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IACpC,IAAI;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IACM,KAAK;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;CACF;AARD,8BAQC;AACD,MAAa,IAAK,SAAQ,WAAI;IAC5B,YACE,OAAqB,EACX,OAAqB;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFL,YAAO,GAAP,OAAO,CAAc;IAGjC,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACe,SAAS;;QACvB,OAAO;YACL,MAAM,EAAE,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACM,OAAO;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACM,KAAK;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AApCD,oBAoCC"}
@@ -0,0 +1,6 @@
1
+ export declare class Import {
2
+ names: string[];
3
+ from: string;
4
+ constructor(names: string[], from: string);
5
+ path(): string;
6
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Import = void 0;
4
+ class Import {
5
+ constructor(names, from) {
6
+ this.names = [];
7
+ this.names = names;
8
+ this.from = from;
9
+ }
10
+ path() {
11
+ var path = this.from.toString();
12
+ if (!path.startsWith('../'))
13
+ path = `./${path}`;
14
+ return path;
15
+ }
16
+ }
17
+ exports.Import = Import;
18
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/import.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAGjB,YAAmB,KAAe,EAAE,IAAY;QAFzC,UAAK,GAAa,EAAE,CAAC;QAG1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAbD,wBAaC"}
@@ -0,0 +1,18 @@
1
+ import { Base } from './base';
2
+ import { Source } from '@angular-devkit/schematics';
3
+ import { Schema as ApiGenSchema } from '../schema';
4
+ import { Service } from './service';
5
+ export declare class Module extends Base {
6
+ services: Service[];
7
+ constructor(options: ApiGenSchema);
8
+ template(): Source;
9
+ variables(): {
10
+ [name: string]: any;
11
+ };
12
+ addService(service: Service): void;
13
+ name(): string;
14
+ fileName(): string;
15
+ directory(): string;
16
+ fullName(): string;
17
+ importTypes(): string[];
18
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Module = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const base_1 = require("./base");
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ class Module extends base_1.Base {
8
+ constructor(options) {
9
+ super(options);
10
+ this.services = [];
11
+ }
12
+ template() {
13
+ return (0, schematics_1.url)('./files/module');
14
+ }
15
+ variables() {
16
+ return {
17
+ services: this.services,
18
+ };
19
+ }
20
+ addService(service) {
21
+ this.services.push(service);
22
+ this.addDependency(service);
23
+ }
24
+ name() {
25
+ return core_1.strings.classify(this.options.name) + 'Module';
26
+ }
27
+ fileName() {
28
+ return core_1.strings.dasherize(this.options.name) + '.module';
29
+ }
30
+ directory() {
31
+ return '';
32
+ }
33
+ fullName() {
34
+ return this.name();
35
+ }
36
+ importTypes() {
37
+ return [];
38
+ }
39
+ }
40
+ exports.Module = Module;
41
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/module.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAE9B,2DAAyD;AAIzD,MAAa,MAAO,SAAQ,WAAI;IAE9B,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB,aAAQ,GAAc,EAAE,CAAC;IAGzB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACe,SAAS;QACvB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACM,UAAU,CAAC,OAAgB;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhCD,wBAgCC"}
@@ -0,0 +1,20 @@
1
+ import { Base } from './base';
2
+ import { CsdlEntityContainer } from '../metadata/csdl/csdl-entity-container';
3
+ import { CsdlSingleton } from '../metadata/csdl/csdl-singleton';
4
+ import { CsdlEntitySet } from '../metadata/csdl/csdl-entity-set';
5
+ import { Source } from '@angular-devkit/schematics';
6
+ import { Schema as ApiGenSchema } from '../schema';
7
+ export declare class Service extends Base {
8
+ protected edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton;
9
+ constructor(options: ApiGenSchema, edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton);
10
+ template(): Source;
11
+ variables(): {
12
+ [name: string]: any;
13
+ };
14
+ entityType(): string;
15
+ name(): string;
16
+ fileName(): string;
17
+ directory(): string;
18
+ fullName(): string;
19
+ importTypes(): string[];
20
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Service = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const base_1 = require("./base");
6
+ const csdl_singleton_1 = require("../metadata/csdl/csdl-singleton");
7
+ const csdl_entity_set_1 = require("../metadata/csdl/csdl-entity-set");
8
+ const schematics_1 = require("@angular-devkit/schematics");
9
+ class Service extends base_1.Base {
10
+ constructor(options, edmElement) {
11
+ super(options);
12
+ this.edmElement = edmElement;
13
+ }
14
+ template() {
15
+ return this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
16
+ ? (0, schematics_1.url)('./files/entityset-service')
17
+ : this.edmElement instanceof csdl_singleton_1.CsdlSingleton
18
+ ? (0, schematics_1.url)('./files/singleton-service')
19
+ : (0, schematics_1.url)('./files/entitycontainer-service');
20
+ }
21
+ variables() {
22
+ var _a;
23
+ return {
24
+ type: this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
25
+ ? this.edmElement.EntityType
26
+ : this.edmElement instanceof csdl_singleton_1.CsdlSingleton
27
+ ? this.edmElement.Type
28
+ : this.options.name,
29
+ callables: (_a = this.callables) !== null && _a !== void 0 ? _a : [],
30
+ };
31
+ }
32
+ entityType() {
33
+ return this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
34
+ ? this.edmElement.EntityType
35
+ : this.edmElement instanceof csdl_singleton_1.CsdlSingleton
36
+ ? this.edmElement.Type
37
+ : '';
38
+ }
39
+ name() {
40
+ return core_1.strings.classify(this.edmElement.name()) + 'Service';
41
+ }
42
+ fileName() {
43
+ return core_1.strings.dasherize(this.edmElement.name()) + '.service';
44
+ }
45
+ directory() {
46
+ return this.edmElement.namespace().replace(/\./g, '/');
47
+ }
48
+ fullName() {
49
+ return this.edmElement.fullName();
50
+ }
51
+ importTypes() {
52
+ var _a;
53
+ const imports = [];
54
+ if (this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet) {
55
+ imports.push(this.edmElement.EntityType);
56
+ }
57
+ else if (this.edmElement instanceof csdl_singleton_1.CsdlSingleton) {
58
+ imports.push(this.edmElement.Type);
59
+ }
60
+ for (var call of (_a = this.callables) !== null && _a !== void 0 ? _a : []) {
61
+ const ret = call.returnType();
62
+ if (ret !== undefined && !ret.Type.startsWith('Edm.')) {
63
+ imports.push(ret.Type);
64
+ }
65
+ const params = call.parameters();
66
+ for (let param of params) {
67
+ if (!param.Type.startsWith('Edm.')) {
68
+ imports.push(param.Type);
69
+ }
70
+ }
71
+ }
72
+ return imports;
73
+ }
74
+ }
75
+ exports.Service = Service;
76
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ApiConfig, EDM_PARSERS } from 'angular-odata';
2
+
3
+ export const <%= classify(name) %> = {
4
+ serviceRootUrl: '<%= serviceRootUrl %>',
5
+ name: '<%= name %>',
6
+ version: '<%= version %>',
7
+ creation: new Date('<%= creation.toISOString() %>'),
8
+ parsers: EDM_PARSERS
9
+ } as ApiConfig;
@@ -0,0 +1,7 @@
1
+ import { Duration } from 'angular-odata';<% for (let imp of imports) { %>
2
+ import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
3
+
4
+ export const <%= classify(name) %>Type = '<%= fullName %>';
5
+ export interface <%= classify(name) %><% if (baseType) { %> extends <%= toTypescriptType(baseType) %><% } %> {<% for(let prop of properties) { %>
6
+ <%= prop.name() %>: <%= toTypescriptType(prop.type()) %>;<% } %>
7
+ }
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ODataClient,
3
+ ODataActionResource,
4
+ ODataActionOptions,
5
+ ODataFunctionResource,
6
+ ODataFunctionOptions,
7
+ ODataEntitySetService,
8
+ ODataOptions,
9
+ ODataBaseService,
10
+ EntityKey } from 'angular-odata';<% for (let imp of imports) { %>
11
+ import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
12
+
13
+ @Injectable()
14
+ export class <%= classify(name) %> extends ODataBaseService {
15
+ constructor(client: ODataClient) {
16
+ super(client, '<%= name %>', '<%= type %>');
17
+ }
18
+ }