breeze-client 2.1.5-mjs → 2.1.5

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 (394) hide show
  1. package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
  2. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
  3. package/adapter-ajax-angularjs/package.json +13 -0
  4. package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
  5. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
  6. package/adapter-ajax-fetch/package.json +13 -0
  7. package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
  8. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
  9. package/adapter-ajax-httpclient/package.json +13 -0
  10. package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
  11. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
  12. package/adapter-ajax-jquery/package.json +13 -0
  13. package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
  14. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
  15. package/adapter-ajax-post/package.json +13 -0
  16. package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
  17. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
  18. package/adapter-data-service-odata/package.json +13 -0
  19. package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
  20. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
  21. package/adapter-data-service-webapi/package.json +13 -0
  22. package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
  23. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
  24. package/adapter-model-library-backing-store/package.json +13 -0
  25. package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
  26. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
  27. package/adapter-model-library-ko/package.json +13 -0
  28. package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
  29. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
  30. package/adapter-uri-builder-json/package.json +13 -0
  31. package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
  32. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
  33. package/adapter-uri-builder-odata/package.json +13 -0
  34. package/breeze-client.d.ts +8 -0
  35. package/breeze-client.metadata.json +1 -0
  36. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
  37. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
  38. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
  39. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
  40. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
  41. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
  42. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
  43. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
  44. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
  45. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
  46. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
  47. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
  48. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
  49. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
  50. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
  51. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
  52. package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
  53. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
  54. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
  55. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
  56. package/bundles/breeze-client-adapter-data-service-odata.umd.js +743 -0
  57. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
  58. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
  59. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
  60. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +326 -0
  61. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
  62. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
  63. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
  64. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
  65. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
  66. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
  67. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
  68. package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
  69. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
  70. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
  71. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
  72. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
  73. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
  74. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
  75. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
  76. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
  77. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
  78. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
  79. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
  80. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
  81. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
  82. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
  83. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
  84. package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
  85. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
  86. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
  87. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
  88. package/bundles/breeze-client.umd.js +14098 -0
  89. package/bundles/breeze-client.umd.js.map +1 -0
  90. package/bundles/breeze-client.umd.min.js +16 -0
  91. package/bundles/breeze-client.umd.min.js.map +1 -0
  92. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
  93. package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
  94. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  95. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
  96. package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
  97. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  98. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
  99. package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
  100. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  101. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
  102. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  103. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
  104. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  105. package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
  106. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +459 -0
  107. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  108. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +93 -0
  109. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  110. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
  111. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  112. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
  113. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  114. package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
  115. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
  116. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  117. package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
  118. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
  119. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  120. package/esm2015/breeze-client.js +9 -0
  121. package/esm2015/index.js +2 -0
  122. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  123. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  124. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  125. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
  126. package/esm2015/src/abstract-data-service-adapter.js +296 -0
  127. package/esm2015/src/array.js +4 -0
  128. package/esm2015/src/assert-param.js +312 -0
  129. package/esm2015/src/breeze.js +85 -0
  130. package/esm2015/src/complex-array.js +119 -0
  131. package/esm2015/src/config.js +223 -0
  132. package/esm2015/src/core.js +709 -0
  133. package/esm2015/src/csdl-metadata-parser.js +385 -0
  134. package/esm2015/src/data-service.js +203 -0
  135. package/esm2015/src/data-type.js +444 -0
  136. package/esm2015/src/default-property-interceptor.js +460 -0
  137. package/esm2015/src/entity-action.js +45 -0
  138. package/esm2015/src/entity-aspect.js +806 -0
  139. package/esm2015/src/entity-group.js +187 -0
  140. package/esm2015/src/entity-key.js +116 -0
  141. package/esm2015/src/entity-manager.js +2094 -0
  142. package/esm2015/src/entity-metadata.js +2109 -0
  143. package/esm2015/src/entity-query.js +996 -0
  144. package/esm2015/src/entity-state.js +99 -0
  145. package/esm2015/src/enum.js +141 -0
  146. package/esm2015/src/event.js +256 -0
  147. package/esm2015/src/interface-registry.js +41 -0
  148. package/esm2015/src/key-generator.js +108 -0
  149. package/esm2015/src/local-query-comparison-options.js +65 -0
  150. package/esm2015/src/mapping-context.js +405 -0
  151. package/esm2015/src/naming-convention.js +88 -0
  152. package/esm2015/src/observable-array.js +185 -0
  153. package/esm2015/src/predicate.js +1235 -0
  154. package/esm2015/src/primitive-array.js +87 -0
  155. package/esm2015/src/query-options.js +152 -0
  156. package/esm2015/src/relation-array.js +175 -0
  157. package/esm2015/src/save-options.js +41 -0
  158. package/esm2015/src/unattached-children-map.js +58 -0
  159. package/esm2015/src/validate.js +991 -0
  160. package/esm2015/src/validation-options.js +64 -0
  161. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
  162. package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
  163. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  164. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
  165. package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
  166. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  167. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
  168. package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
  169. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  170. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
  171. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  172. package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
  173. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  174. package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
  175. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +466 -0
  176. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  177. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +98 -0
  178. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  179. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
  180. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  181. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
  182. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  183. package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
  184. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
  185. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  186. package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
  187. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
  188. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  189. package/esm5/breeze-client.js +9 -0
  190. package/esm5/index.js +2 -0
  191. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  192. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  193. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  194. package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
  195. package/esm5/src/abstract-data-service-adapter.js +302 -0
  196. package/esm5/src/array.js +4 -0
  197. package/esm5/src/assert-param.js +317 -0
  198. package/esm5/src/breeze.js +85 -0
  199. package/esm5/src/complex-array.js +119 -0
  200. package/esm5/src/config.js +228 -0
  201. package/esm5/src/core.js +717 -0
  202. package/esm5/src/csdl-metadata-parser.js +385 -0
  203. package/esm5/src/data-service.js +207 -0
  204. package/esm5/src/data-type.js +451 -0
  205. package/esm5/src/default-property-interceptor.js +460 -0
  206. package/esm5/src/entity-action.js +52 -0
  207. package/esm5/src/entity-aspect.js +812 -0
  208. package/esm5/src/entity-group.js +189 -0
  209. package/esm5/src/entity-key.js +118 -0
  210. package/esm5/src/entity-manager.js +2112 -0
  211. package/esm5/src/entity-metadata.js +2144 -0
  212. package/esm5/src/entity-query.js +1023 -0
  213. package/esm5/src/entity-state.js +106 -0
  214. package/esm5/src/enum.js +144 -0
  215. package/esm5/src/event.js +259 -0
  216. package/esm5/src/interface-registry.js +43 -0
  217. package/esm5/src/key-generator.js +111 -0
  218. package/esm5/src/local-query-comparison-options.js +67 -0
  219. package/esm5/src/mapping-context.js +407 -0
  220. package/esm5/src/naming-convention.js +90 -0
  221. package/esm5/src/observable-array.js +201 -0
  222. package/esm5/src/predicate.js +1300 -0
  223. package/esm5/src/primitive-array.js +87 -0
  224. package/esm5/src/query-options.js +167 -0
  225. package/esm5/src/relation-array.js +175 -0
  226. package/esm5/src/save-options.js +43 -0
  227. package/esm5/src/unattached-children-map.js +60 -0
  228. package/esm5/src/validate.js +996 -0
  229. package/esm5/src/validation-options.js +66 -0
  230. package/fesm2015/{breeze-client-adapter-ajax-angularjs.mjs → breeze-client-adapter-ajax-angularjs.js} +1 -2
  231. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  232. package/fesm2015/{breeze-client-adapter-ajax-fetch.mjs → breeze-client-adapter-ajax-fetch.js} +3 -6
  233. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
  234. package/fesm2015/{breeze-client-adapter-ajax-httpclient.mjs → breeze-client-adapter-ajax-httpclient.js} +1 -2
  235. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  236. package/fesm2015/{breeze-client-adapter-ajax-jquery.mjs → breeze-client-adapter-ajax-jquery.js} +2 -3
  237. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
  238. package/{fesm2020/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -2
  239. package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
  240. package/fesm2015/{breeze-client-adapter-data-service-odata.mjs → breeze-client-adapter-data-service-odata.js} +22 -21
  241. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
  242. package/fesm2015/{breeze-client-adapter-data-service-webapi.mjs → breeze-client-adapter-data-service-webapi.js} +13 -14
  243. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
  244. package/{fesm2020/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -14
  245. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  246. package/{fesm2020/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -14
  247. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
  248. package/{fesm2020/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -9
  249. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
  250. package/{fesm2020/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -86
  251. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  252. package/fesm2015/{breeze-client-mixin-get-entity-graph.mjs → breeze-client-mixin-get-entity-graph.js} +1 -2
  253. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
  254. package/fesm2015/{breeze-client-mixin-save-queuing.mjs → breeze-client-mixin-save-queuing.js} +1 -2
  255. package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
  256. package/fesm2015/{breeze-client.mjs → breeze-client.js} +417 -408
  257. package/fesm2015/breeze-client.js.map +1 -0
  258. package/{fesm2020/breeze-client-adapter-ajax-angularjs.mjs → fesm5/breeze-client-adapter-ajax-angularjs.js} +42 -42
  259. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  260. package/{fesm2020/breeze-client-adapter-ajax-fetch.mjs → fesm5/breeze-client-adapter-ajax-fetch.js} +43 -45
  261. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
  262. package/{fesm2020/breeze-client-adapter-ajax-httpclient.mjs → fesm5/breeze-client-adapter-ajax-httpclient.js} +44 -44
  263. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  264. package/{fesm2020/breeze-client-adapter-ajax-jquery.mjs → fesm5/breeze-client-adapter-ajax-jquery.js} +19 -19
  265. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
  266. package/{fesm2015/breeze-client-adapter-ajax-post.mjs → fesm5/breeze-client-adapter-ajax-post.js} +11 -9
  267. package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
  268. package/{fesm2020/breeze-client-adapter-data-service-odata.mjs → fesm5/breeze-client-adapter-data-service-odata.js} +134 -127
  269. package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
  270. package/{fesm2020/breeze-client-adapter-data-service-webapi.mjs → fesm5/breeze-client-adapter-data-service-webapi.js} +42 -39
  271. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
  272. package/{fesm2015/breeze-client-adapter-model-library-backing-store.mjs → fesm5/breeze-client-adapter-model-library-backing-store.js} +64 -64
  273. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  274. package/{fesm2015/breeze-client-adapter-model-library-ko.mjs → fesm5/breeze-client-adapter-model-library-ko.js} +58 -58
  275. package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
  276. package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
  277. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
  278. package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
  279. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  280. package/{fesm2020/breeze-client-mixin-get-entity-graph.mjs → fesm5/breeze-client-mixin-get-entity-graph.js} +45 -46
  281. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
  282. package/{fesm2020/breeze-client-mixin-save-queuing.mjs → fesm5/breeze-client-mixin-save-queuing.js} +126 -117
  283. package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
  284. package/{fesm2020/breeze-client.mjs → fesm5/breeze-client.js} +3629 -3413
  285. package/fesm5/breeze-client.js.map +1 -0
  286. package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
  287. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
  288. package/mixin-get-entity-graph/package.json +13 -0
  289. package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
  290. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
  291. package/mixin-save-queuing/package.json +13 -0
  292. package/package.json +11 -125
  293. package/src/entity-metadata.d.ts +4 -6
  294. package/src/entity-query.d.ts +1 -1
  295. package/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -130
  296. package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +0 -49
  297. package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
  298. package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -132
  299. package/esm2020/adapter-ajax-fetch/adapter-core.mjs +0 -49
  300. package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
  301. package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -137
  302. package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +0 -49
  303. package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
  304. package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -103
  305. package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
  306. package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
  307. package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
  308. package/esm2020/adapter-data-service-odata/adapter-core.mjs +0 -49
  309. package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +0 -456
  310. package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
  311. package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -93
  312. package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
  313. package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -268
  314. package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
  315. package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -240
  316. package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
  317. package/esm2020/adapter-uri-builder-json/adapter-core.mjs +0 -49
  318. package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -36
  319. package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
  320. package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +0 -49
  321. package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -190
  322. package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
  323. package/esm2020/breeze-client.mjs +0 -5
  324. package/esm2020/index.mjs +0 -2
  325. package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
  326. package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
  327. package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
  328. package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +0 -400
  329. package/esm2020/src/abstract-data-service-adapter.mjs +0 -296
  330. package/esm2020/src/array.mjs +0 -4
  331. package/esm2020/src/assert-param.mjs +0 -312
  332. package/esm2020/src/breeze.mjs +0 -85
  333. package/esm2020/src/complex-array.mjs +0 -117
  334. package/esm2020/src/config.mjs +0 -223
  335. package/esm2020/src/core.mjs +0 -707
  336. package/esm2020/src/csdl-metadata-parser.mjs +0 -385
  337. package/esm2020/src/data-service.mjs +0 -203
  338. package/esm2020/src/data-type.mjs +0 -444
  339. package/esm2020/src/default-property-interceptor.mjs +0 -460
  340. package/esm2020/src/entity-action.mjs +0 -45
  341. package/esm2020/src/entity-aspect.mjs +0 -806
  342. package/esm2020/src/entity-group.mjs +0 -187
  343. package/esm2020/src/entity-key.mjs +0 -116
  344. package/esm2020/src/entity-manager.mjs +0 -2094
  345. package/esm2020/src/entity-metadata.mjs +0 -2109
  346. package/esm2020/src/entity-query.mjs +0 -996
  347. package/esm2020/src/entity-state.mjs +0 -99
  348. package/esm2020/src/enum.mjs +0 -141
  349. package/esm2020/src/event.mjs +0 -256
  350. package/esm2020/src/interface-registry.mjs +0 -41
  351. package/esm2020/src/key-generator.mjs +0 -108
  352. package/esm2020/src/local-query-comparison-options.mjs +0 -65
  353. package/esm2020/src/mapping-context.mjs +0 -405
  354. package/esm2020/src/naming-convention.mjs +0 -88
  355. package/esm2020/src/observable-array.mjs +0 -183
  356. package/esm2020/src/predicate.mjs +0 -1232
  357. package/esm2020/src/primitive-array.mjs +0 -85
  358. package/esm2020/src/query-options.mjs +0 -152
  359. package/esm2020/src/relation-array.mjs +0 -173
  360. package/esm2020/src/save-options.mjs +0 -41
  361. package/esm2020/src/unattached-children-map.mjs +0 -58
  362. package/esm2020/src/validate.mjs +0 -988
  363. package/esm2020/src/validation-options.mjs +0 -64
  364. package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  365. package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  366. package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  367. package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  368. package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +0 -1
  369. package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  370. package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  371. package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  372. package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  373. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs +0 -92
  374. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  375. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs +0 -246
  376. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  377. package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  378. package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +0 -1
  379. package/fesm2015/breeze-client.mjs.map +0 -1
  380. package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  381. package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  382. package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  383. package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  384. package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +0 -1
  385. package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  386. package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  387. package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  388. package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  389. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  390. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  391. package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  392. package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +0 -1
  393. package/fesm2020/breeze-client.mjs.map +0 -1
  394. package/mjs/README.md +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-uri-builder-odata.js","sources":["ng://breeze-client/adapter-uri-builder-odata/adapter-core.ts","ng://breeze-client/adapter-uri-builder-odata/adapter-uri-builder-odata.ts","ng://breeze-client/adapter-uri-builder-odata/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":["config","breeze.config","breeze.EntityType","breeze.Predicate","breeze.core"],"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
- const proto = EntityManager.prototype;
5
+ var 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
- let newRoots = this.executeQueryLocally(roots);
13
+ var 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
- let entityGroupMap;
22
- let graph = [];
23
- let rootType;
24
- let roots = Array.isArray(root) ? root : [root];
21
+ var entityGroupMap;
22
+ var graph = [];
23
+ var rootType;
24
+ var 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
- let compatTypes;
41
+ var compatTypes;
42
42
  roots.forEach(function (root, ix) {
43
- let aspect;
43
+ var 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
- let em = aspect.entityManager;
50
+ var 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
- let thisType = root.entityType;
65
+ var 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
- let baseType = rootType;
75
+ var 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
- let fns = expand.map(makePathFn);
125
+ var 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
- 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]);
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]);
135
135
  type = f.navType;
136
136
  fns.push(f);
137
137
  }
138
138
  return function pathFn(entities) {
139
- for (let j = 0, flen = fns.length; j < flen; j++) {
140
- let elen = entities.length;
139
+ for (var j = 0, flen = fns.length; j < flen; j++) {
140
+ var 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
- let fn = fns[j];
145
+ var fn = fns[j];
146
146
  // get entities related by this path segment
147
- let related = [];
148
- for (let k = 0; k < elen; k++) {
147
+ var related = [];
148
+ for (var 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 (let l = 0, rlen = related.length; l < rlen; l++) {
158
- let r = related[l];
157
+ for (var l = 0, rlen = related.length; l < rlen; l++) {
158
+ var 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
- let baseTypeName, fn = undefined, navType;
169
+ var baseTypeName, fn = undefined, navType;
170
170
  try {
171
171
  baseTypeName = baseType.name;
172
- let nav = baseType.getNavigationProperty(segment);
173
- let fkName = nav.foreignKeyNames[0];
172
+ var nav = baseType.getNavigationProperty(segment);
173
+ var fkName_1 = 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
- let navTypes = navType.getSelfAndSubtypes();
180
- let grps = []; // non-empty groups for these types
179
+ var navTypes = navType.getSelfAndSubtypes();
180
+ var grps_1 = []; // non-empty groups for these types
181
181
  navTypes.forEach(function (t) {
182
- let grp = entityGroupMap[t.name];
182
+ var grp = entityGroupMap[t.name];
183
183
  if (grp && grp._entities.length > 0) {
184
- grps.push(grp);
184
+ grps_1.push(grp);
185
185
  }
186
186
  });
187
- let grpCount = grps.length;
188
- if (grpCount === 0) {
187
+ var grpCount_1 = grps_1.length;
188
+ if (grpCount_1 === 0) {
189
189
  // no related entities in cache
190
190
  fn = function () { return []; };
191
191
  }
192
- else if (fkName) {
192
+ else if (fkName_1) {
193
193
  fn = function (entity) {
194
- let val = null;
194
+ var val = null;
195
195
  try {
196
- let keyValue = entity.getProperty(fkName);
197
- for (let i = 0; i < grpCount; i += 1) {
198
- val = grps[i]._entities[grps[i]._indexMap[keyValue]];
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]];
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 = nav.inverse ?
211
+ fkName_1 = nav.inverse ?
212
212
  nav.inverse.foreignKeyNames[0] :
213
213
  nav.invForeignKeyNames[0];
214
- if (!fkName) {
214
+ if (!fkName_1) {
215
215
  throw new Error("No inverse keys");
216
216
  }
217
217
  fn = function (entity) {
218
- let vals = [];
218
+ var vals = [];
219
219
  try {
220
- let keyValue = entity.entityAspect.getKey().values[0];
221
- grps.forEach(function (grp) {
220
+ var keyValue_1 = entity.entityAspect.getKey().values[0];
221
+ grps_1.forEach(function (grp) {
222
222
  vals = vals.concat(grp._entities.filter(function (en) {
223
- return en && en.getProperty(fkName) === keyValue;
223
+ return en && en.getProperty(fkName_1) === keyValue_1;
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
- let typeName = baseTypeName || baseType;
242
- let error = new Error("'getEntityGraph' can't expand '" + segment + "' for " + typeName);
241
+ var typeName = baseTypeName || baseType;
242
+ var error = new Error("'getEntityGraph' can't expand '" + segment + "' for " + typeName);
243
243
  error.innerError = e;
244
244
  throw error;
245
245
  }
@@ -251,5 +251,4 @@ function getEntityGraphCore(root, expand) {
251
251
  */
252
252
 
253
253
  export { mixinEntityGraph };
254
- //# sourceMappingURL=breeze-client-mixin-get-entity-graph.mjs.map
255
- //# sourceMappingURL=breeze-client-mixin-get-entity-graph.mjs.map
254
+ //# sourceMappingURL=breeze-client-mixin-get-entity-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-mixin-get-entity-graph.js","sources":["ng://breeze-client/mixin-get-entity-graph/mixin-get-entity-graph.ts","ng://breeze-client/mixin-get-entity-graph/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":"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"}