breeze-client 2.1.1 → 2.1.3-mjs

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 (399) hide show
  1. package/LICENSE +1 -1
  2. package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
  3. package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
  4. package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
  5. package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
  6. package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
  7. package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
  8. package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
  9. package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
  10. package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
  11. package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
  12. package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
  13. package/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +130 -0
  14. package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +49 -0
  15. package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
  16. package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +132 -0
  17. package/esm2020/adapter-ajax-fetch/adapter-core.mjs +49 -0
  18. package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
  19. package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +137 -0
  20. package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +49 -0
  21. package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
  22. package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +103 -0
  23. package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
  24. package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
  25. package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
  26. package/esm2020/adapter-data-service-odata/adapter-core.mjs +49 -0
  27. package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +456 -0
  28. package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
  29. package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +93 -0
  30. package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
  31. package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +268 -0
  32. package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
  33. package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +240 -0
  34. package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
  35. package/esm2020/adapter-uri-builder-json/adapter-core.mjs +49 -0
  36. package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +36 -0
  37. package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
  38. package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +49 -0
  39. package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +190 -0
  40. package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
  41. package/esm2020/breeze-client.mjs +5 -0
  42. package/esm2020/index.mjs +2 -0
  43. package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
  44. package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
  45. package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
  46. package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +400 -0
  47. package/esm2020/src/abstract-data-service-adapter.mjs +296 -0
  48. package/esm2020/src/array.mjs +4 -0
  49. package/esm2020/src/assert-param.mjs +312 -0
  50. package/esm2020/src/breeze.mjs +85 -0
  51. package/esm2020/src/complex-array.mjs +117 -0
  52. package/esm2020/src/config.mjs +223 -0
  53. package/esm2020/src/core.mjs +707 -0
  54. package/esm2020/src/csdl-metadata-parser.mjs +385 -0
  55. package/esm2020/src/data-service.mjs +203 -0
  56. package/esm2020/src/data-type.mjs +444 -0
  57. package/esm2020/src/default-property-interceptor.mjs +460 -0
  58. package/esm2020/src/entity-action.mjs +45 -0
  59. package/esm2020/src/entity-aspect.mjs +806 -0
  60. package/esm2020/src/entity-group.mjs +187 -0
  61. package/esm2020/src/entity-key.mjs +116 -0
  62. package/esm2020/src/entity-manager.mjs +2094 -0
  63. package/esm2020/src/entity-metadata.mjs +2109 -0
  64. package/esm2020/src/entity-query.mjs +996 -0
  65. package/esm2020/src/entity-state.mjs +99 -0
  66. package/esm2020/src/enum.mjs +141 -0
  67. package/esm2020/src/event.mjs +256 -0
  68. package/esm2020/src/interface-registry.mjs +41 -0
  69. package/esm2020/src/key-generator.mjs +108 -0
  70. package/esm2020/src/local-query-comparison-options.mjs +65 -0
  71. package/esm2020/src/mapping-context.mjs +405 -0
  72. package/esm2020/src/naming-convention.mjs +88 -0
  73. package/esm2020/src/observable-array.mjs +183 -0
  74. package/esm2020/src/predicate.mjs +1232 -0
  75. package/esm2020/src/primitive-array.mjs +85 -0
  76. package/esm2020/src/query-options.mjs +152 -0
  77. package/esm2020/src/relation-array.mjs +173 -0
  78. package/esm2020/src/save-options.mjs +41 -0
  79. package/esm2020/src/unattached-children-map.mjs +58 -0
  80. package/esm2020/src/validate.mjs +988 -0
  81. package/esm2020/src/validation-options.mjs +64 -0
  82. package/fesm2015/{breeze-client-adapter-ajax-angularjs.js → breeze-client-adapter-ajax-angularjs.mjs} +1 -1
  83. package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  84. package/fesm2015/{breeze-client-adapter-ajax-fetch.js → breeze-client-adapter-ajax-fetch.mjs} +5 -3
  85. package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  86. package/fesm2015/{breeze-client-adapter-ajax-httpclient.js → breeze-client-adapter-ajax-httpclient.mjs} +1 -1
  87. package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  88. package/fesm2015/{breeze-client-adapter-ajax-jquery.js → breeze-client-adapter-ajax-jquery.mjs} +2 -2
  89. package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  90. package/fesm2015/{breeze-client-adapter-ajax-post.js → breeze-client-adapter-ajax-post.mjs} +1 -1
  91. package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +1 -0
  92. package/fesm2015/{breeze-client-adapter-data-service-odata.js → breeze-client-adapter-data-service-odata.mjs} +20 -22
  93. package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  94. package/fesm2015/{breeze-client-adapter-data-service-webapi.js → breeze-client-adapter-data-service-webapi.mjs} +13 -13
  95. package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  96. package/fesm2015/{breeze-client-adapter-model-library-backing-store.js → breeze-client-adapter-model-library-backing-store.mjs} +13 -13
  97. package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  98. package/fesm2015/{breeze-client-adapter-model-library-ko.js → breeze-client-adapter-model-library-ko.mjs} +13 -13
  99. package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  100. package/fesm2015/{breeze-client-adapter-uri-builder-json.js → breeze-client-adapter-uri-builder-json.mjs} +8 -8
  101. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  102. package/fesm2015/{breeze-client-adapter-uri-builder-odata.js → breeze-client-adapter-uri-builder-odata.mjs} +85 -86
  103. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  104. package/fesm2015/{breeze-client-mixin-get-entity-graph.js → breeze-client-mixin-get-entity-graph.mjs} +1 -1
  105. package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  106. package/fesm2015/{breeze-client-mixin-save-queuing.js → breeze-client-mixin-save-queuing.mjs} +3 -3
  107. package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +1 -0
  108. package/fesm2015/{breeze-client.js → breeze-client.mjs} +417 -422
  109. package/fesm2015/breeze-client.mjs.map +1 -0
  110. package/{fesm5/breeze-client-adapter-ajax-angularjs.js → fesm2020/breeze-client-adapter-ajax-angularjs.mjs} +41 -42
  111. package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  112. package/{fesm5/breeze-client-adapter-ajax-fetch.js → fesm2020/breeze-client-adapter-ajax-fetch.mjs} +44 -43
  113. package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  114. package/{fesm5/breeze-client-adapter-ajax-httpclient.js → fesm2020/breeze-client-adapter-ajax-httpclient.mjs} +43 -44
  115. package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  116. package/{fesm5/breeze-client-adapter-ajax-jquery.js → fesm2020/breeze-client-adapter-ajax-jquery.mjs} +18 -19
  117. package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  118. package/{fesm5/breeze-client-adapter-ajax-post.js → fesm2020/breeze-client-adapter-ajax-post.mjs} +8 -11
  119. package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +1 -0
  120. package/{fesm5/breeze-client-adapter-data-service-odata.js → fesm2020/breeze-client-adapter-data-service-odata.mjs} +126 -134
  121. package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  122. package/{fesm5/breeze-client-adapter-data-service-webapi.js → fesm2020/breeze-client-adapter-data-service-webapi.mjs} +38 -42
  123. package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  124. package/{fesm5/breeze-client-adapter-model-library-backing-store.js → fesm2020/breeze-client-adapter-model-library-backing-store.mjs} +63 -64
  125. package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  126. package/{fesm5/breeze-client-adapter-model-library-ko.js → fesm2020/breeze-client-adapter-model-library-ko.mjs} +57 -58
  127. package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  128. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs +91 -0
  129. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  130. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs +245 -0
  131. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  132. package/{fesm5/breeze-client-mixin-get-entity-graph.js → fesm2020/breeze-client-mixin-get-entity-graph.mjs} +45 -45
  133. package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  134. package/{fesm5/breeze-client-mixin-save-queuing.js → fesm2020/breeze-client-mixin-save-queuing.mjs} +118 -128
  135. package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +1 -0
  136. package/{fesm5/breeze-client.js → fesm2020/breeze-client.mjs} +3403 -3615
  137. package/fesm2020/breeze-client.mjs.map +1 -0
  138. package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
  139. package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
  140. package/mixin-save-queuing/mixin-save-queuing.d.ts +31 -1
  141. package/package.json +126 -12
  142. package/src/entity-metadata.d.ts +6 -4
  143. package/src/entity-query.d.ts +1 -1
  144. package/src/validate.d.ts +4 -3
  145. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  146. package/adapter-ajax-angularjs/package.json +0 -13
  147. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  148. package/adapter-ajax-fetch/package.json +0 -13
  149. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  150. package/adapter-ajax-httpclient/package.json +0 -17
  151. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  152. package/adapter-ajax-jquery/package.json +0 -13
  153. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  154. package/adapter-ajax-post/package.json +0 -13
  155. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  156. package/adapter-data-service-odata/package.json +0 -13
  157. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  158. package/adapter-data-service-webapi/package.json +0 -13
  159. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  160. package/adapter-model-library-backing-store/package.json +0 -13
  161. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  162. package/adapter-model-library-ko/package.json +0 -13
  163. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  164. package/adapter-uri-builder-json/package.json +0 -13
  165. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  166. package/adapter-uri-builder-odata/package.json +0 -13
  167. package/breeze-client.d.ts +0 -8
  168. package/breeze-client.metadata.json +0 -1
  169. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  170. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  171. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  172. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  173. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  174. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  175. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  176. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  177. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  178. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  179. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  180. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  181. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  182. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  183. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  184. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  185. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  186. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  187. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  188. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  189. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -743
  190. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  191. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  192. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  193. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -326
  194. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  195. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  196. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  197. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  198. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  199. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  200. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  201. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  202. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  203. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  204. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  205. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  206. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  207. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  208. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  209. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  210. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  211. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  212. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  213. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  214. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  215. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  216. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  217. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -578
  218. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  219. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  220. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  221. package/bundles/breeze-client.umd.js +0 -14094
  222. package/bundles/breeze-client.umd.js.map +0 -1
  223. package/bundles/breeze-client.umd.min.js +0 -16
  224. package/bundles/breeze-client.umd.min.js.map +0 -1
  225. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  226. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  227. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  228. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  229. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  230. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  231. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  232. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  233. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  234. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  235. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  236. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  237. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  238. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  239. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -459
  240. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  241. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -93
  242. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  243. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  244. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  245. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  246. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  247. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  248. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  249. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  250. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  251. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  252. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  253. package/esm2015/breeze-client.js +0 -9
  254. package/esm2015/index.js +0 -2
  255. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  256. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  257. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  258. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  259. package/esm2015/public_api.js +0 -2
  260. package/esm2015/src/abstract-data-service-adapter.js +0 -296
  261. package/esm2015/src/array.js +0 -4
  262. package/esm2015/src/assert-param.js +0 -312
  263. package/esm2015/src/breeze.js +0 -85
  264. package/esm2015/src/complex-array.js +0 -119
  265. package/esm2015/src/config.js +0 -223
  266. package/esm2015/src/core.js +0 -706
  267. package/esm2015/src/csdl-metadata-parser.js +0 -385
  268. package/esm2015/src/data-service.js +0 -203
  269. package/esm2015/src/data-type.js +0 -444
  270. package/esm2015/src/default-property-interceptor.js +0 -459
  271. package/esm2015/src/entity-action.js +0 -45
  272. package/esm2015/src/entity-aspect.js +0 -806
  273. package/esm2015/src/entity-group.js +0 -187
  274. package/esm2015/src/entity-key.js +0 -116
  275. package/esm2015/src/entity-manager.js +0 -2094
  276. package/esm2015/src/entity-metadata.js +0 -2109
  277. package/esm2015/src/entity-query.js +0 -996
  278. package/esm2015/src/entity-state.js +0 -99
  279. package/esm2015/src/enum.js +0 -141
  280. package/esm2015/src/event.js +0 -256
  281. package/esm2015/src/interface-registry.js +0 -41
  282. package/esm2015/src/key-generator.js +0 -108
  283. package/esm2015/src/local-query-comparison-options.js +0 -65
  284. package/esm2015/src/mapping-context.js +0 -405
  285. package/esm2015/src/naming-convention.js +0 -88
  286. package/esm2015/src/observable-array.js +0 -185
  287. package/esm2015/src/predicate.js +0 -1235
  288. package/esm2015/src/primitive-array.js +0 -87
  289. package/esm2015/src/query-options.js +0 -152
  290. package/esm2015/src/relation-array.js +0 -175
  291. package/esm2015/src/save-options.js +0 -41
  292. package/esm2015/src/unattached-children-map.js +0 -58
  293. package/esm2015/src/validate.js +0 -991
  294. package/esm2015/src/validation-options.js +0 -64
  295. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  296. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  297. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  298. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  299. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  300. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  301. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  302. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  303. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  304. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  305. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  306. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  307. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  308. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  309. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +0 -466
  310. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  311. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -98
  312. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  313. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  314. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  315. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  316. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  317. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  318. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  319. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  320. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  321. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  322. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  323. package/esm5/breeze-client.js +0 -9
  324. package/esm5/index.js +0 -2
  325. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  326. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  327. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  328. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -411
  329. package/esm5/public_api.js +0 -2
  330. package/esm5/src/abstract-data-service-adapter.js +0 -302
  331. package/esm5/src/array.js +0 -4
  332. package/esm5/src/assert-param.js +0 -317
  333. package/esm5/src/breeze.js +0 -85
  334. package/esm5/src/complex-array.js +0 -119
  335. package/esm5/src/config.js +0 -228
  336. package/esm5/src/core.js +0 -714
  337. package/esm5/src/csdl-metadata-parser.js +0 -385
  338. package/esm5/src/data-service.js +0 -207
  339. package/esm5/src/data-type.js +0 -451
  340. package/esm5/src/default-property-interceptor.js +0 -459
  341. package/esm5/src/entity-action.js +0 -52
  342. package/esm5/src/entity-aspect.js +0 -812
  343. package/esm5/src/entity-group.js +0 -189
  344. package/esm5/src/entity-key.js +0 -118
  345. package/esm5/src/entity-manager.js +0 -2112
  346. package/esm5/src/entity-metadata.js +0 -2144
  347. package/esm5/src/entity-query.js +0 -1023
  348. package/esm5/src/entity-state.js +0 -106
  349. package/esm5/src/enum.js +0 -144
  350. package/esm5/src/event.js +0 -259
  351. package/esm5/src/interface-registry.js +0 -43
  352. package/esm5/src/key-generator.js +0 -111
  353. package/esm5/src/local-query-comparison-options.js +0 -67
  354. package/esm5/src/mapping-context.js +0 -407
  355. package/esm5/src/naming-convention.js +0 -90
  356. package/esm5/src/observable-array.js +0 -201
  357. package/esm5/src/predicate.js +0 -1300
  358. package/esm5/src/primitive-array.js +0 -87
  359. package/esm5/src/query-options.js +0 -167
  360. package/esm5/src/relation-array.js +0 -175
  361. package/esm5/src/save-options.js +0 -43
  362. package/esm5/src/unattached-children-map.js +0 -60
  363. package/esm5/src/validate.js +0 -996
  364. package/esm5/src/validation-options.js +0 -66
  365. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  366. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  367. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  368. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  369. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  370. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  371. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  372. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  373. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  374. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  375. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  376. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  377. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  378. package/fesm2015/breeze-client.js.map +0 -1
  379. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  380. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  381. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  382. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  383. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  384. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  385. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  386. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  387. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  388. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  389. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  390. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  391. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  392. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  393. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  394. package/fesm5/breeze-client.js.map +0 -1
  395. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  396. package/mixin-get-entity-graph/package.json +0 -13
  397. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  398. package/mixin-save-queuing/package.json +0 -13
  399. package/public_api.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-uri-builder-odata.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-uri-builder-odata.ts","../../src/breeze-client-adapter-uri-builder-odata.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderODataAdapter implements breeze.UriBuilderAdapter {\r\n\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"odata\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderODataAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"odata\", true) as UriBuilderODataAdapter;\r\n }\r\n\r\n initialize() { }\r\n\r\n buildUri(entityQuery: breeze.EntityQuery, metadataStore: breeze.MetadataStore) {\r\n // force entityType validation;\r\n let entityType = entityQuery._getFromEntityType(metadataStore, false);\r\n if (!entityType) {\r\n // anonymous type but still has naming convention info avail\r\n entityType = new breeze.EntityType(metadataStore);\r\n }\r\n\r\n let queryOptions = {};\r\n queryOptions[\"$filter\"] = toWhereODataFragment(entityQuery.wherePredicate);\r\n queryOptions[\"$orderby\"] = toOrderByODataFragment(entityQuery.orderByClause!);\r\n\r\n if (entityQuery.skipCount) {\r\n queryOptions[\"$skip\"] = entityQuery.skipCount;\r\n }\r\n\r\n if (entityQuery.takeCount != null) {\r\n queryOptions[\"$top\"] = entityQuery.takeCount;\r\n }\r\n\r\n queryOptions[\"$expand\"] = toExpandODataFragment(entityQuery.expandClause);\r\n queryOptions[\"$select\"] = toSelectODataFragment(entityQuery.selectClause!);\r\n\r\n if (entityQuery.inlineCountEnabled) {\r\n queryOptions[\"$inlinecount\"] = \"allpages\";\r\n }\r\n\r\n const qoText = toQueryOptionsString(queryOptions as breeze.QueryOptions);\r\n\r\n return appendQueryStringParameter(entityQuery.resourceName, qoText);\r\n\r\n // private methods to this func.\r\n\r\n function toWhereODataFragment(wherePredicate: breeze.Predicate) {\r\n if (!wherePredicate) return undefined;\r\n // validation occurs inside of the toODataFragment call here.\r\n let frag = wherePredicate.visit({ entityType: entityType }, toODataFragmentVisitor);\r\n return (frag && frag.length > 0) ? frag : undefined;\r\n }\r\n\r\n function toOrderByODataFragment(orderByClause: breeze.OrderByClause) {\r\n if (!orderByClause) return undefined;\r\n orderByClause.validate(entityType!);\r\n let strings = orderByClause.items.map(function (item) {\r\n return entityType!.clientPropertyPathToServer(item.propertyPath, \"/\") + (item.isDesc ? \" desc\" : \"\");\r\n });\r\n // should return something like CompanyName,Address/City desc\r\n return strings.join(',');\r\n }\r\n\r\n function toSelectODataFragment(selectClause?: breeze.SelectClause) {\r\n if (!selectClause) return undefined;\r\n selectClause.validate(entityType!);\r\n let frag = selectClause.propertyPaths.map(function (pp) {\r\n return entityType!.clientPropertyPathToServer(pp, \"/\");\r\n }).join(\",\");\r\n return frag;\r\n }\r\n\r\n function toExpandODataFragment(expandClause?: breeze.ExpandClause) {\r\n if (!expandClause) return undefined;\r\n // no validate on expand clauses currently.\r\n // expandClause.validate(entityType);\r\n let frag = expandClause.propertyPaths.map(function (pp) {\r\n return entityType!.clientPropertyPathToServer(pp, \"/\");\r\n }).join(\",\");\r\n return frag;\r\n }\r\n\r\n function toQueryOptionsString(queryOptions: breeze.QueryOptions) {\r\n let qoStrings: string[] = [];\r\n for (let qoName in queryOptions) {\r\n let qoValue = queryOptions[qoName];\r\n if (qoValue !== undefined) {\r\n if (qoValue instanceof Array) {\r\n qoValue.forEach(function (qov) {\r\n qoStrings.push(qoName + \"=\" + encodeURIComponent(qov));\r\n });\r\n } else {\r\n qoStrings.push(qoName + \"=\" + encodeURIComponent(qoValue));\r\n }\r\n }\r\n }\r\n\r\n if (qoStrings.length > 0) {\r\n return qoStrings.join(\"&\");\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n(breeze.Predicate.prototype as any).toODataFragment = function (context: breeze.VisitContext) {\r\n return this.visit(context, toODataFragmentVisitor);\r\n};\r\n\r\nlet toODataFragmentVisitor = {\r\n\r\n passthruPredicate: function () {\r\n return this.value;\r\n },\r\n\r\n unaryPredicate: function (this: breeze.UnaryPredicate, context: breeze.VisitContext) {\r\n let predVal = this.pred.visit(context);\r\n return odataOpFrom(this) + \" \" + \"(\" + predVal + \")\";\r\n },\r\n\r\n binaryPredicate: function (this: breeze.BinaryPredicate, context: breeze.VisitContext) {\r\n let expr1Val = this.expr1!.visit(context);\r\n let expr2Val = this.expr2!.visit(context);\r\n let prefix = (context as any).prefix;\r\n if (prefix) {\r\n expr1Val = prefix + \"/\" + expr1Val;\r\n }\r\n\r\n let odataOp = odataOpFrom(this);\r\n\r\n if (this.op.key === 'in') {\r\n let result = expr2Val.map(function (v: any) {\r\n return \"(\" + expr1Val + \" eq \" + v + \")\";\r\n }).join(\" or \");\r\n return result;\r\n } else if (this.op.isFunction) {\r\n if (odataOp === \"substringof\") {\r\n return odataOp + \"(\" + expr2Val + \",\" + expr1Val + \") eq true\";\r\n } else {\r\n return odataOp + \"(\" + expr1Val + \",\" + expr2Val + \") eq true\";\r\n }\r\n } else {\r\n return expr1Val + \" \" + odataOp + \" \" + expr2Val;\r\n }\r\n },\r\n\r\n andOrPredicate: function (this: breeze.AndOrPredicate, context: breeze.VisitContext) {\r\n let result = this.preds.map(function (pred) {\r\n let predVal = pred.visit(context);\r\n return \"(\" + predVal + \")\";\r\n }).join(\" \" + odataOpFrom(this) + \" \");\r\n return result;\r\n },\r\n\r\n anyAllPredicate: function (this: breeze.AnyAllPredicate, context: breeze.VisitContext) {\r\n let exprVal = this.expr.visit(context);\r\n if (!this.pred.op) { // added 21-Oct-2016 to fix breeze.js issue #172\r\n return exprVal + \"/\" + odataOpFrom(this) + \"()\";\r\n }\r\n let prefix = (context as any).prefix;\r\n if (prefix) {\r\n exprVal = prefix + \"/\" + exprVal;\r\n prefix = \"x\" + (parseInt(prefix.substring(1)) + 1);\r\n } else {\r\n prefix = \"x1\";\r\n }\r\n // need to create a new context because of 'prefix'\r\n let newContext = breeze.core.extend({}, context) as any;\r\n newContext.entityType = this.expr.dataType;\r\n newContext.prefix = prefix;\r\n let newPredVal = this.pred.visit(newContext);\r\n return exprVal + \"/\" + odataOpFrom(this) + \"(\" + prefix + \": \" + newPredVal + \")\";\r\n },\r\n\r\n litExpr: function () {\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(function (v: any) { return this.dataType.fmtOData(v); }, this);\r\n } else {\r\n return this.dataType.fmtOData(this.value);\r\n }\r\n },\r\n\r\n propExpr: function (this: breeze.PropExpr, context: breeze.ExpressionContext) {\r\n let entityType = context.entityType;\r\n // '/' is the OData path delimiter\r\n return entityType ? entityType.clientPropertyPathToServer(this.propertyPath, \"/\") : this.propertyPath;\r\n },\r\n\r\n fnExpr: function (this: breeze.FnExpr, context: breeze.ExpressionContext) {\r\n let exprVals = this.exprs.map(function (expr) {\r\n return expr.visit(context);\r\n });\r\n return this.fnName + \"(\" + exprVals.join(\",\") + \")\";\r\n }\r\n};\r\n\r\nlet _operatorMap = {\r\n 'contains': 'substringof'\r\n};\r\n\r\nfunction odataOpFrom(node: any) {\r\n let op = node.op.key;\r\n let odataOp = _operatorMap[op];\r\n return odataOp || op;\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderODataAdapter);\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-uri-builder-odata';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { EntityManager, EntityQuery, EntityState, ExpandClause } from 'breeze-cl
2
2
 
3
3
  //#region Copyright, Version, and Description
4
4
  function mixinEntityGraph(emclass) {
5
- var proto = EntityManager.prototype;
5
+ const proto = EntityManager.prototype;
6
6
  if (!proto.getEntityGraph) {
7
7
  proto.getEntityGraph = getEntityGraph;
8
8
  }
@@ -10,7 +10,7 @@ function mixinEntityGraph(emclass) {
10
10
  mixinEntityGraph(EntityManager);
11
11
  function getEntityGraph(roots, expand) {
12
12
  if (roots instanceof EntityQuery) {
13
- var newRoots = this.executeQueryLocally(roots);
13
+ let newRoots = this.executeQueryLocally(roots);
14
14
  return getEntityGraphCore(newRoots, expand || roots.expandClause);
15
15
  }
16
16
  else {
@@ -18,10 +18,10 @@ function getEntityGraph(roots, expand) {
18
18
  }
19
19
  }
20
20
  function getEntityGraphCore(root, expand) {
21
- var entityGroupMap;
22
- var graph = [];
23
- var rootType;
24
- var roots = Array.isArray(root) ? root : [root];
21
+ let entityGroupMap;
22
+ let graph = [];
23
+ let rootType;
24
+ let roots = Array.isArray(root) ? root : [root];
25
25
  addToGraph(roots); // removes dups & nulls
26
26
  roots = graph.slice(); // copy of de-duped roots
27
27
  if (roots.length) {
@@ -38,16 +38,16 @@ function getEntityGraphCore(root, expand) {
38
38
  });
39
39
  }
40
40
  function getRootInfo() {
41
- var compatTypes;
41
+ let compatTypes;
42
42
  roots.forEach(function (root, ix) {
43
- var aspect;
43
+ let aspect;
44
44
  if (!root || !(aspect = root.entityAspect)) {
45
45
  throw getRootErr(ix, 'is not an entity');
46
46
  }
47
47
  if (aspect.entityState === EntityState.Detached) {
48
48
  throw getRootErr(ix, 'is a detached entity');
49
49
  }
50
- var em = aspect.entityManager;
50
+ let em = aspect.entityManager;
51
51
  if (entityGroupMap) {
52
52
  if (entityGroupMap !== em._entityGroupMap) {
53
53
  throw getRootErr(ix, "has a different 'EntityManager' than other roots");
@@ -62,7 +62,7 @@ function getEntityGraphCore(root, expand) {
62
62
  return new Error("'getEntityGraph' root[" + ix + "] " + msg);
63
63
  }
64
64
  function getRootType(root, ix) {
65
- var thisType = root.entityType;
65
+ let thisType = root.entityType;
66
66
  if (!rootType) {
67
67
  rootType = thisType;
68
68
  return;
@@ -72,7 +72,7 @@ function getEntityGraphCore(root, expand) {
72
72
  }
73
73
  // Types differs. Look for closest common base type
74
74
  // does thisType derive from current rootType?
75
- var baseType = rootType;
75
+ let baseType = rootType;
76
76
  do {
77
77
  compatTypes = compatTypes || baseType.getSelfAndSubtypes();
78
78
  if (compatTypes.indexOf(thisType) > -1) {
@@ -122,30 +122,30 @@ function getEntityGraphCore(root, expand) {
122
122
  }
123
123
  function buildGraph() {
124
124
  if (expand && expand instanceof Array && expand.length) {
125
- var fns = expand.map(makePathFn);
125
+ let fns = expand.map(makePathFn);
126
126
  fns.forEach(function (fn) { fn(roots); });
127
127
  }
128
128
  }
129
129
  // Make function to get entities along a single expand path
130
130
  // such as 'Orders.OrderDetails.Product'
131
131
  function makePathFn(path) {
132
- var fns = [], segments = path.split('.'), type = rootType;
133
- for (var i = 0, slen = segments.length; i < slen; i++) {
134
- var f = makePathSegmentFn(type, segments[i]);
132
+ let fns = [], segments = path.split('.'), type = rootType;
133
+ for (let i = 0, slen = segments.length; i < slen; i++) {
134
+ let f = makePathSegmentFn(type, segments[i]);
135
135
  type = f.navType;
136
136
  fns.push(f);
137
137
  }
138
138
  return function pathFn(entities) {
139
- for (var j = 0, flen = fns.length; j < flen; j++) {
140
- var elen = entities.length;
139
+ for (let j = 0, flen = fns.length; j < flen; j++) {
140
+ let elen = entities.length;
141
141
  if (elen === 0) {
142
142
  return;
143
143
  } // nothing left to explore
144
144
  // fn to get related entities for this path segment
145
- var fn = fns[j];
145
+ let fn = fns[j];
146
146
  // get entities related by this path segment
147
- var related = [];
148
- for (var k = 0; k < elen; k++) {
147
+ let related = [];
148
+ for (let k = 0; k < elen; k++) {
149
149
  related = related.concat(fn(entities[k]));
150
150
  }
151
151
  addToGraph(related);
@@ -154,8 +154,8 @@ function getEntityGraphCore(root, expand) {
154
154
  } // no more path segments
155
155
  // reset entities to deduped related entities
156
156
  entities = [];
157
- for (var l = 0, rlen = related.length; l < rlen; l++) {
158
- var r = related[l];
157
+ for (let l = 0, rlen = related.length; l < rlen; l++) {
158
+ let r = related[l];
159
159
  if (entities.indexOf(r) < 0) {
160
160
  entities.push(r);
161
161
  }
@@ -166,36 +166,36 @@ function getEntityGraphCore(root, expand) {
166
166
  // Make function to get entities along a single expand path segment
167
167
  // such as the 'OrderDetails' in the 'Orders.OrderDetails.Product' path
168
168
  function makePathSegmentFn(baseType, segment) {
169
- var baseTypeName, fn = undefined, navType;
169
+ let baseTypeName, fn = undefined, navType;
170
170
  try {
171
171
  baseTypeName = baseType.name;
172
- var nav = baseType.getNavigationProperty(segment);
173
- var fkName_1 = nav.foreignKeyNames[0];
172
+ let nav = baseType.getNavigationProperty(segment);
173
+ let fkName = nav.foreignKeyNames[0];
174
174
  if (!nav) {
175
175
  throw new Error(segment + " is not a navigation property of " + baseTypeName);
176
176
  }
177
177
  navType = nav.entityType;
178
178
  // add derived types
179
- var navTypes = navType.getSelfAndSubtypes();
180
- var grps_1 = []; // non-empty groups for these types
179
+ let navTypes = navType.getSelfAndSubtypes();
180
+ let grps = []; // non-empty groups for these types
181
181
  navTypes.forEach(function (t) {
182
- var grp = entityGroupMap[t.name];
182
+ let grp = entityGroupMap[t.name];
183
183
  if (grp && grp._entities.length > 0) {
184
- grps_1.push(grp);
184
+ grps.push(grp);
185
185
  }
186
186
  });
187
- var grpCount_1 = grps_1.length;
188
- if (grpCount_1 === 0) {
187
+ let grpCount = grps.length;
188
+ if (grpCount === 0) {
189
189
  // no related entities in cache
190
190
  fn = function () { return []; };
191
191
  }
192
- else if (fkName_1) {
192
+ else if (fkName) {
193
193
  fn = function (entity) {
194
- var val = null;
194
+ let val = null;
195
195
  try {
196
- var keyValue = entity.getProperty(fkName_1);
197
- for (var i = 0; i < grpCount_1; i += 1) {
198
- val = grps_1[i]._entities[grps_1[i]._indexMap[keyValue]];
196
+ let keyValue = entity.getProperty(fkName);
197
+ for (let i = 0; i < grpCount; i += 1) {
198
+ val = grps[i]._entities[grps[i]._indexMap[keyValue]];
199
199
  if (val) {
200
200
  break;
201
201
  }
@@ -208,19 +208,19 @@ function getEntityGraphCore(root, expand) {
208
208
  };
209
209
  }
210
210
  else {
211
- fkName_1 = nav.inverse ?
211
+ fkName = nav.inverse ?
212
212
  nav.inverse.foreignKeyNames[0] :
213
213
  nav.invForeignKeyNames[0];
214
- if (!fkName_1) {
214
+ if (!fkName) {
215
215
  throw new Error("No inverse keys");
216
216
  }
217
217
  fn = function (entity) {
218
- var vals = [];
218
+ let vals = [];
219
219
  try {
220
- var keyValue_1 = entity.entityAspect.getKey().values[0];
221
- grps_1.forEach(function (grp) {
220
+ let keyValue = entity.entityAspect.getKey().values[0];
221
+ grps.forEach(function (grp) {
222
222
  vals = vals.concat(grp._entities.filter(function (en) {
223
- return en && en.getProperty(fkName_1) === keyValue_1;
223
+ return en && en.getProperty(fkName) === keyValue;
224
224
  }));
225
225
  });
226
226
  }
@@ -238,8 +238,8 @@ function getEntityGraphCore(root, expand) {
238
238
  }
239
239
  return fn;
240
240
  function rethrow(e) {
241
- var typeName = baseTypeName || baseType;
242
- var error = new Error("'getEntityGraph' can't expand '" + segment + "' for " + typeName);
241
+ let typeName = baseTypeName || baseType;
242
+ let error = new Error("'getEntityGraph' can't expand '" + segment + "' for " + typeName);
243
243
  error.innerError = e;
244
244
  throw error;
245
245
  }
@@ -251,4 +251,4 @@ function getEntityGraphCore(root, expand) {
251
251
  */
252
252
 
253
253
  export { mixinEntityGraph };
254
- //# sourceMappingURL=breeze-client-mixin-get-entity-graph.js.map
254
+ //# sourceMappingURL=breeze-client-mixin-get-entity-graph.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-mixin-get-entity-graph.mjs","sources":["../../src/mixin-get-entity-graph.ts","../../src/breeze-client-mixin-get-entity-graph.ts"],"sourcesContent":["//#region Copyright, Version, and Description\r\n/*\r\n * Copyright 2015-2021 IdeaBlade, Inc. All Rights Reserved.\r\n * Use, reproduction, distribution, and modification of this code is subject to the terms and\r\n * conditions of the IdeaBlade Breeze license, available at http://www.breezejs.com/license\r\n *\r\n * Author: Ward Bell\r\n * Version: 0.9.5 - Steve Schmitt - convert to TypeScript, migrate to breeze-client repo, add HasEntityGraph and mixinEntityGraph\r\n * Version: 0.9.4 - Marcel Good - fix UMD module name\r\n * --------------------------------------------------------------------------------\r\n * Adds getEntityGraph method to Breeze EntityManager prototype.\r\n * Call mixinEntityGraph(EntityManager) to apply the mixin in a tree-shaking-resistant way.\r\n * Then (manager as any).getEntityGraph(entity, \"child\");\r\n *\r\n * Depends on Breeze which it patches\r\n *\r\n * For discussion, see:\r\n * http://www.breezejs.com/documentation/getentitygraph\r\n *\r\n * For example usage, see:\r\n * https://github.com/Breeze/breeze.js.samples/tree/master/net/DocCode/DocCode/tests/getEntityGraphTests.js\r\n */\r\n//#endregion\r\nimport { Entity, EntityManager, EntityQuery, EntityState, EntityType, ExpandClause } from 'breeze-client';\r\n\r\ninterface EntityGroup {\r\n _entities: (Entity | null)[];\r\n _indexMap: { [index: string]: number };\r\n}\r\n\r\n// module augmentation failed to build with ng-packagr, so we have a separate interface\r\nexport interface HasEntityGraph extends EntityManager {\r\n /**\r\n Get related entities of root entity (or root entities) as specified by expand.\r\n @example\r\n var graph = breeze.EntityManager.getEntityGraph(customer, 'Orders.OrderDetails');\r\n // graph will be the customer, all of its orders and their details even if deleted.\r\n @method getEntityGraph\r\n @param roots {Entity|Array of Entity} The root entity or root entities.\r\n @param expand {String|Array of String|Object} an expand string, a query expand clause, or array of string paths\r\n @return {Array of Entity} root entities and their related entities, including deleted entities. Duplicates are removed and entity order is indeterminate.\r\n **/\r\n getEntityGraph(roots: Entity | Array<Entity>, expand: string | Array<string> | ExpandClause): Array<Entity>;\r\n\r\n /**\r\n Execute query locally and return both the query results and their related entities as specified by the optional expand parameter or the query's expand clause.\r\n @example\r\n var query = breeze.EntityQuery.from('Customers')\r\n .where('CompanyName', 'startsWith', 'Alfred')\r\n .expand('Orders.OrderDetails');\r\n var graph = manager.getEntityGraph(query);\r\n // graph will be the 'Alfred' customers, their orders and their details even if deleted.\r\n @method getEntityGraph\r\n @param query {EntityQuery} A query to be executed against the manager's local cache.\r\n @param [expand] {String|Array of String|Object} an expand string, a query expand clause, or array of string paths\r\n @return {Array of Entity} local queried root entities and their related entities, including deleted entities. Duplicates are removed and entity order is indeterminate.\r\n **/\r\n getEntityGraph(query: EntityQuery, expand: string | Array<string> | ExpandClause): Array<Entity>;\r\n\r\n}\r\n\r\nexport function mixinEntityGraph(emclass: { new(): EntityManager }) {\r\n const proto = EntityManager.prototype;\r\n\r\n if (!(proto as any).getEntityGraph) {\r\n (proto as any).getEntityGraph = getEntityGraph;\r\n }\r\n}\r\n\r\nmixinEntityGraph(EntityManager);\r\n\r\n\r\nfunction getEntityGraph(roots: Entity | Array<Entity> | EntityQuery, expand: string | Array<string> | ExpandClause) {\r\n if (roots instanceof EntityQuery) {\r\n let newRoots = this.executeQueryLocally(roots);\r\n return getEntityGraphCore(newRoots, expand || roots.expandClause);\r\n } else {\r\n return getEntityGraphCore(roots, expand);\r\n }\r\n}\r\n\r\nfunction getEntityGraphCore(root: Entity | Array<Entity>, expand: string | Array<string> | ExpandClause) {\r\n let entityGroupMap: { [index: string]: EntityGroup };\r\n let graph = [] as Array<Entity>;\r\n let rootType: EntityType;\r\n let roots = Array.isArray(root) ? root : [root];\r\n addToGraph(roots); // removes dups & nulls\r\n roots = graph.slice(); // copy of de-duped roots\r\n if (roots.length) {\r\n getRootInfo();\r\n getExpand();\r\n buildGraph();\r\n }\r\n return graph;\r\n\r\n function addToGraph(entities: Array<Entity>) {\r\n entities.forEach(function (entity) {\r\n if (entity && graph.indexOf(entity) < 0) {\r\n graph.push(entity);\r\n }\r\n });\r\n }\r\n\r\n function getRootInfo() {\r\n let compatTypes: Array<EntityType>;\r\n\r\n roots.forEach(function (root, ix) {\r\n let aspect;\r\n if (!root || !(aspect = root.entityAspect)) {\r\n throw getRootErr(ix, 'is not an entity');\r\n }\r\n if (aspect.entityState === EntityState.Detached) {\r\n throw getRootErr(ix, 'is a detached entity');\r\n }\r\n\r\n let em = aspect.entityManager;\r\n if (entityGroupMap) {\r\n if (entityGroupMap !== em._entityGroupMap) {\r\n throw getRootErr(ix, \"has a different 'EntityManager' than other roots\");\r\n }\r\n } else {\r\n entityGroupMap = em._entityGroupMap;\r\n }\r\n getRootType(root, ix);\r\n\r\n });\r\n\r\n function getRootErr(ix: number, msg: string) {\r\n return new Error(\"'getEntityGraph' root[\" + ix + \"] \" + msg);\r\n }\r\n\r\n function getRootType(root: Entity, ix: number) {\r\n let thisType = root.entityType;\r\n if (!rootType) {\r\n rootType = thisType;\r\n return;\r\n } else if (rootType === thisType) {\r\n return;\r\n }\r\n // Types differs. Look for closest common base type\r\n // does thisType derive from current rootType?\r\n let baseType = rootType;\r\n do {\r\n compatTypes = compatTypes || baseType.getSelfAndSubtypes();\r\n if (compatTypes.indexOf(thisType) > -1) {\r\n rootType = baseType;\r\n return;\r\n }\r\n baseType = baseType.baseEntityType;\r\n compatTypes = null;\r\n } while (baseType);\r\n\r\n // does current rootType derives from thisType?\r\n baseType = thisType;\r\n do {\r\n compatTypes = baseType.getSelfAndSubtypes();\r\n if (compatTypes.indexOf(rootType) > -1) {\r\n rootType = baseType;\r\n return;\r\n }\r\n baseType = baseType.baseEntityType;\r\n } while (baseType);\r\n\r\n throw getRootErr(ix, \"is not EntityType-compatible with other roots\");\r\n }\r\n }\r\n\r\n function getExpand() {\r\n try {\r\n if (!expand) {\r\n expand = [];\r\n } else if (typeof expand === 'string') {\r\n // tricky because Breeze expandClause not exposed publically\r\n expand = new EntityQuery().expand(expand).expandClause;\r\n }\r\n if (expand instanceof ExpandClause && expand.propertyPaths) { // expand clause\r\n expand = expand.propertyPaths;\r\n } else if (Array.isArray(expand)) {\r\n if (!expand.every(function (elem) { return typeof elem === 'string'; })) {\r\n throw '';\r\n }\r\n } else {\r\n throw '';\r\n }\r\n } catch (_) {\r\n throw new Error(\r\n \"expand must be an expand string, array of string paths, or a query expand clause\");\r\n }\r\n }\r\n\r\n function buildGraph() {\r\n if (expand && expand instanceof Array && expand.length) {\r\n let fns = expand.map(makePathFn);\r\n fns.forEach(function (fn) { fn(roots); });\r\n }\r\n }\r\n\r\n // Make function to get entities along a single expand path\r\n // such as 'Orders.OrderDetails.Product'\r\n function makePathFn(path: string) {\r\n let fns = [] as Array<Function>,\r\n segments = path.split('.'),\r\n type = rootType;\r\n\r\n for (let i = 0, slen = segments.length; i < slen; i++) {\r\n let f = makePathSegmentFn(type, segments[i]);\r\n type = (f as any).navType;\r\n fns.push(f);\r\n }\r\n\r\n return function pathFn(entities: Array<Entity>) {\r\n for (let j = 0, flen = fns.length; j < flen; j++) {\r\n let elen = entities.length;\r\n if (elen === 0) { return; } // nothing left to explore\r\n // fn to get related entities for this path segment\r\n let fn = fns[j];\r\n // get entities related by this path segment\r\n let related = [] as Array<Entity>;\r\n for (let k = 0; k < elen; k++) {\r\n related = related.concat(fn(entities[k]));\r\n }\r\n addToGraph(related);\r\n if (j >= flen - 1) { return; } // no more path segments\r\n\r\n // reset entities to deduped related entities\r\n entities = [];\r\n for (let l = 0, rlen = related.length; l < rlen; l++) {\r\n let r = related[l];\r\n if (entities.indexOf(r) < 0) { entities.push(r); }\r\n }\r\n }\r\n };\r\n }\r\n\r\n // Make function to get entities along a single expand path segment\r\n // such as the 'OrderDetails' in the 'Orders.OrderDetails.Product' path\r\n function makePathSegmentFn(baseType: EntityType, segment: string) {\r\n let baseTypeName: string, fn = undefined, navType;\r\n try {\r\n baseTypeName = baseType.name;\r\n let nav = baseType.getNavigationProperty(segment);\r\n let fkName = nav.foreignKeyNames[0];\r\n if (!nav) {\r\n throw new Error(segment + \" is not a navigation property of \" + baseTypeName);\r\n }\r\n navType = nav.entityType;\r\n // add derived types\r\n let navTypes = navType.getSelfAndSubtypes();\r\n let grps = [] as Array<EntityGroup>; // non-empty groups for these types\r\n navTypes.forEach(function (t) {\r\n let grp = entityGroupMap[t.name];\r\n if (grp && grp._entities.length > 0) {\r\n grps.push(grp);\r\n }\r\n });\r\n let grpCount = grps.length;\r\n if (grpCount === 0) {\r\n // no related entities in cache\r\n fn = function () { return [] as Array<Entity>; };\r\n } else if (fkName) {\r\n fn = function (entity: Entity) {\r\n let val = null;\r\n try {\r\n let keyValue = entity.getProperty(fkName);\r\n for (let i = 0; i < grpCount; i += 1) {\r\n val = grps[i]._entities[grps[i]._indexMap[keyValue]];\r\n if (val) { break; }\r\n }\r\n } catch (e) { rethrow(e); }\r\n return val;\r\n };\r\n } else {\r\n fkName = nav.inverse ?\r\n nav.inverse.foreignKeyNames[0] :\r\n nav.invForeignKeyNames[0];\r\n if (!fkName) { throw new Error(\"No inverse keys\"); }\r\n fn = function (entity: Entity) {\r\n let vals = [] as Array<Entity>;\r\n try {\r\n let keyValue = entity.entityAspect.getKey().values[0];\r\n grps.forEach(function (grp) {\r\n vals = vals.concat(grp._entities.filter(function (en) {\r\n return en && en.getProperty(fkName) === keyValue;\r\n }));\r\n });\r\n } catch (e) { rethrow(e); }\r\n return vals;\r\n };\r\n }\r\n (fn as any).navType = navType;\r\n (fn as any).path = segment;\r\n\r\n } catch (err) { rethrow(err); }\r\n return fn;\r\n\r\n function rethrow(e: Error) {\r\n let typeName = baseTypeName || baseType;\r\n let error = new Error(\"'getEntityGraph' can't expand '\" + segment + \"' for \" + typeName);\r\n (error as any).innerError = e;\r\n throw error;\r\n }\r\n }\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './mixin-get-entity-graph';\n"],"names":[],"mappings":";;AAAA;AA6DM,SAAU,gBAAgB,CAAC,OAAiC,EAAA;AAChE,IAAA,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC;AAEtC,IAAA,IAAI,CAAE,KAAa,CAAC,cAAc,EAAE;AACjC,QAAA,KAAa,CAAC,cAAc,GAAG,cAAc,CAAC;AAChD,KAAA;AACH,CAAC;AAED,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAGhC,SAAS,cAAc,CAAC,KAA2C,EAAE,MAA6C,EAAA;IAChH,IAAI,KAAK,YAAY,WAAW,EAAE;QAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACnE,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1C,KAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA4B,EAAE,MAA6C,EAAA;AACrG,IAAA,IAAI,cAAgD,CAAC;IACrD,IAAI,KAAK,GAAG,EAAmB,CAAC;AAChC,IAAA,IAAI,QAAoB,CAAC;AACzB,IAAA,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AAChD,IAAA,UAAU,CAAC,KAAK,CAAC,CAAC;AAClB,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,UAAU,EAAE,CAAC;AACd,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;IAEb,SAAS,UAAU,CAAC,QAAuB,EAAA;AACzC,QAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,MAAM,EAAA;YAC/B,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACvC,gBAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpB,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,SAAS,WAAW,GAAA;AAClB,QAAA,IAAI,WAA8B,CAAC;AAEnC,QAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,EAAA;AAC9B,YAAA,IAAI,MAAM,CAAC;YACX,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE;AAC1C,gBAAA,MAAM,UAAU,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC1C,aAAA;AACD,YAAA,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,EAAE;AAC/C,gBAAA,MAAM,UAAU,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAC9C,aAAA;AAED,YAAA,IAAI,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9B,YAAA,IAAI,cAAc,EAAE;AAClB,gBAAA,IAAI,cAAc,KAAK,EAAE,CAAC,eAAe,EAAE;AACzC,oBAAA,MAAM,UAAU,CAAC,EAAE,EAAE,kDAAkD,CAAC,CAAC;AAC1E,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,cAAc,GAAG,EAAE,CAAC,eAAe,CAAC;AACrC,aAAA;AACD,YAAA,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAExB,SAAC,CAAC,CAAC;AAEH,QAAA,SAAS,UAAU,CAAC,EAAU,EAAE,GAAW,EAAA;YACzC,OAAO,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;SAC9D;AAED,QAAA,SAAS,WAAW,CAAC,IAAY,EAAE,EAAU,EAAA;AAC3C,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE;gBACb,QAAQ,GAAG,QAAQ,CAAC;gBACpB,OAAO;AACR,aAAA;iBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBAChC,OAAO;AACR,aAAA;;;YAGD,IAAI,QAAQ,GAAG,QAAQ,CAAC;YACxB,GAAG;AACD,gBAAA,WAAW,GAAG,WAAW,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC3D,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtC,QAAQ,GAAG,QAAQ,CAAC;oBACpB,OAAO;AACR,iBAAA;AACD,gBAAA,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC;gBACnC,WAAW,GAAG,IAAI,CAAC;AACpB,aAAA,QAAQ,QAAQ,EAAE;;YAGnB,QAAQ,GAAG,QAAQ,CAAC;YACpB,GAAG;AACD,gBAAA,WAAW,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC5C,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtC,QAAQ,GAAG,QAAQ,CAAC;oBACpB,OAAO;AACR,iBAAA;AACD,gBAAA,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC;AACpC,aAAA,QAAQ,QAAQ,EAAE;AAEnB,YAAA,MAAM,UAAU,CAAC,EAAE,EAAE,+CAA+C,CAAC,CAAC;SACvE;KACF;AAED,IAAA,SAAS,SAAS,GAAA;QAChB,IAAI;YACF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,EAAE,CAAC;AACb,aAAA;AAAM,iBAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;;gBAErC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AACxD,aAAA;YACD,IAAI,MAAM,YAAY,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE;AAC1D,gBAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAC/B,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAChC,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAA,EAAI,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE;AACvE,oBAAA,MAAM,EAAE,CAAC;AACV,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,EAAE,CAAC;AACV,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CACb,kFAAkF,CAAC,CAAC;AACvF,SAAA;KACF;AAED,IAAA,SAAS,UAAU,GAAA;QACjB,IAAI,MAAM,IAAI,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YACtD,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACjC,YAAA,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAI,EAAA,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3C,SAAA;KACF;;;IAID,SAAS,UAAU,CAAC,IAAY,EAAA;AAC9B,QAAA,IAAI,GAAG,GAAG,EAAqB,EAC7B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAC1B,IAAI,GAAG,QAAQ,CAAC;AAElB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,IAAI,GAAI,CAAS,CAAC,OAAO,CAAC;AAC1B,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACb,SAAA;QAED,OAAO,SAAS,MAAM,CAAC,QAAuB,EAAA;AAC5C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC3B,IAAI,IAAI,KAAK,CAAC,EAAE;oBAAE,OAAO;AAAE,iBAAA;;AAE3B,gBAAA,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;;gBAEhB,IAAI,OAAO,GAAG,EAAmB,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;AAC7B,oBAAA,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,iBAAA;gBACD,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,gBAAA,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO;AAAE,iBAAA;;gBAG9B,QAAQ,GAAG,EAAE,CAAC;AACd,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;AACpD,oBAAA,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACnB,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAAE,wBAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAAE,qBAAA;AACnD,iBAAA;AACF,aAAA;AACH,SAAC,CAAC;KACH;;;AAID,IAAA,SAAS,iBAAiB,CAAC,QAAoB,EAAE,OAAe,EAAA;AAC9D,QAAA,IAAI,YAAoB,EAAE,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC;QAClD,IAAI;AACF,YAAA,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC7B,IAAI,GAAG,GAAG,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,mCAAmC,GAAG,YAAY,CAAC,CAAC;AAC/E,aAAA;AACD,YAAA,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;;AAEzB,YAAA,IAAI,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC5C,YAAA,IAAI,IAAI,GAAG,EAAwB,CAAC;AACpC,YAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAA;gBAC1B,IAAI,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,oBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,iBAAA;AACH,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,QAAQ,KAAK,CAAC,EAAE;;AAElB,gBAAA,EAAE,GAAG,YAAc,EAAA,OAAO,EAAmB,CAAC,EAAE,CAAC;AAClD,aAAA;AAAM,iBAAA,IAAI,MAAM,EAAE;gBACjB,EAAE,GAAG,UAAU,MAAc,EAAA;oBAC3B,IAAI,GAAG,GAAG,IAAI,CAAC;oBACf,IAAI;wBACF,IAAI,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC1C,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;AACpC,4BAAA,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrD,4BAAA,IAAI,GAAG,EAAE;gCAAE,MAAM;AAAE,6BAAA;AACpB,yBAAA;AACF,qBAAA;AAAC,oBAAA,OAAO,CAAC,EAAE;wBAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAAE,qBAAA;AAC3B,oBAAA,OAAO,GAAG,CAAC;AACb,iBAAC,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,GAAG,GAAG,CAAC,OAAO;oBAClB,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAC9B,oBAAA,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,EAAE;AAAE,oBAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAAE,iBAAA;gBACpD,EAAE,GAAG,UAAU,MAAc,EAAA;oBAC3B,IAAI,IAAI,GAAG,EAAmB,CAAC;oBAC/B,IAAI;AACF,wBAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtD,wBAAA,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,EAAA;AACxB,4BAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;gCAClD,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;6BAClD,CAAC,CAAC,CAAC;AACN,yBAAC,CAAC,CAAC;AACJ,qBAAA;AAAC,oBAAA,OAAO,CAAC,EAAE;wBAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAAE,qBAAA;AAC3B,oBAAA,OAAO,IAAI,CAAC;AACd,iBAAC,CAAC;AACH,aAAA;AACA,YAAA,EAAU,CAAC,OAAO,GAAG,OAAO,CAAC;AAC7B,YAAA,EAAU,CAAC,IAAI,GAAG,OAAO,CAAC;AAE5B,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AAAE,SAAA;AAC/B,QAAA,OAAO,EAAE,CAAC;QAEV,SAAS,OAAO,CAAC,CAAQ,EAAA;AACvB,YAAA,IAAI,QAAQ,GAAG,YAAY,IAAI,QAAQ,CAAC;AACxC,YAAA,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,iCAAiC,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACxF,YAAA,KAAa,CAAC,UAAU,GAAG,CAAC,CAAC;AAC9B,YAAA,MAAM,KAAK,CAAC;SACb;KACF;AACH;;AC9SA;;AAEG;;;;"}