breeze-client 2.1.3 → 2.1.4-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 (395) hide show
  1. package/README.md +18 -5
  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} +2 -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} +6 -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} +2 -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} +3 -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} +2 -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} +21 -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} +14 -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} +14 -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} +14 -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} +9 -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} +86 -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} +2 -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} +2 -1
  107. package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +1 -0
  108. package/fesm2015/{breeze-client.js → breeze-client.mjs} +409 -418
  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} +42 -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} +45 -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} +44 -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} +19 -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} +9 -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} +127 -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} +39 -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} +64 -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} +58 -58
  127. package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  128. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs +92 -0
  129. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  130. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs +246 -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} +46 -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} +117 -126
  135. package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +1 -0
  136. package/{fesm5/breeze-client.js → fesm2020/breeze-client.mjs} +3396 -3612
  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/mjs/README.md +17 -0
  141. package/package.json +125 -11
  142. package/src/entity-metadata.d.ts +6 -4
  143. package/src/entity-query.d.ts +1 -1
  144. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  145. package/adapter-ajax-angularjs/package.json +0 -13
  146. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  147. package/adapter-ajax-fetch/package.json +0 -13
  148. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  149. package/adapter-ajax-httpclient/package.json +0 -13
  150. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  151. package/adapter-ajax-jquery/package.json +0 -13
  152. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  153. package/adapter-ajax-post/package.json +0 -13
  154. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  155. package/adapter-data-service-odata/package.json +0 -13
  156. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  157. package/adapter-data-service-webapi/package.json +0 -13
  158. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  159. package/adapter-model-library-backing-store/package.json +0 -13
  160. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  161. package/adapter-model-library-ko/package.json +0 -13
  162. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  163. package/adapter-uri-builder-json/package.json +0 -13
  164. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  165. package/adapter-uri-builder-odata/package.json +0 -13
  166. package/breeze-client.d.ts +0 -8
  167. package/breeze-client.metadata.json +0 -1
  168. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  169. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  170. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  171. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  172. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  173. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  174. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  175. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  176. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  177. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  178. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  179. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  180. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  181. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  182. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  183. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  184. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  185. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  186. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  187. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  188. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -743
  189. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  190. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  191. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  192. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -326
  193. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  194. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  195. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  196. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  197. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  198. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  199. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  200. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  201. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  202. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  203. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  204. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  205. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  206. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  207. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  208. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  209. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  210. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  211. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  212. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  213. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  214. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  215. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  216. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
  217. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  218. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  219. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  220. package/bundles/breeze-client.umd.js +0 -14098
  221. package/bundles/breeze-client.umd.js.map +0 -1
  222. package/bundles/breeze-client.umd.min.js +0 -16
  223. package/bundles/breeze-client.umd.min.js.map +0 -1
  224. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  225. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  226. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  227. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  228. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  229. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  230. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  231. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  232. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  233. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  234. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  235. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  236. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  237. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  238. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -459
  239. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  240. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -93
  241. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  242. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  243. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  244. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  245. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  246. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  247. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  248. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  249. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  250. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  251. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  252. package/esm2015/breeze-client.js +0 -9
  253. package/esm2015/index.js +0 -2
  254. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  255. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  256. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  257. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  258. package/esm2015/src/abstract-data-service-adapter.js +0 -296
  259. package/esm2015/src/array.js +0 -4
  260. package/esm2015/src/assert-param.js +0 -312
  261. package/esm2015/src/breeze.js +0 -85
  262. package/esm2015/src/complex-array.js +0 -119
  263. package/esm2015/src/config.js +0 -223
  264. package/esm2015/src/core.js +0 -709
  265. package/esm2015/src/csdl-metadata-parser.js +0 -385
  266. package/esm2015/src/data-service.js +0 -203
  267. package/esm2015/src/data-type.js +0 -444
  268. package/esm2015/src/default-property-interceptor.js +0 -460
  269. package/esm2015/src/entity-action.js +0 -45
  270. package/esm2015/src/entity-aspect.js +0 -806
  271. package/esm2015/src/entity-group.js +0 -187
  272. package/esm2015/src/entity-key.js +0 -116
  273. package/esm2015/src/entity-manager.js +0 -2094
  274. package/esm2015/src/entity-metadata.js +0 -2109
  275. package/esm2015/src/entity-query.js +0 -996
  276. package/esm2015/src/entity-state.js +0 -99
  277. package/esm2015/src/enum.js +0 -141
  278. package/esm2015/src/event.js +0 -256
  279. package/esm2015/src/interface-registry.js +0 -41
  280. package/esm2015/src/key-generator.js +0 -108
  281. package/esm2015/src/local-query-comparison-options.js +0 -65
  282. package/esm2015/src/mapping-context.js +0 -405
  283. package/esm2015/src/naming-convention.js +0 -88
  284. package/esm2015/src/observable-array.js +0 -185
  285. package/esm2015/src/predicate.js +0 -1235
  286. package/esm2015/src/primitive-array.js +0 -87
  287. package/esm2015/src/query-options.js +0 -152
  288. package/esm2015/src/relation-array.js +0 -175
  289. package/esm2015/src/save-options.js +0 -41
  290. package/esm2015/src/unattached-children-map.js +0 -58
  291. package/esm2015/src/validate.js +0 -991
  292. package/esm2015/src/validation-options.js +0 -64
  293. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  294. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  295. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  296. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  297. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  298. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  299. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  300. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  301. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  302. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  303. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  304. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  305. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  306. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  307. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +0 -466
  308. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  309. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -98
  310. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  311. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  312. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  313. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  314. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  315. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  316. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  317. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  318. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  319. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  320. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  321. package/esm5/breeze-client.js +0 -9
  322. package/esm5/index.js +0 -2
  323. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  324. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  325. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  326. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
  327. package/esm5/src/abstract-data-service-adapter.js +0 -302
  328. package/esm5/src/array.js +0 -4
  329. package/esm5/src/assert-param.js +0 -317
  330. package/esm5/src/breeze.js +0 -85
  331. package/esm5/src/complex-array.js +0 -119
  332. package/esm5/src/config.js +0 -228
  333. package/esm5/src/core.js +0 -717
  334. package/esm5/src/csdl-metadata-parser.js +0 -385
  335. package/esm5/src/data-service.js +0 -207
  336. package/esm5/src/data-type.js +0 -451
  337. package/esm5/src/default-property-interceptor.js +0 -460
  338. package/esm5/src/entity-action.js +0 -52
  339. package/esm5/src/entity-aspect.js +0 -812
  340. package/esm5/src/entity-group.js +0 -189
  341. package/esm5/src/entity-key.js +0 -118
  342. package/esm5/src/entity-manager.js +0 -2112
  343. package/esm5/src/entity-metadata.js +0 -2144
  344. package/esm5/src/entity-query.js +0 -1023
  345. package/esm5/src/entity-state.js +0 -106
  346. package/esm5/src/enum.js +0 -144
  347. package/esm5/src/event.js +0 -259
  348. package/esm5/src/interface-registry.js +0 -43
  349. package/esm5/src/key-generator.js +0 -111
  350. package/esm5/src/local-query-comparison-options.js +0 -67
  351. package/esm5/src/mapping-context.js +0 -407
  352. package/esm5/src/naming-convention.js +0 -90
  353. package/esm5/src/observable-array.js +0 -201
  354. package/esm5/src/predicate.js +0 -1300
  355. package/esm5/src/primitive-array.js +0 -87
  356. package/esm5/src/query-options.js +0 -167
  357. package/esm5/src/relation-array.js +0 -175
  358. package/esm5/src/save-options.js +0 -43
  359. package/esm5/src/unattached-children-map.js +0 -60
  360. package/esm5/src/validate.js +0 -996
  361. package/esm5/src/validation-options.js +0 -66
  362. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  363. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  364. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  365. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  366. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  367. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  368. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  369. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  370. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  371. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  372. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  373. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  374. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  375. package/fesm2015/breeze-client.js.map +0 -1
  376. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  377. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  378. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  379. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  380. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  381. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  382. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  383. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  384. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  385. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  386. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  387. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  388. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  389. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  390. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  391. package/fesm5/breeze-client.js.map +0 -1
  392. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  393. package/mixin-get-entity-graph/package.json +0 -13
  394. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  395. package/mixin-save-queuing/package.json +0 -13
@@ -1,262 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('breeze-client')) :
3
- typeof define === 'function' && define.amd ? define('breeze-client/adapter-uri-builder-odata', ['exports', 'breeze-client'], factory) :
4
- (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-uri-builder-odata'] = {}), global['breeze-client']));
5
- }(this, (function (exports, breezeClient) { 'use strict';
6
-
7
- /** Appends parameter to url, with appropriate delimiter */
8
- function appendQueryStringParameter(url, parameter) {
9
- if (!parameter)
10
- return url;
11
- var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
12
- return url + separator + parameter;
13
- }
14
- /** Encodes the object into query string parameters */
15
- function encodeParams(obj) {
16
- var query = '';
17
- var subValue, innerObj, fullSubName;
18
- for (var name_1 in obj) {
19
- if (!obj.hasOwnProperty(name_1)) {
20
- continue;
21
- }
22
- var value = obj[name_1];
23
- if (value instanceof Array) {
24
- for (var i = 0; i < value.length; ++i) {
25
- subValue = value[i];
26
- fullSubName = name_1 + '[' + i + ']';
27
- innerObj = {};
28
- innerObj[fullSubName] = subValue;
29
- query += encodeParams(innerObj) + '&';
30
- }
31
- }
32
- else if (value && value.toISOString) { // a feature of Date-like things
33
- query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
34
- }
35
- else if (value instanceof Object) {
36
- for (var subName in value) {
37
- if (obj.hasOwnProperty(name_1)) {
38
- subValue = value[subName];
39
- fullSubName = name_1 + '[' + subName + ']';
40
- innerObj = {};
41
- innerObj[fullSubName] = subValue;
42
- query += encodeParams(innerObj) + '&';
43
- }
44
- }
45
- }
46
- else if (value === null) {
47
- query += encodeURIComponent(name_1) + '=&';
48
- }
49
- else if (value !== undefined) {
50
- query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
51
- }
52
- }
53
- return query.length ? query.substr(0, query.length - 1) : query;
54
- }
55
-
56
- var UriBuilderODataAdapter = /** @class */ (function () {
57
- function UriBuilderODataAdapter() {
58
- this.name = "odata";
59
- }
60
- UriBuilderODataAdapter.register = function (config$1) {
61
- config$1 = config$1 || breezeClient.config;
62
- config$1.registerAdapter("uriBuilder", UriBuilderODataAdapter);
63
- return config$1.initializeAdapterInstance("uriBuilder", "odata", true);
64
- };
65
- UriBuilderODataAdapter.prototype.initialize = function () { };
66
- UriBuilderODataAdapter.prototype.buildUri = function (entityQuery, metadataStore) {
67
- // force entityType validation;
68
- var entityType = entityQuery._getFromEntityType(metadataStore, false);
69
- if (!entityType) {
70
- // anonymous type but still has naming convention info avail
71
- entityType = new breezeClient.EntityType(metadataStore);
72
- }
73
- var queryOptions = {};
74
- queryOptions["$filter"] = toWhereODataFragment(entityQuery.wherePredicate);
75
- queryOptions["$orderby"] = toOrderByODataFragment(entityQuery.orderByClause);
76
- if (entityQuery.skipCount) {
77
- queryOptions["$skip"] = entityQuery.skipCount;
78
- }
79
- if (entityQuery.takeCount != null) {
80
- queryOptions["$top"] = entityQuery.takeCount;
81
- }
82
- queryOptions["$expand"] = toExpandODataFragment(entityQuery.expandClause);
83
- queryOptions["$select"] = toSelectODataFragment(entityQuery.selectClause);
84
- if (entityQuery.inlineCountEnabled) {
85
- queryOptions["$inlinecount"] = "allpages";
86
- }
87
- var qoText = toQueryOptionsString(queryOptions);
88
- return appendQueryStringParameter(entityQuery.resourceName, qoText);
89
- // private methods to this func.
90
- function toWhereODataFragment(wherePredicate) {
91
- if (!wherePredicate)
92
- return undefined;
93
- // validation occurs inside of the toODataFragment call here.
94
- var frag = wherePredicate.visit({ entityType: entityType }, toODataFragmentVisitor);
95
- return (frag && frag.length > 0) ? frag : undefined;
96
- }
97
- function toOrderByODataFragment(orderByClause) {
98
- if (!orderByClause)
99
- return undefined;
100
- orderByClause.validate(entityType);
101
- var strings = orderByClause.items.map(function (item) {
102
- return entityType.clientPropertyPathToServer(item.propertyPath, "/") + (item.isDesc ? " desc" : "");
103
- });
104
- // should return something like CompanyName,Address/City desc
105
- return strings.join(',');
106
- }
107
- function toSelectODataFragment(selectClause) {
108
- if (!selectClause)
109
- return undefined;
110
- selectClause.validate(entityType);
111
- var frag = selectClause.propertyPaths.map(function (pp) {
112
- return entityType.clientPropertyPathToServer(pp, "/");
113
- }).join(",");
114
- return frag;
115
- }
116
- function toExpandODataFragment(expandClause) {
117
- if (!expandClause)
118
- return undefined;
119
- // no validate on expand clauses currently.
120
- // expandClause.validate(entityType);
121
- var frag = expandClause.propertyPaths.map(function (pp) {
122
- return entityType.clientPropertyPathToServer(pp, "/");
123
- }).join(",");
124
- return frag;
125
- }
126
- function toQueryOptionsString(queryOptions) {
127
- var qoStrings = [];
128
- var _loop_1 = function (qoName) {
129
- var qoValue = queryOptions[qoName];
130
- if (qoValue !== undefined) {
131
- if (qoValue instanceof Array) {
132
- qoValue.forEach(function (qov) {
133
- qoStrings.push(qoName + "=" + encodeURIComponent(qov));
134
- });
135
- }
136
- else {
137
- qoStrings.push(qoName + "=" + encodeURIComponent(qoValue));
138
- }
139
- }
140
- };
141
- for (var qoName in queryOptions) {
142
- _loop_1(qoName);
143
- }
144
- if (qoStrings.length > 0) {
145
- return qoStrings.join("&");
146
- }
147
- else {
148
- return "";
149
- }
150
- }
151
- };
152
- return UriBuilderODataAdapter;
153
- }());
154
- breezeClient.Predicate.prototype.toODataFragment = function (context) {
155
- return this.visit(context, toODataFragmentVisitor);
156
- };
157
- var ɵ0 = function () {
158
- return this.value;
159
- }, ɵ1 = function (context) {
160
- var predVal = this.pred.visit(context);
161
- return odataOpFrom(this) + " " + "(" + predVal + ")";
162
- }, ɵ2 = function (context) {
163
- var expr1Val = this.expr1.visit(context);
164
- var expr2Val = this.expr2.visit(context);
165
- var prefix = context.prefix;
166
- if (prefix) {
167
- expr1Val = prefix + "/" + expr1Val;
168
- }
169
- var odataOp = odataOpFrom(this);
170
- if (this.op.key === 'in') {
171
- var result = expr2Val.map(function (v) {
172
- return "(" + expr1Val + " eq " + v + ")";
173
- }).join(" or ");
174
- return result;
175
- }
176
- else if (this.op.isFunction) {
177
- if (odataOp === "substringof") {
178
- return odataOp + "(" + expr2Val + "," + expr1Val + ") eq true";
179
- }
180
- else {
181
- return odataOp + "(" + expr1Val + "," + expr2Val + ") eq true";
182
- }
183
- }
184
- else {
185
- return expr1Val + " " + odataOp + " " + expr2Val;
186
- }
187
- }, ɵ3 = function (context) {
188
- var result = this.preds.map(function (pred) {
189
- var predVal = pred.visit(context);
190
- return "(" + predVal + ")";
191
- }).join(" " + odataOpFrom(this) + " ");
192
- return result;
193
- }, ɵ4 = function (context) {
194
- var exprVal = this.expr.visit(context);
195
- if (!this.pred.op) { // added 21-Oct-2016 to fix breeze.js issue #172
196
- return exprVal + "/" + odataOpFrom(this) + "()";
197
- }
198
- var prefix = context.prefix;
199
- if (prefix) {
200
- exprVal = prefix + "/" + exprVal;
201
- prefix = "x" + (parseInt(prefix.substring(1)) + 1);
202
- }
203
- else {
204
- prefix = "x1";
205
- }
206
- // need to create a new context because of 'prefix'
207
- var newContext = breezeClient.core.extend({}, context);
208
- newContext.entityType = this.expr.dataType;
209
- newContext.prefix = prefix;
210
- var newPredVal = this.pred.visit(newContext);
211
- return exprVal + "/" + odataOpFrom(this) + "(" + prefix + ": " + newPredVal + ")";
212
- }, ɵ5 = function () {
213
- if (Array.isArray(this.value)) {
214
- return this.value.map(function (v) { return this.dataType.fmtOData(v); }, this);
215
- }
216
- else {
217
- return this.dataType.fmtOData(this.value);
218
- }
219
- }, ɵ6 = function (context) {
220
- var entityType = context.entityType;
221
- // '/' is the OData path delimiter
222
- return entityType ? entityType.clientPropertyPathToServer(this.propertyPath, "/") : this.propertyPath;
223
- }, ɵ7 = function (context) {
224
- var exprVals = this.exprs.map(function (expr) {
225
- return expr.visit(context);
226
- });
227
- return this.fnName + "(" + exprVals.join(",") + ")";
228
- };
229
- var toODataFragmentVisitor = {
230
- passthruPredicate: ɵ0,
231
- unaryPredicate: ɵ1,
232
- binaryPredicate: ɵ2,
233
- andOrPredicate: ɵ3,
234
- anyAllPredicate: ɵ4,
235
- litExpr: ɵ5,
236
- propExpr: ɵ6,
237
- fnExpr: ɵ7
238
- };
239
- var _operatorMap = {
240
- 'contains': 'substringof'
241
- };
242
- function odataOpFrom(node) {
243
- var op = node.op.key;
244
- var odataOp = _operatorMap[op];
245
- return odataOp || op;
246
- }
247
- breezeClient.config.registerAdapter("uriBuilder", UriBuilderODataAdapter);
248
-
249
- exports.UriBuilderODataAdapter = UriBuilderODataAdapter;
250
- exports.ɵ0 = ɵ0;
251
- exports.ɵ1 = ɵ1;
252
- exports.ɵ2 = ɵ2;
253
- exports.ɵ3 = ɵ3;
254
- exports.ɵ4 = ɵ4;
255
- exports.ɵ5 = ɵ5;
256
- exports.ɵ6 = ɵ6;
257
- exports.ɵ7 = ɵ7;
258
-
259
- Object.defineProperty(exports, '__esModule', { value: true });
260
-
261
- })));
262
- //# sourceMappingURL=breeze-client-adapter-uri-builder-odata.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-uri-builder-odata.umd.js","sources":["ng://breeze-client/adapter-uri-builder-odata/adapter-core.ts","ng://breeze-client/adapter-uri-builder-odata/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"],"names":["config","breeze.config","breeze.EntityType","breeze.Predicate","breeze.core"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-uri-builder-odata",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-uri-builder-odata"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";var r=function(){function e(){this.name="odata"}return e.register=function(r){return(r=r||t.config).registerAdapter("uriBuilder",e),r.initializeAdapterInstance("uriBuilder","odata",!0)},e.prototype.initialize=function(){},e.prototype.buildUri=function(e,r){var i=e._getFromEntityType(r,!1);i||(i=new t.EntityType(r));var n,a,o,u={};u.$filter=function(e){if(!e)return;var t=e.visit({entityType:i},d);return t&&t.length>0?t:void 0}(e.wherePredicate),u.$orderby=(n=e.orderByClause)?(n.validate(i),n.items.map((function(e){return i.clientPropertyPathToServer(e.propertyPath,"/")+(e.isDesc?" desc":"")})).join(",")):void 0,e.skipCount&&(u.$skip=e.skipCount),null!=e.takeCount&&(u.$top=e.takeCount),u.$expand=(a=e.expandClause)?a.propertyPaths.map((function(e){return i.clientPropertyPathToServer(e,"/")})).join(","):void 0,u.$select=(o=e.selectClause)?(o.validate(i),o.propertyPaths.map((function(e){return i.clientPropertyPathToServer(e,"/")})).join(",")):void 0,e.inlineCountEnabled&&(u.$inlinecount="allpages");var s=function(e){var t=[],r=function(r){var i=e[r];void 0!==i&&(i instanceof Array?i.forEach((function(e){t.push(r+"="+encodeURIComponent(e))})):t.push(r+"="+encodeURIComponent(i)))};for(var i in e)r(i);return t.length>0?t.join("&"):""}(u);return function(e,t){if(!t)return e;var r=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+r+t}(e.resourceName,s)},e}();t.Predicate.prototype.toODataFragment=function(e){return this.visit(e,d)};var i=function(){return this.value},n=function(e){var t=this.pred.visit(e);return l(this)+" ("+t+")"},a=function(e){var t=this.expr1.visit(e),r=this.expr2.visit(e),i=e.prefix;i&&(t=i+"/"+t);var n=l(this);return"in"===this.op.key?r.map((function(e){return"("+t+" eq "+e+")"})).join(" or "):this.op.isFunction?"substringof"===n?n+"("+r+","+t+") eq true":n+"("+t+","+r+") eq true":t+" "+n+" "+r},o=function(e){return this.preds.map((function(t){return"("+t.visit(e)+")"})).join(" "+l(this)+" ")},u=function(e){var r=this.expr.visit(e);if(!this.pred.op)return r+"/"+l(this)+"()";var i=e.prefix;i?(r=i+"/"+r,i="x"+(parseInt(i.substring(1))+1)):i="x1";var n=t.core.extend({},e);n.entityType=this.expr.dataType,n.prefix=i;var a=this.pred.visit(n);return r+"/"+l(this)+"("+i+": "+a+")"},s=function(){return Array.isArray(this.value)?this.value.map((function(e){return this.dataType.fmtOData(e)}),this):this.dataType.fmtOData(this.value)},p=function(e){var t=e.entityType;return t?t.clientPropertyPathToServer(this.propertyPath,"/"):this.propertyPath},c=function(e){var t=this.exprs.map((function(t){return t.visit(e)}));return this.fnName+"("+t.join(",")+")"},d={passthruPredicate:i,unaryPredicate:n,binaryPredicate:a,andOrPredicate:o,anyAllPredicate:u,litExpr:s,propExpr:p,fnExpr:c},f={contains:"substringof"};function l(e){var t=e.op.key;return f[t]||t}t.config.registerAdapter("uriBuilder",r),e.UriBuilderODataAdapter=r,e.ɵ0=i,e.ɵ1=n,e.ɵ2=a,e.ɵ3=o,e.ɵ4=u,e.ɵ5=s,e.ɵ6=p,e.ɵ7=c,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=breeze-client-adapter-uri-builder-odata.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ng://breeze-client/adapter-uri-builder-odata/adapter-uri-builder-odata.ts","ng://breeze-client/adapter-uri-builder-odata/adapter-core.ts"],"names":["UriBuilderODataAdapter","this","name","register","config","breeze.config","registerAdapter","initializeAdapterInstance","prototype","initialize","buildUri","entityQuery","metadataStore","entityType","_getFromEntityType","breeze.EntityType","orderByClause","expandClause","selectClause","queryOptions","wherePredicate","frag","visit","toODataFragmentVisitor","length","undefined","toWhereODataFragment","validate","items","map","item","clientPropertyPathToServer","propertyPath","isDesc","join","skipCount","takeCount","propertyPaths","pp","inlineCountEnabled","qoText","qoStrings","qoName","qoValue","Array","forEach","qov","push","encodeURIComponent","toQueryOptionsString","url","parameter","separator","endsWith","includes","appendQueryStringParameter","resourceName","breeze.Predicate","toODataFragment","context","value","ɵ1","predVal","pred","odataOpFrom","ɵ2","expr1Val","expr1","expr2Val","expr2","prefix","odataOp","op","key","v","isFunction","ɵ3","preds","ɵ4","exprVal","expr","parseInt","substring","newContext","breeze.core","extend","dataType","newPredVal","ɵ5","isArray","fmtOData","ɵ6","ɵ7","exprVals","exprs","fnName","passthruPredicate","ɵ0","unaryPredicate","binaryPredicate","andOrPredicate","anyAllPredicate","litExpr","propExpr","fnExpr","_operatorMap","contains","node"],"mappings":"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","sourcesContent":["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","/** 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"]}
@@ -1,258 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('breeze-client')) :
3
- typeof define === 'function' && define.amd ? define('breeze-client/mixin-get-entity-graph', ['exports', 'breeze-client'], factory) :
4
- (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['mixin-get-entity-graph'] = {}), global['breeze-client']));
5
- }(this, (function (exports, breezeClient) { 'use strict';
6
-
7
- //#region Copyright, Version, and Description
8
- function mixinEntityGraph(emclass) {
9
- var proto = breezeClient.EntityManager.prototype;
10
- if (!proto.getEntityGraph) {
11
- proto.getEntityGraph = getEntityGraph;
12
- }
13
- }
14
- mixinEntityGraph(breezeClient.EntityManager);
15
- function getEntityGraph(roots, expand) {
16
- if (roots instanceof breezeClient.EntityQuery) {
17
- var newRoots = this.executeQueryLocally(roots);
18
- return getEntityGraphCore(newRoots, expand || roots.expandClause);
19
- }
20
- else {
21
- return getEntityGraphCore(roots, expand);
22
- }
23
- }
24
- function getEntityGraphCore(root, expand) {
25
- var entityGroupMap;
26
- var graph = [];
27
- var rootType;
28
- var roots = Array.isArray(root) ? root : [root];
29
- addToGraph(roots); // removes dups & nulls
30
- roots = graph.slice(); // copy of de-duped roots
31
- if (roots.length) {
32
- getRootInfo();
33
- getExpand();
34
- buildGraph();
35
- }
36
- return graph;
37
- function addToGraph(entities) {
38
- entities.forEach(function (entity) {
39
- if (entity && graph.indexOf(entity) < 0) {
40
- graph.push(entity);
41
- }
42
- });
43
- }
44
- function getRootInfo() {
45
- var compatTypes;
46
- roots.forEach(function (root, ix) {
47
- var aspect;
48
- if (!root || !(aspect = root.entityAspect)) {
49
- throw getRootErr(ix, 'is not an entity');
50
- }
51
- if (aspect.entityState === breezeClient.EntityState.Detached) {
52
- throw getRootErr(ix, 'is a detached entity');
53
- }
54
- var em = aspect.entityManager;
55
- if (entityGroupMap) {
56
- if (entityGroupMap !== em._entityGroupMap) {
57
- throw getRootErr(ix, "has a different 'EntityManager' than other roots");
58
- }
59
- }
60
- else {
61
- entityGroupMap = em._entityGroupMap;
62
- }
63
- getRootType(root, ix);
64
- });
65
- function getRootErr(ix, msg) {
66
- return new Error("'getEntityGraph' root[" + ix + "] " + msg);
67
- }
68
- function getRootType(root, ix) {
69
- var thisType = root.entityType;
70
- if (!rootType) {
71
- rootType = thisType;
72
- return;
73
- }
74
- else if (rootType === thisType) {
75
- return;
76
- }
77
- // Types differs. Look for closest common base type
78
- // does thisType derive from current rootType?
79
- var baseType = rootType;
80
- do {
81
- compatTypes = compatTypes || baseType.getSelfAndSubtypes();
82
- if (compatTypes.indexOf(thisType) > -1) {
83
- rootType = baseType;
84
- return;
85
- }
86
- baseType = baseType.baseEntityType;
87
- compatTypes = null;
88
- } while (baseType);
89
- // does current rootType derives from thisType?
90
- baseType = thisType;
91
- do {
92
- compatTypes = baseType.getSelfAndSubtypes();
93
- if (compatTypes.indexOf(rootType) > -1) {
94
- rootType = baseType;
95
- return;
96
- }
97
- baseType = baseType.baseEntityType;
98
- } while (baseType);
99
- throw getRootErr(ix, "is not EntityType-compatible with other roots");
100
- }
101
- }
102
- function getExpand() {
103
- try {
104
- if (!expand) {
105
- expand = [];
106
- }
107
- else if (typeof expand === 'string') {
108
- // tricky because Breeze expandClause not exposed publically
109
- expand = new breezeClient.EntityQuery().expand(expand).expandClause;
110
- }
111
- if (expand instanceof breezeClient.ExpandClause && expand.propertyPaths) { // expand clause
112
- expand = expand.propertyPaths;
113
- }
114
- else if (Array.isArray(expand)) {
115
- if (!expand.every(function (elem) { return typeof elem === 'string'; })) {
116
- throw '';
117
- }
118
- }
119
- else {
120
- throw '';
121
- }
122
- }
123
- catch (_) {
124
- throw new Error("expand must be an expand string, array of string paths, or a query expand clause");
125
- }
126
- }
127
- function buildGraph() {
128
- if (expand && expand instanceof Array && expand.length) {
129
- var fns = expand.map(makePathFn);
130
- fns.forEach(function (fn) { fn(roots); });
131
- }
132
- }
133
- // Make function to get entities along a single expand path
134
- // such as 'Orders.OrderDetails.Product'
135
- function makePathFn(path) {
136
- var fns = [], segments = path.split('.'), type = rootType;
137
- for (var i = 0, slen = segments.length; i < slen; i++) {
138
- var f = makePathSegmentFn(type, segments[i]);
139
- type = f.navType;
140
- fns.push(f);
141
- }
142
- return function pathFn(entities) {
143
- for (var j = 0, flen = fns.length; j < flen; j++) {
144
- var elen = entities.length;
145
- if (elen === 0) {
146
- return;
147
- } // nothing left to explore
148
- // fn to get related entities for this path segment
149
- var fn = fns[j];
150
- // get entities related by this path segment
151
- var related = [];
152
- for (var k = 0; k < elen; k++) {
153
- related = related.concat(fn(entities[k]));
154
- }
155
- addToGraph(related);
156
- if (j >= flen - 1) {
157
- return;
158
- } // no more path segments
159
- // reset entities to deduped related entities
160
- entities = [];
161
- for (var l = 0, rlen = related.length; l < rlen; l++) {
162
- var r = related[l];
163
- if (entities.indexOf(r) < 0) {
164
- entities.push(r);
165
- }
166
- }
167
- }
168
- };
169
- }
170
- // Make function to get entities along a single expand path segment
171
- // such as the 'OrderDetails' in the 'Orders.OrderDetails.Product' path
172
- function makePathSegmentFn(baseType, segment) {
173
- var baseTypeName, fn = undefined, navType;
174
- try {
175
- baseTypeName = baseType.name;
176
- var nav = baseType.getNavigationProperty(segment);
177
- var fkName_1 = nav.foreignKeyNames[0];
178
- if (!nav) {
179
- throw new Error(segment + " is not a navigation property of " + baseTypeName);
180
- }
181
- navType = nav.entityType;
182
- // add derived types
183
- var navTypes = navType.getSelfAndSubtypes();
184
- var grps_1 = []; // non-empty groups for these types
185
- navTypes.forEach(function (t) {
186
- var grp = entityGroupMap[t.name];
187
- if (grp && grp._entities.length > 0) {
188
- grps_1.push(grp);
189
- }
190
- });
191
- var grpCount_1 = grps_1.length;
192
- if (grpCount_1 === 0) {
193
- // no related entities in cache
194
- fn = function () { return []; };
195
- }
196
- else if (fkName_1) {
197
- fn = function (entity) {
198
- var val = null;
199
- try {
200
- var keyValue = entity.getProperty(fkName_1);
201
- for (var i = 0; i < grpCount_1; i += 1) {
202
- val = grps_1[i]._entities[grps_1[i]._indexMap[keyValue]];
203
- if (val) {
204
- break;
205
- }
206
- }
207
- }
208
- catch (e) {
209
- rethrow(e);
210
- }
211
- return val;
212
- };
213
- }
214
- else {
215
- fkName_1 = nav.inverse ?
216
- nav.inverse.foreignKeyNames[0] :
217
- nav.invForeignKeyNames[0];
218
- if (!fkName_1) {
219
- throw new Error("No inverse keys");
220
- }
221
- fn = function (entity) {
222
- var vals = [];
223
- try {
224
- var keyValue_1 = entity.entityAspect.getKey().values[0];
225
- grps_1.forEach(function (grp) {
226
- vals = vals.concat(grp._entities.filter(function (en) {
227
- return en && en.getProperty(fkName_1) === keyValue_1;
228
- }));
229
- });
230
- }
231
- catch (e) {
232
- rethrow(e);
233
- }
234
- return vals;
235
- };
236
- }
237
- fn.navType = navType;
238
- fn.path = segment;
239
- }
240
- catch (err) {
241
- rethrow(err);
242
- }
243
- return fn;
244
- function rethrow(e) {
245
- var typeName = baseTypeName || baseType;
246
- var error = new Error("'getEntityGraph' can't expand '" + segment + "' for " + typeName);
247
- error.innerError = e;
248
- throw error;
249
- }
250
- }
251
- }
252
-
253
- exports.mixinEntityGraph = mixinEntityGraph;
254
-
255
- Object.defineProperty(exports, '__esModule', { value: true });
256
-
257
- })));
258
- //# sourceMappingURL=breeze-client-mixin-get-entity-graph.umd.js.map