@sap-cloud-sdk/odata-common 2.0.0-beta.0 → 2.0.0-beta.1-20220107142008.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 (234) hide show
  1. package/dist/batch-response.d.ts +11 -10
  2. package/dist/batch-response.d.ts.map +1 -1
  3. package/dist/de-serializers/custom-de-serializers.d.ts +15 -1
  4. package/dist/de-serializers/custom-de-serializers.d.ts.map +1 -1
  5. package/dist/de-serializers/custom-de-serializers.js +16 -0
  6. package/dist/de-serializers/custom-de-serializers.js.map +1 -1
  7. package/dist/de-serializers/de-serializers.d.ts +19 -3
  8. package/dist/de-serializers/de-serializers.d.ts.map +1 -1
  9. package/dist/de-serializers/de-serializers.js +31 -0
  10. package/dist/de-serializers/de-serializers.js.map +1 -1
  11. package/dist/de-serializers/default-de-serializers.d.ts +7 -9
  12. package/dist/de-serializers/default-de-serializers.d.ts.map +1 -1
  13. package/dist/de-serializers/default-de-serializers.js +26 -8
  14. package/dist/de-serializers/default-de-serializers.js.map +1 -1
  15. package/dist/de-serializers/uri-value-converter.d.ts +1 -3
  16. package/dist/de-serializers/uri-value-converter.d.ts.map +1 -1
  17. package/dist/de-serializers/uri-value-converter.js +3 -7
  18. package/dist/de-serializers/uri-value-converter.js.map +1 -1
  19. package/dist/entity-base.d.ts +34 -22
  20. package/dist/entity-base.d.ts.map +1 -1
  21. package/dist/entity-base.js +24 -18
  22. package/dist/entity-base.js.map +1 -1
  23. package/dist/entity-builder.d.ts +10 -6
  24. package/dist/entity-builder.d.ts.map +1 -1
  25. package/dist/entity-builder.js +19 -18
  26. package/dist/entity-builder.js.map +1 -1
  27. package/dist/entity-deserializer.d.ts +9 -9
  28. package/dist/entity-deserializer.d.ts.map +1 -1
  29. package/dist/entity-deserializer.js +15 -14
  30. package/dist/entity-deserializer.js.map +1 -1
  31. package/dist/entity-serializer.d.ts +8 -10
  32. package/dist/entity-serializer.d.ts.map +1 -1
  33. package/dist/entity-serializer.js +12 -10
  34. package/dist/entity-serializer.js.map +1 -1
  35. package/dist/expandable.d.ts +2 -1
  36. package/dist/expandable.d.ts.map +1 -1
  37. package/dist/filter/boolean-filter-function.d.ts +1 -1
  38. package/dist/filter/boolean-filter-function.d.ts.map +1 -1
  39. package/dist/filter/boolean-filter-function.js.map +1 -1
  40. package/dist/filter/collection-filter-function.d.ts +1 -2
  41. package/dist/filter/collection-filter-function.d.ts.map +1 -1
  42. package/dist/filter/collection-filter-function.js.map +1 -1
  43. package/dist/filter/filter-function-base.d.ts +5 -5
  44. package/dist/filter/filter-function-base.d.ts.map +1 -1
  45. package/dist/filter/filter-function-base.js.map +1 -1
  46. package/dist/filter/filter-functions.d.ts +27 -11
  47. package/dist/filter/filter-functions.d.ts.map +1 -1
  48. package/dist/filter/filter-functions.js +39 -32
  49. package/dist/filter/filter-functions.js.map +1 -1
  50. package/dist/filter/filter-lambda-expression.d.ts +5 -4
  51. package/dist/filter/filter-lambda-expression.d.ts.map +1 -1
  52. package/dist/filter/filter-lambda-expression.js.map +1 -1
  53. package/dist/filter/filter-link.d.ts +8 -10
  54. package/dist/filter/filter-link.d.ts.map +1 -1
  55. package/dist/filter/filter-link.js.map +1 -1
  56. package/dist/filter/filter-list.d.ts +8 -10
  57. package/dist/filter/filter-list.d.ts.map +1 -1
  58. package/dist/filter/filter-list.js.map +1 -1
  59. package/dist/filter/filter.d.ts +9 -12
  60. package/dist/filter/filter.d.ts.map +1 -1
  61. package/dist/filter/filter.js +3 -6
  62. package/dist/filter/filter.js.map +1 -1
  63. package/dist/filter/filterable.d.ts +8 -7
  64. package/dist/filter/filterable.d.ts.map +1 -1
  65. package/dist/filter/filterable.js.map +1 -1
  66. package/dist/filter/orderable-filter-function.d.ts +5 -6
  67. package/dist/filter/orderable-filter-function.d.ts.map +1 -1
  68. package/dist/filter/orderable-filter-function.js.map +1 -1
  69. package/dist/filter/unary-filter.d.ts +3 -3
  70. package/dist/filter/unary-filter.d.ts.map +1 -1
  71. package/dist/filter/unary-filter.js.map +1 -1
  72. package/dist/internal.d.ts +0 -1
  73. package/dist/internal.d.ts.map +1 -1
  74. package/dist/internal.js +0 -1
  75. package/dist/internal.js.map +1 -1
  76. package/dist/order/order-link.d.ts +2 -2
  77. package/dist/order/order-link.d.ts.map +1 -1
  78. package/dist/order/order-link.js.map +1 -1
  79. package/dist/order/order.d.ts +2 -1
  80. package/dist/order/order.d.ts.map +1 -1
  81. package/dist/order/order.js.map +1 -1
  82. package/dist/order/orderable.d.ts +4 -3
  83. package/dist/order/orderable.d.ts.map +1 -1
  84. package/dist/order/orderable.js.map +1 -1
  85. package/dist/properties-util.d.ts +3 -3
  86. package/dist/properties-util.d.ts.map +1 -1
  87. package/dist/properties-util.js +5 -4
  88. package/dist/properties-util.js.map +1 -1
  89. package/dist/request/odata-count-request-config.d.ts +5 -4
  90. package/dist/request/odata-count-request-config.d.ts.map +1 -1
  91. package/dist/request/odata-count-request-config.js +3 -3
  92. package/dist/request/odata-count-request-config.js.map +1 -1
  93. package/dist/request/odata-create-request-config.d.ts +8 -6
  94. package/dist/request/odata-create-request-config.d.ts.map +1 -1
  95. package/dist/request/odata-create-request-config.js +7 -6
  96. package/dist/request/odata-create-request-config.js.map +1 -1
  97. package/dist/request/odata-delete-request-config.d.ts +8 -7
  98. package/dist/request/odata-delete-request-config.d.ts.map +1 -1
  99. package/dist/request/odata-delete-request-config.js +6 -5
  100. package/dist/request/odata-delete-request-config.js.map +1 -1
  101. package/dist/request/odata-function-import-request-config.d.ts +4 -3
  102. package/dist/request/odata-function-import-request-config.d.ts.map +1 -1
  103. package/dist/request/odata-function-import-request-config.js.map +1 -1
  104. package/dist/request/odata-get-all-request-config.d.ts +10 -8
  105. package/dist/request/odata-get-all-request-config.d.ts.map +1 -1
  106. package/dist/request/odata-get-all-request-config.js +8 -7
  107. package/dist/request/odata-get-all-request-config.js.map +1 -1
  108. package/dist/request/odata-get-by-key-request-config.d.ts +11 -9
  109. package/dist/request/odata-get-by-key-request-config.d.ts.map +1 -1
  110. package/dist/request/odata-get-by-key-request-config.js +7 -6
  111. package/dist/request/odata-get-by-key-request-config.js.map +1 -1
  112. package/dist/request/odata-request-traits.d.ts +8 -7
  113. package/dist/request/odata-request-traits.d.ts.map +1 -1
  114. package/dist/request/odata-request-traits.js.map +1 -1
  115. package/dist/request/odata-update-request-config.d.ts +8 -7
  116. package/dist/request/odata-update-request-config.d.ts.map +1 -1
  117. package/dist/request/odata-update-request-config.js +6 -5
  118. package/dist/request/odata-update-request-config.js.map +1 -1
  119. package/dist/request-builder/batch/batch-change-set.d.ts +8 -4
  120. package/dist/request-builder/batch/batch-change-set.d.ts.map +1 -1
  121. package/dist/request-builder/batch/batch-change-set.js.map +1 -1
  122. package/dist/request-builder/batch/batch-request-builder.d.ts +8 -5
  123. package/dist/request-builder/batch/batch-request-builder.d.ts.map +1 -1
  124. package/dist/request-builder/batch/batch-request-builder.js +16 -2
  125. package/dist/request-builder/batch/batch-request-builder.js.map +1 -1
  126. package/dist/request-builder/batch/batch-request-serializer.d.ts +3 -2
  127. package/dist/request-builder/batch/batch-request-serializer.d.ts.map +1 -1
  128. package/dist/request-builder/batch/batch-request-serializer.js.map +1 -1
  129. package/dist/request-builder/batch/batch-response-deserializer.d.ts +10 -9
  130. package/dist/request-builder/batch/batch-response-deserializer.d.ts.map +1 -1
  131. package/dist/request-builder/batch/batch-response-deserializer.js +16 -14
  132. package/dist/request-builder/batch/batch-response-deserializer.js.map +1 -1
  133. package/dist/request-builder/count-request-builder.d.ts +5 -4
  134. package/dist/request-builder/count-request-builder.d.ts.map +1 -1
  135. package/dist/request-builder/count-request-builder.js +1 -1
  136. package/dist/request-builder/count-request-builder.js.map +1 -1
  137. package/dist/request-builder/create-request-builder-base.d.ts +14 -8
  138. package/dist/request-builder/create-request-builder-base.d.ts.map +1 -1
  139. package/dist/request-builder/create-request-builder-base.js +13 -9
  140. package/dist/request-builder/create-request-builder-base.js.map +1 -1
  141. package/dist/request-builder/delete-request-builder-base.d.ts +9 -8
  142. package/dist/request-builder/delete-request-builder-base.d.ts.map +1 -1
  143. package/dist/request-builder/delete-request-builder-base.js +7 -7
  144. package/dist/request-builder/delete-request-builder-base.js.map +1 -1
  145. package/dist/request-builder/get-all-request-builder-base.d.ts +10 -7
  146. package/dist/request-builder/get-all-request-builder-base.d.ts.map +1 -1
  147. package/dist/request-builder/get-all-request-builder-base.js +6 -4
  148. package/dist/request-builder/get-all-request-builder-base.js.map +1 -1
  149. package/dist/request-builder/get-by-key-request-builder-base.d.ts +11 -9
  150. package/dist/request-builder/get-by-key-request-builder-base.d.ts.map +1 -1
  151. package/dist/request-builder/get-by-key-request-builder-base.js +7 -6
  152. package/dist/request-builder/get-by-key-request-builder-base.js.map +1 -1
  153. package/dist/request-builder/get-request-builder-base.d.ts +10 -8
  154. package/dist/request-builder/get-request-builder-base.d.ts.map +1 -1
  155. package/dist/request-builder/get-request-builder-base.js +3 -4
  156. package/dist/request-builder/get-request-builder-base.js.map +1 -1
  157. package/dist/request-builder/request-builder-base.js +1 -1
  158. package/dist/request-builder/request-builder.d.ts +6 -6
  159. package/dist/request-builder/request-builder.d.ts.map +1 -1
  160. package/dist/request-builder/request-builder.js +2 -2
  161. package/dist/request-builder/request-builder.js.map +1 -1
  162. package/dist/request-builder/update-request-builder-base.d.ts +15 -13
  163. package/dist/request-builder/update-request-builder-base.d.ts.map +1 -1
  164. package/dist/request-builder/update-request-builder-base.js +11 -14
  165. package/dist/request-builder/update-request-builder-base.js.map +1 -1
  166. package/dist/selectable/collection-field.d.ts +4 -1
  167. package/dist/selectable/collection-field.d.ts.map +1 -1
  168. package/dist/selectable/collection-field.js +1 -0
  169. package/dist/selectable/collection-field.js.map +1 -1
  170. package/dist/selectable/complex-type-field.d.ts +8 -7
  171. package/dist/selectable/complex-type-field.d.ts.map +1 -1
  172. package/dist/selectable/complex-type-field.js +6 -9
  173. package/dist/selectable/complex-type-field.js.map +1 -1
  174. package/dist/selectable/complex-type-property-fields.d.ts +1 -1
  175. package/dist/selectable/complex-type-property-fields.d.ts.map +1 -1
  176. package/dist/selectable/constructor-or-field.d.ts +2 -1
  177. package/dist/selectable/constructor-or-field.d.ts.map +1 -1
  178. package/dist/selectable/custom-field.d.ts +18 -16
  179. package/dist/selectable/custom-field.d.ts.map +1 -1
  180. package/dist/selectable/custom-field.js +3 -2
  181. package/dist/selectable/custom-field.js.map +1 -1
  182. package/dist/selectable/edm-type-field.d.ts +14 -17
  183. package/dist/selectable/edm-type-field.d.ts.map +1 -1
  184. package/dist/selectable/edm-type-field.js +7 -3
  185. package/dist/selectable/edm-type-field.js.map +1 -1
  186. package/dist/selectable/enum-field.d.ts +4 -3
  187. package/dist/selectable/enum-field.d.ts.map +1 -1
  188. package/dist/selectable/enum-field.js +1 -1
  189. package/dist/selectable/enum-field.js.map +1 -1
  190. package/dist/selectable/field-builder.d.ts +11 -8
  191. package/dist/selectable/field-builder.d.ts.map +1 -1
  192. package/dist/selectable/field-builder.js +5 -3
  193. package/dist/selectable/field-builder.js.map +1 -1
  194. package/dist/selectable/field.d.ts +2 -4
  195. package/dist/selectable/field.d.ts.map +1 -1
  196. package/dist/selectable/field.js.map +1 -1
  197. package/dist/selectable/link.d.ts +13 -11
  198. package/dist/selectable/link.d.ts.map +1 -1
  199. package/dist/selectable/link.js +6 -6
  200. package/dist/selectable/link.js.map +1 -1
  201. package/dist/selectable/one-to-many-link.d.ts +5 -4
  202. package/dist/selectable/one-to-many-link.d.ts.map +1 -1
  203. package/dist/selectable/one-to-many-link.js.map +1 -1
  204. package/dist/selectable/one-to-one-link.d.ts +4 -3
  205. package/dist/selectable/one-to-one-link.d.ts.map +1 -1
  206. package/dist/selectable/one-to-one-link.js.map +1 -1
  207. package/dist/selectable/orderable-edm-type-field.d.ts +6 -5
  208. package/dist/selectable/orderable-edm-type-field.d.ts.map +1 -1
  209. package/dist/selectable/orderable-edm-type-field.js.map +1 -1
  210. package/dist/selectable/selectable.d.ts +2 -1
  211. package/dist/selectable/selectable.d.ts.map +1 -1
  212. package/dist/selectable/simple-type-fields.d.ts +1 -1
  213. package/dist/selectable/simple-type-fields.d.ts.map +1 -1
  214. package/dist/uri-conversion/get-filter.d.ts +4 -4
  215. package/dist/uri-conversion/get-filter.d.ts.map +1 -1
  216. package/dist/uri-conversion/get-filter.js +30 -32
  217. package/dist/uri-conversion/get-filter.js.map +1 -1
  218. package/dist/uri-conversion/get-keys.d.ts +4 -4
  219. package/dist/uri-conversion/get-keys.d.ts.map +1 -1
  220. package/dist/uri-conversion/get-keys.js +5 -6
  221. package/dist/uri-conversion/get-keys.js.map +1 -1
  222. package/dist/uri-conversion/get-resource-path.d.ts +4 -5
  223. package/dist/uri-conversion/get-resource-path.d.ts.map +1 -1
  224. package/dist/uri-conversion/get-resource-path.js +11 -14
  225. package/dist/uri-conversion/get-resource-path.js.map +1 -1
  226. package/dist/uri-conversion/odata-uri.d.ts +21 -21
  227. package/dist/uri-conversion/odata-uri.d.ts.map +1 -1
  228. package/dist/uri-conversion/odata-uri.js +11 -9
  229. package/dist/uri-conversion/odata-uri.js.map +1 -1
  230. package/package.json +8 -8
  231. package/dist/payload-value-converter.d.ts +0 -42
  232. package/dist/payload-value-converter.d.ts.map +0 -1
  233. package/dist/payload-value-converter.js +0 -139
  234. package/dist/payload-value-converter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"entity-base.js","sourceRoot":"","sources":["../src/entity-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-base.js","sourceRoot":"","sources":["../src/entity-base.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- import type { Constructable, EntityBase } from './entity-base';
1
+ import type { EntityApi, EntityBase } from './entity-base';
2
+ import { DeSerializers } from './de-serializers';
3
+ declare type NullishTypes = null | undefined;
4
+ declare type NonNullishType<T> = Exclude<T, NullishTypes>;
5
+ declare type PureEntityType<T> = Omit<NonNullishType<T>, keyof EntityBase>;
2
6
  /**
3
7
  * Type to describe possible inputs for `.fromJson`.
4
8
  * This is based on the JSON type of an entity and allows all properties to be optional recursively.
@@ -8,15 +12,15 @@ import type { Constructable, EntityBase } from './entity-base';
8
12
  declare type FromJsonType<JsonT> = {
9
13
  [key: string]: any;
10
14
  } & {
11
- [P in keyof JsonT]?: JsonT[P] extends (infer U)[] ? U extends Record<string, any> ? FromJsonType<U>[] : JsonT[P] : JsonT[P] extends Record<string, any> | null | undefined ? FromJsonType<JsonT[P]> | null | undefined : JsonT[P];
15
+ [P in keyof PureEntityType<JsonT>]?: PureEntityType<JsonT>[P] extends (infer U)[] ? U extends Record<string, any> ? FromJsonType<U>[] : PureEntityType<JsonT>[P] : PureEntityType<JsonT>[P] extends Record<string, any> | null | undefined ? FromJsonType<PureEntityType<JsonT>[P]> | null | undefined : PureEntityType<JsonT>[P];
12
16
  };
13
17
  /**
14
18
  * @internal
15
19
  */
16
- export declare class EntityBuilder<EntityT extends EntityBase, JsonT> {
17
- private _entityConstructor;
20
+ export declare class EntityBuilder<EntityT extends EntityBase, DeSerializersT extends DeSerializers> {
21
+ private _entityApi;
18
22
  protected entity: EntityT;
19
- constructor(_entityConstructor: Constructable<EntityT, JsonT>);
23
+ constructor(_entityApi: EntityApi<EntityT, DeSerializersT>);
20
24
  /**
21
25
  * Sets the custom fields for the entity.
22
26
  * @param customFields - The custom fields you want to add.
@@ -35,7 +39,7 @@ export declare class EntityBuilder<EntityT extends EntityBase, JsonT> {
35
39
  * @param json - Representation of the entity in JSON format.
36
40
  * @returns EntityBase constructed from JSON representation.
37
41
  */
38
- fromJson(json: FromJsonType<JsonT>): EntityT;
42
+ fromJson(json: FromJsonType<EntityT>): EntityT;
39
43
  private filterCustomFields;
40
44
  }
41
45
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO/D;;;;;GAKG;AAEH,aAAK,YAAY,CAAC,KAAK,IAAI;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;KACD,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC7C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,YAAY,CAAC,CAAC,CAAC,EAAE,GACjB,KAAK,CAAC,CAAC,CAAC,GACV,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GACrD,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GACzC,KAAK,CAAC,CAAC,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa,CAAC,OAAO,SAAS,UAAU,EAAE,KAAK;IAG9C,OAAO,CAAC,kBAAkB;IAFtC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEN,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;IAMrE;;;;OAIG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMhE;;;OAGG;IACI,KAAK,IAAI,OAAO;IAMvB;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO;IAkCnD,OAAO,CAAC,kBAAkB;CAe3B"}
1
+ {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,aAAK,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;AACrC,aAAK,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAElD,aAAK,cAAc,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC;AAEnE;;;;;GAKG;AAEH,aAAK,YAAY,CAAC,KAAK,IAAI;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;KACD,CAAC,IAAI,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC7E,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,YAAY,CAAC,CAAC,CAAC,EAAE,GACjB,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAC1B,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GACrE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GACzD,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa,CACxB,OAAO,SAAS,UAAU,EAC1B,cAAc,SAAS,aAAa;IAIxB,OAAO,CAAC,UAAU;IAF9B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEN,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAMlE;;;;OAIG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMhE;;;OAGG;IACI,KAAK,IAAI,OAAO;IAMvB;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO;IAkCrD,OAAO,CAAC,kBAAkB;CAe3B"}
@@ -11,10 +11,10 @@ const logger = (0, util_1.createLogger)({
11
11
  * @internal
12
12
  */
13
13
  class EntityBuilder {
14
- constructor(_entityConstructor) {
15
- this._entityConstructor = _entityConstructor;
14
+ constructor(_entityApi) {
15
+ this._entityApi = _entityApi;
16
16
  if (!this.entity) {
17
- this.entity = new this._entityConstructor();
17
+ this.entity = new _entityApi.entityConstructor(_entityApi.schema);
18
18
  }
19
19
  }
20
20
  /**
@@ -33,7 +33,7 @@ class EntityBuilder {
33
33
  */
34
34
  build() {
35
35
  const entity = this.entity;
36
- this.entity = new this._entityConstructor();
36
+ this.entity = new this._entityApi.entityConstructor(this._entityApi.schema);
37
37
  return entity;
38
38
  }
39
39
  /**
@@ -44,12 +44,12 @@ class EntityBuilder {
44
44
  * @returns EntityBase constructed from JSON representation.
45
45
  */
46
46
  fromJson(json) {
47
- const entityBuilder = this._entityConstructor.builder();
48
- const entityConstructor = this._entityConstructor;
47
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
48
+ const entityBuilder = this;
49
49
  const [entityEntries, customEntries] = (0, util_1.partition)(Object.entries(json), ([key]) => typeof entityBuilder[key] === 'function');
50
50
  entityEntries.forEach(([key, value]) => {
51
- const propertyValue = (0, properties_util_1.isNavigationProperty)(key, entityConstructor) && !!value
52
- ? buildNavigationPropertyFromJson(key, value, entityConstructor)
51
+ const propertyValue = (0, properties_util_1.isNavigationProperty)(key, this._entityApi.schema) && !!value
52
+ ? buildNavigationPropertyFromJson(key, value, this._entityApi)
53
53
  : value;
54
54
  entityBuilder[key](propertyValue);
55
55
  });
@@ -65,10 +65,10 @@ class EntityBuilder {
65
65
  }
66
66
  filterCustomFields(customFields) {
67
67
  return Object.keys(customFields).reduce((validCfs, cf) => {
68
- if (!this._entityConstructor[(0, util_1.upperCaseSnakeCase)(cf)]) {
68
+ if (!this._entityApi.schema[(0, util_1.upperCaseSnakeCase)(cf)]) {
69
69
  validCfs[cf] = customFields[cf];
70
70
  }
71
- logger.warn(`Field name "${cf}" is already existing in "${toClassName(this._entityConstructor._entityName)}" and thus cannot be defined as custom field. `);
71
+ logger.warn(`Field name "${cf}" is already existing in "${toClassName(this._entityApi.entityConstructor._entityName)}" and thus cannot be defined as custom field. `);
72
72
  return validCfs;
73
73
  }, {});
74
74
  }
@@ -77,16 +77,17 @@ exports.EntityBuilder = EntityBuilder;
77
77
  function toClassName(entityName) {
78
78
  return entityName.substr(entityName.indexOf('_') + 1);
79
79
  }
80
- function buildNavigationPropertyFromJson(key, value, entityConstructor) {
81
- const field = entityConstructor[(0, util_1.upperCaseSnakeCase)(key)];
82
- const linkedEntityConstructor = field._linkedEntity;
80
+ function buildNavigationPropertyFromJson(key, value, entityApi) {
81
+ const field = entityApi.schema[(0, util_1.upperCaseSnakeCase)(key)];
82
+ const linkedEntityApi = field._linkedEntityApi;
83
83
  return Array.isArray(value)
84
- ? value.map(item => buildSingleEntityFromJson(item, linkedEntityConstructor))
85
- : buildSingleEntityFromJson(value, linkedEntityConstructor);
84
+ ? value.map(item => buildSingleEntityFromJson(item, linkedEntityApi))
85
+ : // TODO: remove type assertion?
86
+ buildSingleEntityFromJson(value, linkedEntityApi);
86
87
  }
87
- function buildSingleEntityFromJson(json, linkedEntityConstructor) {
88
- return json instanceof linkedEntityConstructor
88
+ function buildSingleEntityFromJson(json, linkedEntityApi) {
89
+ return json instanceof linkedEntityApi.entityConstructor
89
90
  ? json
90
- : linkedEntityConstructor.builder().fromJson(json);
91
+ : linkedEntityApi.entityBuilder().fromJson(json);
91
92
  }
92
93
  //# sourceMappingURL=entity-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { Constructable, EntityBase } from './entity-base';
1
+ import { DeSerializers } from './de-serializers';
2
+ import { EntityApi, EntityBase } from './entity-base';
2
3
  import { ComplexTypeNamespace } from './selectable';
3
4
  /**
4
5
  * Interface representing the return type of the builder function [[entityDeserializer]]
5
6
  * @internal
6
7
  */
7
- export interface EntityDeserializer<EntityT extends EntityBase = any> {
8
- deserializeEntity: (json: any, entityConstructor: Constructable<EntityT>, requestHeader?: any) => EntityT;
8
+ export interface EntityDeserializer {
9
+ deserializeEntity: <EntityT extends EntityBase = EntityBase>(json: any, entityApi: EntityApi<EntityT, any>, requestHeader?: any) => EntityT;
9
10
  deserializeComplexType: (json: Record<string, any>, complexType: ComplexTypeNamespace<any>) => any;
10
11
  }
11
12
  declare type ExtractODataETagType = (json: Record<string, any>) => string | undefined;
@@ -13,14 +14,13 @@ declare type ExtractDataFromOneToManyLinkType = (data: any) => any[];
13
14
  /**
14
15
  * Constructs an entityDeserializer given the OData v2 or v4 specific methods.
15
16
  * The concrete deserializers are created in odata/v2/entity-deserializer.ts and odata/v4/entity-deserializer.ts
16
- * @param edmToTs - Converters emd input to ts values.
17
+ * @param deSerializers - (De-)serializers used for transformation.
17
18
  * @param extractODataETag - Extractor for the ETag.
18
19
  * @param extractDataFromOneToManyLink - Extractor for data related to one to many links.
19
- * @returns a entity deserializer as defined by [[EntityDeserializer]]
20
+ * @returns an entity deserializer as defined by [[EntityDeserializer]]
20
21
  * @internal
21
22
  */
22
- export declare function entityDeserializer(edmToTs: any, // TODO v 2.0 try to get common typing for v2 and v4 in here
23
- extractODataETag: ExtractODataETagType, extractDataFromOneToManyLink: ExtractDataFromOneToManyLinkType): EntityDeserializer;
23
+ export declare function entityDeserializer<T extends DeSerializers>(deSerializers: T, extractODataETag: ExtractODataETagType, extractDataFromOneToManyLink: ExtractDataFromOneToManyLinkType): EntityDeserializer;
24
24
  /**
25
25
  * Extract eTag from custom header ignoring case.
26
26
  * @param headers - Headers from which the etag is extracted.
@@ -32,10 +32,10 @@ export declare function extractEtagFromHeader(headers: any): string | undefined;
32
32
  * Extracts all custom fields from the JSON payload for a single entity.
33
33
  * In this context, a custom fields is every property that is not known in the corresponding entity class.
34
34
  * @param json - The JSON payload.
35
- * @param entityConstructor - The constructor function of the entity class.
35
+ * @param schema - TODO
36
36
  * @returns An object containing the custom fields as key-value pairs.
37
37
  * @internal
38
38
  */
39
- export declare function extractCustomFields<EntityT extends EntityBase, JsonT>(json: Partial<JsonT>, entityConstructor: Constructable<EntityT>): Record<string, any>;
39
+ export declare function extractCustomFields<JsonT>(json: Partial<JsonT>, schema: Record<string, any>): Record<string, any>;
40
40
  export {};
41
41
  //# sourceMappingURL=entity-deserializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-deserializer.d.ts","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,UAAU,EAGX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EAUrB,MAAM,cAAc,CAAC;AAOtB;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,UAAU,GAAG,GAAG;IAClE,iBAAiB,EAAE,CACjB,IAAI,EAAE,GAAG,EACT,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,EACzC,aAAa,CAAC,EAAE,GAAG,KAChB,OAAO,CAAC;IACb,sBAAsB,EAAE,CACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC,KACnC,GAAG,CAAC;CACV;AAED,aAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;AAC9E,aAAK,gCAAgC,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,GAAG,EAAE,4DAA4D;AAC1E,gBAAgB,EAAE,oBAAoB,EACtC,4BAA4B,EAAE,gCAAgC,GAC7D,kBAAkB,CA0LpB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,UAAU,EAAE,KAAK,EACnE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EACpB,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,GACxC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgBrB"}
1
+ {"version":3,"file":"entity-deserializer.d.ts","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,SAAS,EACT,UAAU,EAGX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EAUrB,MAAM,cAAc,CAAC;AAOtB;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EACzD,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,EAClC,aAAa,CAAC,EAAE,GAAG,KAChB,OAAO,CAAC;IAEb,sBAAsB,EAAE,CACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC,KACnC,GAAG,CAAC;CACV;AAED,aAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;AAC9E,aAAK,gCAAgC,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACxD,aAAa,EAAE,CAAC,EAChB,gBAAgB,EAAE,oBAAoB,EACtC,4BAA4B,EAAE,gCAAgC,GAC7D,kBAAkB,CAqMpB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EACvC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcrB"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractCustomFields = exports.extractEtagFromHeader = exports.entityDeserializer = void 0;
4
4
  const util_1 = require("@sap-cloud-sdk/util");
5
+ const de_serializers_1 = require("./de-serializers");
5
6
  const entity_base_1 = require("./entity-base");
6
7
  const edm_types_1 = require("./edm-types");
7
8
  const selectable_1 = require("./selectable");
@@ -12,32 +13,32 @@ const logger = (0, util_1.createLogger)({
12
13
  /**
13
14
  * Constructs an entityDeserializer given the OData v2 or v4 specific methods.
14
15
  * The concrete deserializers are created in odata/v2/entity-deserializer.ts and odata/v4/entity-deserializer.ts
15
- * @param edmToTs - Converters emd input to ts values.
16
+ * @param deSerializers - (De-)serializers used for transformation.
16
17
  * @param extractODataETag - Extractor for the ETag.
17
18
  * @param extractDataFromOneToManyLink - Extractor for data related to one to many links.
18
- * @returns a entity deserializer as defined by [[EntityDeserializer]]
19
+ * @returns an entity deserializer as defined by [[EntityDeserializer]]
19
20
  * @internal
20
21
  */
21
- function entityDeserializer(edmToTs, // TODO v 2.0 try to get common typing for v2 and v4 in here
22
- extractODataETag, extractDataFromOneToManyLink) {
22
+ function entityDeserializer(deSerializers, extractODataETag, extractDataFromOneToManyLink) {
23
+ const edmToTs = (0, de_serializers_1.createValueDeserializer)(deSerializers);
23
24
  /**
24
25
  * Converts the JSON payload for a single entity into an instance of the corresponding generated entity class.
25
26
  * It sets the remote state to the data provided by the JSON payload.
26
27
  * If a version identifier is found in the '__metadata' or in the request header, the method also sets it.
27
28
  * @param json - The JSON payload.
28
- * @param entityConstructor - The constructor function of the entity class.
29
+ * @param entityApi - Entity API to deserialize for.
29
30
  * @param requestHeader - Optional parameter which may be used to add a version identifier (ETag) to the entity
30
31
  * @returns An instance of the entity class.
31
32
  */
32
- function deserializeEntity(json, entityConstructor, requestHeader) {
33
+ function deserializeEntity(json, entityApi, requestHeader) {
33
34
  const etag = extractODataETag(json) || extractEtagFromHeader(requestHeader);
34
- return entityConstructor._allFields // type assertion for backwards compatibility, TODO: remove in v2.0
35
+ return Object.values(entityApi.schema)
35
36
  .filter(field => (0, entity_base_1.isSelectedProperty)(json, field))
36
37
  .reduce((entity, staticField) => {
37
38
  entity[(0, util_1.camelCase)(staticField._fieldName)] = getFieldValue(json, staticField);
38
39
  return entity;
39
- }, new entityConstructor())
40
- .setCustomFields(extractCustomFields(json, entityConstructor))
40
+ }, new entityApi.entityConstructor(entityApi.schema))
41
+ .setCustomFields(extractCustomFields(json, entityApi.schema))
41
42
  .setVersionIdentifier(etag)
42
43
  .setOrInitializeRemoteState();
43
44
  }
@@ -72,14 +73,14 @@ extractODataETag, extractDataFromOneToManyLink) {
72
73
  // Not sure the purpose of the usage of null.
73
74
  function getSingleLinkFromJson(json, link) {
74
75
  if ((0, entity_base_1.isExpandedProperty)(json, link)) {
75
- return deserializeEntity(json[link._fieldName], link._linkedEntity);
76
+ return deserializeEntity(json[link._fieldName], link._linkedEntityApi);
76
77
  }
77
78
  return null;
78
79
  }
79
80
  function getMultiLinkFromJson(json, link) {
80
81
  if ((0, entity_base_1.isSelectedProperty)(json, link)) {
81
82
  const results = extractDataFromOneToManyLink(json[link._fieldName]);
82
- return results.map(linkJson => deserializeEntity(linkJson, link._linkedEntity));
83
+ return results.map(linkJson => deserializeEntity(linkJson, link._linkedEntityApi));
83
84
  }
84
85
  }
85
86
  // TODO: get rid of this function in v2.0
@@ -153,16 +154,16 @@ exports.extractEtagFromHeader = extractEtagFromHeader;
153
154
  * Extracts all custom fields from the JSON payload for a single entity.
154
155
  * In this context, a custom fields is every property that is not known in the corresponding entity class.
155
156
  * @param json - The JSON payload.
156
- * @param entityConstructor - The constructor function of the entity class.
157
+ * @param schema - TODO
157
158
  * @returns An object containing the custom fields as key-value pairs.
158
159
  * @internal
159
160
  */
160
- function extractCustomFields(json, entityConstructor) {
161
+ function extractCustomFields(json, schema) {
161
162
  const regularODataProperties = [
162
163
  '__metadata',
163
164
  '__deferred',
164
165
  // type assertion for backwards compatibility, TODO: remove in v2.0
165
- ...entityConstructor._allFields.map(field => field._fieldName)
166
+ ...Object.values(schema).map(field => field._fieldName)
166
167
  ];
167
168
  const regularFields = new Set(regularODataProperties);
168
169
  return Object.keys(json)
@@ -1 +1 @@
1
- {"version":3,"file":"entity-deserializer.js","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-deserializer.js","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,21 @@
1
- import { Constructable, EntityBase } from './entity-base';
1
+ import { EntityApi, EntityBase } from './entity-base';
2
2
  import { ComplexTypeNamespace } from './selectable';
3
- import { EdmTypeShared } from './edm-types';
3
+ import { DeSerializers } from './de-serializers';
4
4
  /**
5
5
  * Interface representing the return type of the builder function [[entitySerializer]].
6
6
  * @internal
7
7
  */
8
- export interface EntitySerializer<EntityT extends EntityBase = any, ComplexTypeNamespaceT extends ComplexTypeNamespace<any> = any> {
9
- serializeEntity: (entity: EntityT, entityConstructor: Constructable<EntityT>, diff?: boolean) => Record<string, any>;
10
- serializeComplexType: (fieldValue: any, complexTypeNameSpace: ComplexTypeNamespaceT) => any;
11
- serializeEntityNonCustomFields: (entity: EntityT, entityConstructor: Constructable<EntityT>) => Record<string, any>;
8
+ export interface EntitySerializer {
9
+ serializeEntity: <EntityT extends EntityBase>(entity: EntityT, entityApi: EntityApi<EntityT, any>, diff?: boolean) => Record<string, any>;
10
+ serializeComplexType: <ComplexTypeNamespaceT extends ComplexTypeNamespace<any> = any>(fieldValue: any, complexTypeNameSpace: ComplexTypeNamespaceT) => any;
11
+ serializeEntityNonCustomFields: <EntityT extends EntityBase>(entity: EntityT, entityApi: EntityApi<EntityT, any>) => Record<string, any>;
12
12
  }
13
- declare type TsToEdmType = (value: any, edmType: EdmTypeShared<'v2'> | EdmTypeShared<'v4'>) => any;
14
13
  /**
15
14
  * Constructs an entitySerializer given the OData v2 or v4 specific tsToEdm method.
16
15
  * The concrete serializers are created in odata/v2/entity-serializer.ts and odata/v4/entity-serializer.ts
17
- * @param tsToEdm - Converters ts input to EDM values
16
+ * @param deSerializers - (De-)serializers used for transformation.
18
17
  * @returns a entity serializer as defined by [[EntitySerializer]]
19
18
  * @internal
20
19
  */
21
- export declare function entitySerializer(tsToEdm: TsToEdmType): EntitySerializer;
22
- export {};
20
+ export declare function entitySerializer(deSerializers: DeSerializers): EntitySerializer;
23
21
  //# sourceMappingURL=entity-serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-serializer.d.ts","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,oBAAoB,EASrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAa,MAAM,aAAa,CAAC;AAOvD;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAC/B,OAAO,SAAS,UAAU,GAAG,GAAG,EAChC,qBAAqB,SAAS,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG;IAE7D,eAAe,EAAE,CACf,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,EACzC,IAAI,CAAC,EAAE,OAAO,KACX,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB,oBAAoB,EAAE,CACpB,UAAU,EAAE,GAAG,EACf,oBAAoB,EAAE,qBAAqB,KACxC,GAAG,CAAC;IACT,8BAA8B,EAAE,CAC9B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,KACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED,aAAK,WAAW,GAAG,CACjB,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAC/C,GAAG,CAAC;AAET;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB,CA4KvE"}
1
+ {"version":3,"file":"entity-serializer.d.ts","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACL,oBAAoB,EASrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAyB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOxE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,CAAC,OAAO,SAAS,UAAU,EAC1C,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,EAClC,IAAI,CAAC,EAAE,OAAO,KACX,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB,oBAAoB,EAAE,CACpB,qBAAqB,SAAS,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,EAE7D,UAAU,EAAE,GAAG,EACf,oBAAoB,EAAE,qBAAqB,KACxC,GAAG,CAAC;IACT,8BAA8B,EAAE,CAAC,OAAO,SAAS,UAAU,EACzD,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,KAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,GAC3B,gBAAgB,CAgLlB"}
@@ -4,6 +4,7 @@ exports.entitySerializer = void 0;
4
4
  const util_1 = require("@sap-cloud-sdk/util");
5
5
  const selectable_1 = require("./selectable");
6
6
  const edm_types_1 = require("./edm-types");
7
+ const de_serializers_1 = require("./de-serializers");
7
8
  const logger = (0, util_1.createLogger)({
8
9
  package: 'odata-common',
9
10
  messageContext: 'entity-serializer'
@@ -11,21 +12,22 @@ const logger = (0, util_1.createLogger)({
11
12
  /**
12
13
  * Constructs an entitySerializer given the OData v2 or v4 specific tsToEdm method.
13
14
  * The concrete serializers are created in odata/v2/entity-serializer.ts and odata/v4/entity-serializer.ts
14
- * @param tsToEdm - Converters ts input to EDM values
15
+ * @param deSerializers - (De-)serializers used for transformation.
15
16
  * @returns a entity serializer as defined by [[EntitySerializer]]
16
17
  * @internal
17
18
  */
18
- function entitySerializer(tsToEdm) {
19
+ function entitySerializer(deSerializers) {
20
+ const tsToEdm = (0, de_serializers_1.createValueSerializer)(deSerializers);
19
21
  /**
20
22
  * Converts an instance of an entity class into a JSON payload to be sent to an OData service.
21
23
  * @param entity - An instance of an entity.
22
- * @param entityConstructor - The constructor function of that entity.
24
+ * @param entityApi - Entity API to serialize for.
23
25
  * @param diff - Serialize changed properties only. This only applies on the first level in case there are navigational properties.
24
26
  * @returns JSON.
25
27
  */
26
- function serializeEntity(entity, entityConstructor, diff = false) {
28
+ function serializeEntity(entity, entityApi, diff = false) {
27
29
  return {
28
- ...serializeEntityNonCustomFields(entity, entityConstructor, diff),
30
+ ...serializeEntityNonCustomFields(entity, entityApi, diff),
29
31
  ...(diff ? entity.getUpdatedCustomFields() : entity.getCustomFields())
30
32
  };
31
33
  }
@@ -37,10 +39,10 @@ function entitySerializer(tsToEdm) {
37
39
  return tsToEdm(fieldValue, field.edmType);
38
40
  }
39
41
  if (field instanceof selectable_1.OneToOneLink) {
40
- return serializeEntity(fieldValue, field._linkedEntity);
42
+ return serializeEntity(fieldValue, field._linkedEntityApi);
41
43
  }
42
44
  if (field instanceof selectable_1.Link) {
43
- return fieldValue.map(linkedEntity => serializeEntity(linkedEntity, field._linkedEntity));
45
+ return fieldValue.map(linkedEntity => serializeEntity(linkedEntity, field._linkedEntityApi));
44
46
  }
45
47
  if (field instanceof selectable_1.ComplexTypeField) {
46
48
  if (field._complexType) {
@@ -58,13 +60,13 @@ function entitySerializer(tsToEdm) {
58
60
  /**
59
61
  * Converts an instance of an entity class into a JSON payload to be sent to an OData service, ignoring custom fields.
60
62
  * @param entity - An instance of an entity.
61
- * @param entityConstructor - The constructor function of that entity.
63
+ * @param entityApi - Entity API to serialize for.
62
64
  * @param diff - Serialize changed properties only. This only applies on the first level in case there are navigational properties.
63
65
  * @returns A JSON Representation of the non custom fields
64
66
  */
65
- function serializeEntityNonCustomFields(entity, entityConstructor, diff = false) {
67
+ function serializeEntityNonCustomFields(entity, entityApi, diff = false) {
66
68
  return getFieldNames(entity, diff).reduce((serialized, key) => {
67
- const field = entityConstructor[(0, util_1.upperCaseSnakeCase)(key)];
69
+ const field = entityApi.schema[(0, util_1.upperCaseSnakeCase)(key)];
68
70
  const fieldValue = entity[key];
69
71
  const serializedValue = serializeField(field, fieldValue);
70
72
  if (typeof serializedValue === 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"file":"entity-serializer.js","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-serializer.js","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { DeSerializers } from './de-serializers';
1
2
  import { EntityBase, ODataVersionOf } from './entity-base';
2
3
  import { OneToManyLink, AllFields, OneToOneLink } from './selectable';
3
4
  /**
@@ -5,5 +6,5 @@ import { OneToManyLink, AllFields, OneToOneLink } from './selectable';
5
6
  * @typeparam EntityT - Type of the entity to be selected on
6
7
  * @internal
7
8
  */
8
- export declare type Expandable<EntityT extends EntityBase> = ODataVersionOf<EntityT> extends 'v2' ? never : OneToOneLink<EntityT, any> | OneToManyLink<EntityT, any> | AllFields<EntityT>;
9
+ export declare type Expandable<EntityT extends EntityBase, DeSerializersT extends DeSerializers, LinkedEntityT extends EntityBase = EntityBase> = ODataVersionOf<EntityT> extends 'v2' ? never : OneToOneLink<EntityT, DeSerializersT, LinkedEntityT> | OneToManyLink<EntityT, DeSerializersT, LinkedEntityT> | AllFields<EntityT>;
9
10
  //# sourceMappingURL=expandable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable.d.ts","sourceRoot":"","sources":["../src/expandable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtE;;;;GAIG;AACH,oBAAY,UAAU,CAAC,OAAO,SAAS,UAAU,IAC/C,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,GAChC,KAAK,GAED,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,GAC1B,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,GAC3B,SAAS,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"expandable.d.ts","sourceRoot":"","sources":["../src/expandable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtE;;;;GAIG;AACH,oBAAY,UAAU,CACpB,OAAO,SAAS,UAAU,EAC1B,cAAc,SAAS,aAAa,EACpC,aAAa,SAAS,UAAU,GAAG,UAAU,IAC3C,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,GACpC,KAAK,GAED,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,GACpD,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,GACrD,SAAS,CAAC,OAAO,CAAC,CAAC"}
@@ -19,5 +19,5 @@ export declare class BooleanFilterFunction<EntityT extends EntityBase> extends F
19
19
  * @returns boolean
20
20
  * @internal
21
21
  */
22
- export declare function isBooleanFilterFunction<EntityT extends EntityBase>(filterable: Filterable<EntityT>): filterable is BooleanFilterFunction<EntityT>;
22
+ export declare function isBooleanFilterFunction<EntityT extends EntityBase>(filterable: Filterable<EntityT, any>): filterable is BooleanFilterFunction<EntityT>;
23
23
  //# sourceMappingURL=boolean-filter-function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,qBAAa,qBAAqB,CAChC,OAAO,SAAS,UAAU,CAC1B,SAAQ,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;IACxC;;;;OAIG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,UAAU,EAChE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,GAC9B,UAAU,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAM9C"}
1
+ {"version":3,"file":"boolean-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,qBAAa,qBAAqB,CAChC,OAAO,SAAS,UAAU,CAC1B,SAAQ,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;IACxC;;;;OAIG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,UAAU,EAChE,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,GACnC,UAAU,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAM9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-filter-function.js","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAGhC;;;GAGG;AACH,MAAa,qBAEX,SAAQ,qCAAgC;IACxC;;;;OAIG;IACH,YACE,YAAoB,EACpB,UAAkD;QAElD,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;CACF;AAdD,sDAcC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,UAA+B;IAE/B,OAAO,CACL,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,WAAW;QACjD,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,WAAW;QAC/C,UAAU,CAAC,SAAS,CAAC,KAAK,aAAa,CACxC,CAAC;AACJ,CAAC;AARD,0DAQC"}
1
+ {"version":3,"file":"boolean-filter-function.js","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAGhC;;;GAGG;AACH,MAAa,qBAEX,SAAQ,qCAAgC;IACxC;;;;OAIG;IACH,YACE,YAAoB,EACpB,UAAkD;QAElD,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;CACF;AAdD,sDAcC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,UAAoC;IAEpC,OAAO,CACL,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,WAAW;QACjD,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,WAAW;QAC/C,UAAU,CAAC,SAAS,CAAC,KAAK,aAAa,CACxC,CAAC;AACJ,CAAC;AARD,0DAQC"}
@@ -1,12 +1,11 @@
1
1
  import { EntityBase } from '../entity-base';
2
2
  import { EdmTypeShared } from '../edm-types';
3
- import { FieldType } from '../selectable';
4
3
  import { FilterFunction, FilterFunctionParameterType } from './filter-function-base';
5
4
  /**
6
5
  * Representation of a filter function, that returns a collection of values.
7
6
  * @internal
8
7
  */
9
- export declare class CollectionFilterFunction<EntityT extends EntityBase, FieldT extends FieldType> extends FilterFunction<EntityT, FieldT[]> {
8
+ export declare class CollectionFilterFunction<EntityT extends EntityBase, FieldT> extends FilterFunction<EntityT, FieldT[]> {
10
9
  /**
11
10
  * Creates an instance of CollectionFilterFunction.
12
11
  * @param functionName - Name of the function that returns a collection value
@@ -1 +1 @@
1
- {"version":3,"file":"collection-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,qBAAa,wBAAwB,CACnC,OAAO,SAAS,UAAU,EAC1B,MAAM,SAAS,SAAS,CACxB,SAAQ,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC;;;;;OAKG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAClD,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;CAIhC"}
1
+ {"version":3,"file":"collection-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,qBAAa,wBAAwB,CACnC,OAAO,SAAS,UAAU,EAC1B,MAAM,CACN,SAAQ,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC;;;;;OAKG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAClD,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;CAIhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"collection-filter-function.js","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":";;;AAGA,iEAGgC;AAEhC;;;GAGG;AACH,MAAa,wBAGX,SAAQ,qCAAiC;IACzC;;;;;OAKG;IACH,YACE,YAAoB,EACpB,UAAkD,EAClD,OAA6B;QAE7B,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAjBD,4DAiBC"}
1
+ {"version":3,"file":"collection-filter-function.js","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":";;;AAEA,iEAGgC;AAEhC;;;GAGG;AACH,MAAa,wBAGX,SAAQ,qCAAiC;IACzC;;;;;OAKG;IACH,YACE,YAAoB,EACpB,UAAkD,EAClD,OAA6B;QAE7B,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAjBD,4DAiBC"}
@@ -1,14 +1,14 @@
1
1
  import moment from 'moment';
2
2
  import { EdmTypeShared } from '../edm-types';
3
3
  import { EntityBase, ODataVersionOf } from '../entity-base';
4
- import { Field, FieldType } from '../selectable';
4
+ import { Field } from '../selectable';
5
5
  import { Filter } from './filter';
6
6
  /**
7
7
  * Data structure to represent OData filter functions.
8
8
  * Use the factory function [[filterFunction]] to create instances of `FilterFunction`.
9
9
  * @internal
10
10
  */
11
- export declare abstract class FilterFunction<EntityT extends EntityBase, ReturnT extends FieldType | FieldType[]> {
11
+ export declare abstract class FilterFunction<EntityT extends EntityBase, ReturnT> {
12
12
  readonly functionName: string;
13
13
  readonly parameters: FilterFunctionParameterType<EntityT>[];
14
14
  readonly edmType: EdmTypeShared<ODataVersionOf<EntityT>>;
@@ -25,14 +25,14 @@ export declare abstract class FilterFunction<EntityT extends EntityBase, ReturnT
25
25
  * @param edmType - EDM type of the value, used when converting the value to URL. Use `Edm.String` as default value.
26
26
  * @returns The resulting filter
27
27
  */
28
- equals(value: ReturnT): Filter<EntityT, ReturnT>;
28
+ equals(value: ReturnT): Filter<EntityT, any, ReturnT>;
29
29
  /**
30
30
  * Creates an instance of Filter for this filter function and the given value using the operator 'ne', i.e. `!=`.
31
31
  * @param value - Value to be used in the filter
32
32
  * @param edmType - EDM type of the value, used when converting the value to URL. Use `Edm.String` as default value.
33
33
  * @returns The resulting filter
34
34
  */
35
- notEquals(value: ReturnT): Filter<EntityT, ReturnT>;
35
+ notEquals(value: ReturnT): Filter<EntityT, any, ReturnT>;
36
36
  }
37
37
  /**
38
38
  * Primitive type of a parameter of a filter function.
@@ -43,5 +43,5 @@ export declare type FilterFunctionPrimitiveParameterType = number | string | mom
43
43
  * Type of a parameter of a filter function. This can either be a primitive type, a reference to a field or another filter function.
44
44
  * @internal
45
45
  */
46
- export declare type FilterFunctionParameterType<EntityT extends EntityBase> = FilterFunctionPrimitiveParameterType | Field<EntityT, boolean, boolean> | FilterFunction<EntityT, FieldType | FieldType[]> | FilterFunctionPrimitiveParameterType[];
46
+ export declare type FilterFunctionParameterType<EntityT extends EntityBase> = FilterFunctionPrimitiveParameterType | Field<EntityT, boolean, boolean> | FilterFunction<EntityT, any> | FilterFunctionPrimitiveParameterType[];
47
47
  //# sourceMappingURL=filter-function-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-function-base.d.ts","sourceRoot":"","sources":["../../src/filter/filter-function-base.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;GAIG;AACH,8BAAsB,cAAc,CAClC,OAAO,SAAS,UAAU,EAC1B,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE;IASrC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC3D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAT1D;;;;;OAKG;gBAEQ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAClD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAG1D;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;IAIhD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;CAGpD;AAED;;;GAGG;AACH,oBAAY,oCAAoC,GAC5C,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,CAAC;AAElB;;;GAGG;AACH,oBAAY,2BAA2B,CAAC,OAAO,SAAS,UAAU,IAC9D,oCAAoC,GACpC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAChC,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,GAChD,oCAAoC,EAAE,CAAC"}
1
+ {"version":3,"file":"filter-function-base.d.ts","sourceRoot":"","sources":["../../src/filter/filter-function-base.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;GAIG;AACH,8BAAsB,cAAc,CAAC,OAAO,SAAS,UAAU,EAAE,OAAO;IAQpE,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC3D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAT1D;;;;;OAKG;gBAEQ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAClD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAG1D;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CAGzD;AAED;;;GAGG;AACH,oBAAY,oCAAoC,GAC5C,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,CAAC;AAElB;;;GAGG;AACH,oBAAY,2BAA2B,CAAC,OAAO,SAAS,UAAU,IAC9D,oCAAoC,GACpC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAChC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,GAC5B,oCAAoC,EAAE,CAAC"}