breeze-client 2.1.6 → 2.1.7-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 (378) hide show
  1. package/LICENSE +1 -1
  2. package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
  3. package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
  4. package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
  5. package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
  6. package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
  7. package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
  8. package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
  9. package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
  10. package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
  11. package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
  12. package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
  13. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +135 -0
  14. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +49 -0
  15. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
  16. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +135 -0
  17. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +49 -0
  18. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
  19. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +139 -0
  20. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +49 -0
  21. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
  22. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +107 -0
  23. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
  24. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
  25. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
  26. package/esm2022/adapter-data-service-odata/adapter-core.mjs +49 -0
  27. package/{esm5/adapter-data-service-odata/adapter-data-service-odata.js → esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs} +138 -147
  28. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
  29. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +100 -0
  30. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
  31. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +269 -0
  32. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
  33. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +241 -0
  34. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
  35. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +49 -0
  36. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +37 -0
  37. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
  38. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +49 -0
  39. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +191 -0
  40. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
  41. package/esm2022/breeze-client.mjs +5 -0
  42. package/esm2022/index.mjs +2 -0
  43. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
  44. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
  45. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
  46. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +421 -0
  47. package/esm2022/src/abstract-data-service-adapter.mjs +325 -0
  48. package/esm2022/src/array.mjs +4 -0
  49. package/esm2022/src/assert-param.mjs +330 -0
  50. package/esm2022/src/breeze.mjs +85 -0
  51. package/esm2022/src/complex-array.mjs +117 -0
  52. package/esm2022/src/config.mjs +232 -0
  53. package/esm2022/src/core.mjs +712 -0
  54. package/esm2022/src/csdl-metadata-parser.mjs +385 -0
  55. package/esm2022/src/data-service.mjs +239 -0
  56. package/esm2022/src/data-type.mjs +507 -0
  57. package/esm2022/src/default-property-interceptor.mjs +460 -0
  58. package/{esm2015/src/entity-action.js → esm2022/src/entity-action.mjs} +25 -25
  59. package/esm2022/src/entity-aspect.mjs +897 -0
  60. package/esm2022/src/entity-group.mjs +192 -0
  61. package/esm2022/src/entity-key.mjs +127 -0
  62. package/esm2022/src/entity-manager.mjs +2183 -0
  63. package/esm2022/src/entity-metadata.mjs +2242 -0
  64. package/esm2022/src/entity-query.mjs +1024 -0
  65. package/esm2022/src/entity-state.mjs +107 -0
  66. package/esm2022/src/enum.mjs +143 -0
  67. package/esm2022/src/event.mjs +264 -0
  68. package/esm2022/src/interface-registry.mjs +39 -0
  69. package/esm2022/src/key-generator.mjs +110 -0
  70. package/esm2022/src/local-query-comparison-options.mjs +75 -0
  71. package/esm2022/src/mapping-context.mjs +422 -0
  72. package/{esm5/src/naming-convention.js → esm2022/src/naming-convention.mjs} +35 -29
  73. package/esm2022/src/observable-array.mjs +183 -0
  74. package/esm2022/src/predicate.mjs +1259 -0
  75. package/esm2022/src/primitive-array.mjs +85 -0
  76. package/esm2022/src/query-options.mjs +160 -0
  77. package/esm2022/src/relation-array.mjs +173 -0
  78. package/esm2022/src/save-options.mjs +51 -0
  79. package/esm2022/src/unattached-children-map.mjs +56 -0
  80. package/{esm5/src/validate.js → esm2022/src/validate.mjs} +116 -110
  81. package/esm2022/src/validation-options.mjs +78 -0
  82. package/{fesm2015/breeze-client-adapter-ajax-angularjs.js → fesm2022/breeze-client-adapter-ajax-angularjs.mjs} +6 -1
  83. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  84. package/{fesm2015/breeze-client-adapter-ajax-fetch.js → fesm2022/breeze-client-adapter-ajax-fetch.mjs} +9 -4
  85. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  86. package/{fesm2015/breeze-client-adapter-ajax-httpclient.js → fesm2022/breeze-client-adapter-ajax-httpclient.mjs} +6 -4
  87. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  88. package/{fesm2015/breeze-client-adapter-ajax-jquery.js → fesm2022/breeze-client-adapter-ajax-jquery.mjs} +6 -2
  89. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  90. package/{fesm2015/breeze-client-adapter-ajax-post.js → fesm2022/breeze-client-adapter-ajax-post.mjs} +1 -1
  91. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +1 -0
  92. package/{fesm2015/breeze-client-adapter-data-service-odata.js → fesm2022/breeze-client-adapter-data-service-odata.mjs} +68 -69
  93. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  94. package/{fesm2015/breeze-client-adapter-data-service-webapi.js → fesm2022/breeze-client-adapter-data-service-webapi.mjs} +30 -30
  95. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  96. package/{fesm2015/breeze-client-adapter-model-library-backing-store.js → fesm2022/breeze-client-adapter-model-library-backing-store.mjs} +14 -13
  97. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  98. package/{fesm2015/breeze-client-adapter-model-library-ko.js → fesm2022/breeze-client-adapter-model-library-ko.mjs} +14 -13
  99. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  100. package/{fesm2015/breeze-client-adapter-uri-builder-json.js → fesm2022/breeze-client-adapter-uri-builder-json.mjs} +9 -8
  101. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  102. package/{fesm2015/breeze-client-adapter-uri-builder-odata.js → fesm2022/breeze-client-adapter-uri-builder-odata.mjs} +86 -86
  103. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  104. package/{fesm2015/breeze-client-mixin-get-entity-graph.js → fesm2022/breeze-client-mixin-get-entity-graph.mjs} +1 -1
  105. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  106. package/{fesm2015/breeze-client-mixin-save-queuing.js → fesm2022/breeze-client-mixin-save-queuing.mjs} +23 -2
  107. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +1 -0
  108. package/{fesm2015/breeze-client.js → fesm2022/breeze-client.mjs} +2126 -1577
  109. package/fesm2022/breeze-client.mjs.map +1 -0
  110. package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
  111. package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
  112. package/package.json +93 -11
  113. package/src/abstract-data-service-adapter.d.ts +20 -0
  114. package/src/config.d.ts +1 -1
  115. package/src/core.d.ts +1 -1
  116. package/src/entity-aspect.d.ts +1 -1
  117. package/src/entity-metadata.d.ts +8 -6
  118. package/src/entity-query.d.ts +18 -4
  119. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  120. package/adapter-ajax-angularjs/package.json +0 -13
  121. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  122. package/adapter-ajax-fetch/package.json +0 -13
  123. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  124. package/adapter-ajax-httpclient/package.json +0 -13
  125. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  126. package/adapter-ajax-jquery/package.json +0 -13
  127. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  128. package/adapter-ajax-post/package.json +0 -13
  129. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  130. package/adapter-data-service-odata/package.json +0 -13
  131. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  132. package/adapter-data-service-webapi/package.json +0 -13
  133. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  134. package/adapter-model-library-backing-store/package.json +0 -13
  135. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  136. package/adapter-model-library-ko/package.json +0 -13
  137. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  138. package/adapter-uri-builder-json/package.json +0 -13
  139. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  140. package/adapter-uri-builder-odata/package.json +0 -13
  141. package/breeze-client.d.ts +0 -8
  142. package/breeze-client.metadata.json +0 -1
  143. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  144. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  145. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  146. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  147. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  148. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  149. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  150. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  151. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  152. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  153. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  154. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  155. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  156. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  157. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  158. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  159. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  160. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  161. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  162. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  163. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -747
  164. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  165. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  166. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  167. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -333
  168. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  169. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  170. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  171. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  172. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  173. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  174. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  175. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  176. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  177. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  178. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  179. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  180. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  181. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  182. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  183. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  184. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  185. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  186. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  187. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  188. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  189. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  190. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  191. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
  192. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  193. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  194. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  195. package/bundles/breeze-client.umd.js +0 -14181
  196. package/bundles/breeze-client.umd.js.map +0 -1
  197. package/bundles/breeze-client.umd.min.js +0 -16
  198. package/bundles/breeze-client.umd.min.js.map +0 -1
  199. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  200. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  201. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  202. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  203. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  204. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  205. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  206. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  207. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  208. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  209. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  210. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  211. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  212. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  213. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -463
  214. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  215. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -100
  216. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  217. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  218. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  219. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  220. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  221. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  222. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  223. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  224. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  225. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  226. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  227. package/esm2015/breeze-client.js +0 -9
  228. package/esm2015/index.js +0 -2
  229. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  230. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  231. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  232. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  233. package/esm2015/src/abstract-data-service-adapter.js +0 -296
  234. package/esm2015/src/array.js +0 -4
  235. package/esm2015/src/assert-param.js +0 -312
  236. package/esm2015/src/breeze.js +0 -85
  237. package/esm2015/src/complex-array.js +0 -119
  238. package/esm2015/src/config.js +0 -223
  239. package/esm2015/src/core.js +0 -714
  240. package/esm2015/src/csdl-metadata-parser.js +0 -385
  241. package/esm2015/src/data-service.js +0 -203
  242. package/esm2015/src/data-type.js +0 -503
  243. package/esm2015/src/default-property-interceptor.js +0 -460
  244. package/esm2015/src/entity-aspect.js +0 -804
  245. package/esm2015/src/entity-group.js +0 -187
  246. package/esm2015/src/entity-key.js +0 -116
  247. package/esm2015/src/entity-manager.js +0 -2094
  248. package/esm2015/src/entity-metadata.js +0 -2109
  249. package/esm2015/src/entity-query.js +0 -996
  250. package/esm2015/src/entity-state.js +0 -107
  251. package/esm2015/src/enum.js +0 -141
  252. package/esm2015/src/event.js +0 -256
  253. package/esm2015/src/interface-registry.js +0 -41
  254. package/esm2015/src/key-generator.js +0 -108
  255. package/esm2015/src/local-query-comparison-options.js +0 -65
  256. package/esm2015/src/mapping-context.js +0 -411
  257. package/esm2015/src/naming-convention.js +0 -88
  258. package/esm2015/src/observable-array.js +0 -185
  259. package/esm2015/src/predicate.js +0 -1242
  260. package/esm2015/src/primitive-array.js +0 -87
  261. package/esm2015/src/query-options.js +0 -152
  262. package/esm2015/src/relation-array.js +0 -175
  263. package/esm2015/src/save-options.js +0 -41
  264. package/esm2015/src/unattached-children-map.js +0 -58
  265. package/esm2015/src/validate.js +0 -991
  266. package/esm2015/src/validation-options.js +0 -64
  267. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  268. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  269. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  270. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  271. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  272. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  273. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  274. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  275. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  276. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  277. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  278. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  279. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  280. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  281. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  282. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -105
  283. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  284. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  285. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  286. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  287. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  288. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  289. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  290. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  291. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  292. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  293. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  294. package/esm5/breeze-client.js +0 -9
  295. package/esm5/index.js +0 -2
  296. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  297. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  298. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  299. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
  300. package/esm5/src/abstract-data-service-adapter.js +0 -302
  301. package/esm5/src/array.js +0 -4
  302. package/esm5/src/assert-param.js +0 -317
  303. package/esm5/src/breeze.js +0 -85
  304. package/esm5/src/complex-array.js +0 -119
  305. package/esm5/src/config.js +0 -228
  306. package/esm5/src/core.js +0 -722
  307. package/esm5/src/csdl-metadata-parser.js +0 -385
  308. package/esm5/src/data-service.js +0 -207
  309. package/esm5/src/data-type.js +0 -510
  310. package/esm5/src/default-property-interceptor.js +0 -460
  311. package/esm5/src/entity-action.js +0 -52
  312. package/esm5/src/entity-aspect.js +0 -810
  313. package/esm5/src/entity-group.js +0 -189
  314. package/esm5/src/entity-key.js +0 -118
  315. package/esm5/src/entity-manager.js +0 -2112
  316. package/esm5/src/entity-metadata.js +0 -2144
  317. package/esm5/src/entity-query.js +0 -1023
  318. package/esm5/src/entity-state.js +0 -114
  319. package/esm5/src/enum.js +0 -144
  320. package/esm5/src/event.js +0 -259
  321. package/esm5/src/interface-registry.js +0 -43
  322. package/esm5/src/key-generator.js +0 -111
  323. package/esm5/src/local-query-comparison-options.js +0 -67
  324. package/esm5/src/mapping-context.js +0 -413
  325. package/esm5/src/observable-array.js +0 -201
  326. package/esm5/src/predicate.js +0 -1307
  327. package/esm5/src/primitive-array.js +0 -87
  328. package/esm5/src/query-options.js +0 -167
  329. package/esm5/src/relation-array.js +0 -175
  330. package/esm5/src/save-options.js +0 -43
  331. package/esm5/src/unattached-children-map.js +0 -60
  332. package/esm5/src/validation-options.js +0 -66
  333. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  334. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  335. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  336. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  337. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  338. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  339. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  340. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  341. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  342. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  343. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  344. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  345. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  346. package/fesm2015/breeze-client.js.map +0 -1
  347. package/fesm5/breeze-client-adapter-ajax-angularjs.js +0 -186
  348. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  349. package/fesm5/breeze-client-adapter-ajax-fetch.js +0 -186
  350. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  351. package/fesm5/breeze-client-adapter-ajax-httpclient.js +0 -193
  352. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  353. package/fesm5/breeze-client-adapter-ajax-jquery.js +0 -111
  354. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  355. package/fesm5/breeze-client-adapter-ajax-post.js +0 -86
  356. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  357. package/fesm5/breeze-client-adapter-data-service-odata.js +0 -523
  358. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  359. package/fesm5/breeze-client-adapter-data-service-webapi.js +0 -111
  360. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  361. package/fesm5/breeze-client-adapter-model-library-backing-store.js +0 -276
  362. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  363. package/fesm5/breeze-client-adapter-model-library-ko.js +0 -248
  364. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  365. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  366. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  367. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  368. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  369. package/fesm5/breeze-client-mixin-get-entity-graph.js +0 -254
  370. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  371. package/fesm5/breeze-client-mixin-save-queuing.js +0 -356
  372. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  373. package/fesm5/breeze-client.js +0 -13903
  374. package/fesm5/breeze-client.js.map +0 -1
  375. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  376. package/mixin-get-entity-graph/package.json +0 -13
  377. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  378. package/mixin-save-queuing/package.json +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-model-library-ko.umd.js","sources":["ng://breeze-client/adapter-model-library-ko/adapter-model-library-ko.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nlet canIsolateES5Props = core.isES5Supported;\r\nlet ko: any;\r\n\r\nexport class ModelLibraryKnockoutAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n constructor() {\r\n this.name = \"ko\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"ko\", true) as ModelLibraryKnockoutAdapter;\r\n }\r\n\r\n initialize() {\r\n ko = core.requireLib(\"ko;knockout\", \"The Knockout library\");\r\n ko.extenders.intercept = function (target: any, interceptorOptions: any) {\r\n let instance = interceptorOptions.instance;\r\n let property = interceptorOptions.property;\r\n\r\n // create a computed observable to intercept writes to our observable\r\n let result: any;\r\n if (target.splice) {\r\n result = ko.computed({\r\n read: target //always return the original observables value\r\n });\r\n } else {\r\n result = ko.computed({\r\n read: target, //always return the original observables value\r\n write: function (newValue: any) {\r\n instance._$interceptor(property, newValue, target);\r\n return instance;\r\n }\r\n });\r\n }\r\n //return the new computed observable\r\n return result;\r\n };\r\n\r\n }\r\n\r\n getTrackablePropertyNames(entity: any) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityType\") continue;\r\n if (p === \"_$typeName\") continue;\r\n\r\n let propDescr = getES5PropDescriptor(entity, p);\r\n if (propDescr && propDescr.get) {\r\n names.push(p);\r\n } else {\r\n let val = entity[p];\r\n if (ko.isObservable(val)) {\r\n names.push(p);\r\n } else if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n initializeEntityPrototype(proto: any) {\r\n\r\n proto.getProperty = function (propertyName: string) {\r\n return this[propertyName]();\r\n };\r\n\r\n proto.setProperty = function (propertyName: string, value: any) {\r\n this[propertyName](value);\r\n // allow set property chaining.\r\n return this;\r\n };\r\n\r\n if (canIsolateES5Props) {\r\n isolateES5Props(proto);\r\n }\r\n\r\n }\r\n\r\n startTracking(entity: any, proto: any) {\r\n // create ko's for each property and assign defaultValues\r\n\r\n let stype = (entity.entityType || entity.complexType) as breeze.StructuralType;\r\n let es5Descriptors = stype._extra.es5Descriptors || {};\r\n\r\n // sort unmapped properties to the end\r\n stype.getProperties().sort(function (p1, p2) {\r\n let v1 = p1.isUnmapped ? 1 : 0;\r\n let v2 = p2.isUnmapped ? 1 : 0;\r\n return v1 - v2;\r\n }).forEach(function (prop) {\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n let propDescr = es5Descriptors[propName];\r\n let koObj: any;\r\n\r\n // check if property is an ES5 property\r\n if (propDescr) {\r\n let getFn = propDescr.get.bind(entity);\r\n if (propDescr.set) {\r\n let setFn = propDescr.set.bind(entity);\r\n let rawAccessorFn = function (newValue: any) {\r\n if (arguments.length === 0) {\r\n getFn();\r\n return;\r\n } else {\r\n setFn(newValue);\r\n }\r\n };\r\n koObj = ko.computed({\r\n read: function () {\r\n (stype as any)._koDummy();\r\n return getFn();\r\n },\r\n write: function (newValue: any) {\r\n entity._$interceptor(prop, newValue, rawAccessorFn);\r\n (stype as any)._koDummy.valueHasMutated();\r\n return entity;\r\n }\r\n });\r\n } else {\r\n koObj = ko.computed({\r\n read: getFn,\r\n write: function () {\r\n }\r\n\r\n });\r\n }\r\n // check if property is already exposed as a ko object\r\n } else if (ko.isObservable(val)) {\r\n if (prop.isNavigationProperty) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n koObj = val;\r\n // otherwise\r\n } else {\r\n val = initializeValueForProp(entity, prop, val);\r\n koObj = prop.isScalar ? ko.observable(val) : ko.observableArray(val);\r\n }\r\n\r\n\r\n if (prop.isScalar) {\r\n if (propDescr) {\r\n Object.defineProperty(entity, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: koObj\r\n });\r\n } else {\r\n let koExt = koObj.extend({ intercept: { instance: entity, property: prop } });\r\n entity[propName] = koExt;\r\n }\r\n } else {\r\n val._koObj = koObj;\r\n // code to suppress extra breeze notification when\r\n // ko's array methods are called.\r\n koObj.subscribe(onBeforeChange, null, \"beforeChange\");\r\n // code to insure that any direct breeze changes notify ko\r\n val.arrayChanged.subscribe(onArrayChanged);\r\n\r\n koObj.equalityComparer = function () {\r\n throw new Error(\"Collection navigation properties may NOT be set.\");\r\n };\r\n entity[propName] = koObj;\r\n }\r\n\r\n });\r\n\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n\r\n\r\n// private fns\r\n\r\nfunction getES5PropDescriptor(proto: any, propName: string): any {\r\n if (!canIsolateES5Props) {\r\n return null;\r\n }\r\n if (proto.hasOwnProperty(propName)) {\r\n return Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(proto, propName);\r\n } else {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return nextProto ? getES5PropDescriptor(nextProto, propName) : null;\r\n }\r\n}\r\n\r\nfunction initializeValueForProp(entity: any, prop: breeze.EntityProperty, val: any) {\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\r\n // TODO: right now we create Empty complexObjects here - these should actually come from the entity\r\n if (prop.isScalar) {\r\n val = (prop.dataType as breeze.ComplexType)._createInstanceCore(entity, prop);\r\n } else {\r\n val = breeze.makeComplexArray([], entity, prop);\r\n }\r\n } else if (!prop.isScalar) {\r\n val = breeze.makePrimitiveArray([], entity, prop);\r\n } else if (val === undefined) {\r\n val = prop.defaultValue;\r\n }\r\n\r\n } else if (prop instanceof breeze.NavigationProperty) {\r\n if (val !== undefined) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + prop.name);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullEntity later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + (prop as any).name);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nfunction onBeforeChange(args: any) {\r\n args._koObj._suppressBreeze = true;\r\n}\r\n\r\nfunction onArrayChanged(args: any) {\r\n let koObj = args.array._koObj;\r\n if (koObj._suppressBreeze) {\r\n koObj._suppressBreeze = false;\r\n } else {\r\n koObj.valueHasMutated();\r\n }\r\n}\r\n\r\nfunction isolateES5Props(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let es5Descriptors = {};\r\n stype.getProperties().forEach(function (prop) {\r\n let propDescr = getES5PropDescriptor(proto, prop.name);\r\n if (propDescr) {\r\n es5Descriptors[prop.name] = propDescr;\r\n }\r\n });\r\n if (!core.isEmpty(es5Descriptors)) {\r\n let extra = stype._extra;\r\n extra.es5Descriptors = es5Descriptors;\r\n (stype as any)._koDummy = ko.observable(null);\r\n }\r\n}\r\n\r\n"],"names":["breeze.core","config","breeze.config","breeze.DataProperty","breeze.makeComplexArray","breeze.makePrimitiveArray","breeze.NavigationProperty","breeze.makeRelationArray"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-model-library-ko",["exports","breeze-client"],r):r(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-model-library-ko"]={}),e["breeze-client"])}(this,(function(e,r){"use strict";var t,n=r.core,i=n.isES5Supported,o=function(){function e(){this.name="ko"}return e.register=function(t){return(t=t||r.config).registerAdapter("modelLibrary",e),t.initializeAdapterInstance("modelLibrary","ko",!0)},e.prototype.initialize=function(){(t=n.requireLib("ko;knockout","The Knockout library")).extenders.intercept=function(e,r){var n=r.instance,i=r.property;return e.splice?t.computed({read:e}):t.computed({read:e,write:function(r){return n._$interceptor(i,r,e),n}})}},e.prototype.getTrackablePropertyNames=function(e){var r=[];for(var i in e)if("entityType"!==i&&"_$typeName"!==i){var o=a(e,i);if(o&&o.get)r.push(i);else{var s=e[i];t.isObservable(s)?r.push(i):n.isFunction(s)||r.push(i)}}return r},e.prototype.initializeEntityPrototype=function(e){e.getProperty=function(e){return this[e]()},e.setProperty=function(e,r){return this[e](r),this},i&&function(e){var r=e.entityType||e.complexType,i={};if(r.getProperties().forEach((function(r){var t=a(e,r.name);t&&(i[r.name]=t)})),!n.isEmpty(i)){r._extra.es5Descriptors=i,r._koDummy=t.observable(null)}}(e)},e.prototype.startTracking=function(e,n){var i=e.entityType||e.complexType,o=i._extra.es5Descriptors||{};i.getProperties().sort((function(e,r){return(e.isUnmapped?1:0)-(r.isUnmapped?1:0)})).forEach((function(n){var a,c=n.name,u=e[c],l=o[c];if(l){var f=l.get.bind(e);if(l.set){var y=l.set.bind(e),b=function(e){0!==arguments.length?y(e):f()};a=t.computed({read:function(){return i._koDummy(),f()},write:function(r){return e._$interceptor(n,r,b),i._koDummy.valueHasMutated(),e}})}else a=t.computed({read:f,write:function(){}})}else if(t.isObservable(u)){if(n.isNavigationProperty)throw new Error("Cannot assign a navigation property in an entity ctor.: "+c);a=u}else u=function(e,t,n){if(t instanceof r.DataProperty)t.isComplexProperty?n=t.isScalar?t.dataType._createInstanceCore(e,t):r.makeComplexArray([],e,t):t.isScalar?void 0===n&&(n=t.defaultValue):n=r.makePrimitiveArray([],e,t);else{if(!(t instanceof r.NavigationProperty))throw new Error("unknown property: "+t.name);if(void 0!==n)throw new Error("Cannot assign a navigation property in an entity ctor.: "+t.name);n=t.isScalar?null:r.makeRelationArray([],e,t)}return n}(e,n,u),a=n.isScalar?t.observable(u):t.observableArray(u);if(n.isScalar)if(l)Object.defineProperty(e,c,{enumerable:!0,configurable:!0,writable:!0,value:a});else{var d=a.extend({intercept:{instance:e,property:n}});e[c]=d}else u._koObj=a,a.subscribe(s,null,"beforeChange"),u.arrayChanged.subscribe(p),a.equalityComparer=function(){throw new Error("Collection navigation properties may NOT be set.")},e[c]=a}))},e}();function a(e,r){if(!i)return null;if(e.hasOwnProperty(r))return Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(e,r);var t=Object.getPrototypeOf(e);return t?a(t,r):null}function s(e){e._koObj._suppressBreeze=!0}function p(e){var r=e.array._koObj;r._suppressBreeze?r._suppressBreeze=!1:r.valueHasMutated()}r.config.registerAdapter("modelLibrary",o),e.ModelLibraryKnockoutAdapter=o,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=breeze-client-adapter-model-library-ko.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ng://breeze-client/adapter-model-library-ko/adapter-model-library-ko.ts"],"names":["ko","core","breeze.core","canIsolateES5Props","isES5Supported","ModelLibraryKnockoutAdapter","this","name","register","config","breeze.config","registerAdapter","initializeAdapterInstance","prototype","initialize","requireLib","extenders","intercept","target","interceptorOptions","instance","property","splice","computed","read","write","newValue","_$interceptor","getTrackablePropertyNames","entity","names","p","propDescr","getES5PropDescriptor","get","push","val","isObservable","isFunction","initializeEntityPrototype","proto","getProperty","propertyName","setProperty","value","stype","entityType","complexType","es5Descriptors","getProperties","forEach","prop","isEmpty","_extra","_koDummy","observable","isolateES5Props","startTracking","sort","p1","p2","isUnmapped","koObj","propName","getFn_1","bind","set","setFn_1","rawAccessorFn_1","arguments","length","valueHasMutated","isNavigationProperty","Error","breeze.DataProperty","isComplexProperty","isScalar","dataType","_createInstanceCore","breeze.makeComplexArray","undefined","defaultValue","breeze.makePrimitiveArray","breeze.NavigationProperty","breeze.makeRelationArray","initializeValueForProp","observableArray","Object","defineProperty","enumerable","configurable","writable","koExt","extend","_koObj","subscribe","onBeforeChange","arrayChanged","onArrayChanged","equalityComparer","hasOwnProperty","getOwnPropertyDescriptor","nextProto","getPrototypeOf","args","_suppressBreeze","array"],"mappings":"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","sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nlet canIsolateES5Props = core.isES5Supported;\r\nlet ko: any;\r\n\r\nexport class ModelLibraryKnockoutAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n constructor() {\r\n this.name = \"ko\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"ko\", true) as ModelLibraryKnockoutAdapter;\r\n }\r\n\r\n initialize() {\r\n ko = core.requireLib(\"ko;knockout\", \"The Knockout library\");\r\n ko.extenders.intercept = function (target: any, interceptorOptions: any) {\r\n let instance = interceptorOptions.instance;\r\n let property = interceptorOptions.property;\r\n\r\n // create a computed observable to intercept writes to our observable\r\n let result: any;\r\n if (target.splice) {\r\n result = ko.computed({\r\n read: target //always return the original observables value\r\n });\r\n } else {\r\n result = ko.computed({\r\n read: target, //always return the original observables value\r\n write: function (newValue: any) {\r\n instance._$interceptor(property, newValue, target);\r\n return instance;\r\n }\r\n });\r\n }\r\n //return the new computed observable\r\n return result;\r\n };\r\n\r\n }\r\n\r\n getTrackablePropertyNames(entity: any) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityType\") continue;\r\n if (p === \"_$typeName\") continue;\r\n\r\n let propDescr = getES5PropDescriptor(entity, p);\r\n if (propDescr && propDescr.get) {\r\n names.push(p);\r\n } else {\r\n let val = entity[p];\r\n if (ko.isObservable(val)) {\r\n names.push(p);\r\n } else if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n initializeEntityPrototype(proto: any) {\r\n\r\n proto.getProperty = function (propertyName: string) {\r\n return this[propertyName]();\r\n };\r\n\r\n proto.setProperty = function (propertyName: string, value: any) {\r\n this[propertyName](value);\r\n // allow set property chaining.\r\n return this;\r\n };\r\n\r\n if (canIsolateES5Props) {\r\n isolateES5Props(proto);\r\n }\r\n\r\n }\r\n\r\n startTracking(entity: any, proto: any) {\r\n // create ko's for each property and assign defaultValues\r\n\r\n let stype = (entity.entityType || entity.complexType) as breeze.StructuralType;\r\n let es5Descriptors = stype._extra.es5Descriptors || {};\r\n\r\n // sort unmapped properties to the end\r\n stype.getProperties().sort(function (p1, p2) {\r\n let v1 = p1.isUnmapped ? 1 : 0;\r\n let v2 = p2.isUnmapped ? 1 : 0;\r\n return v1 - v2;\r\n }).forEach(function (prop) {\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n let propDescr = es5Descriptors[propName];\r\n let koObj: any;\r\n\r\n // check if property is an ES5 property\r\n if (propDescr) {\r\n let getFn = propDescr.get.bind(entity);\r\n if (propDescr.set) {\r\n let setFn = propDescr.set.bind(entity);\r\n let rawAccessorFn = function (newValue: any) {\r\n if (arguments.length === 0) {\r\n getFn();\r\n return;\r\n } else {\r\n setFn(newValue);\r\n }\r\n };\r\n koObj = ko.computed({\r\n read: function () {\r\n (stype as any)._koDummy();\r\n return getFn();\r\n },\r\n write: function (newValue: any) {\r\n entity._$interceptor(prop, newValue, rawAccessorFn);\r\n (stype as any)._koDummy.valueHasMutated();\r\n return entity;\r\n }\r\n });\r\n } else {\r\n koObj = ko.computed({\r\n read: getFn,\r\n write: function () {\r\n }\r\n\r\n });\r\n }\r\n // check if property is already exposed as a ko object\r\n } else if (ko.isObservable(val)) {\r\n if (prop.isNavigationProperty) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n koObj = val;\r\n // otherwise\r\n } else {\r\n val = initializeValueForProp(entity, prop, val);\r\n koObj = prop.isScalar ? ko.observable(val) : ko.observableArray(val);\r\n }\r\n\r\n\r\n if (prop.isScalar) {\r\n if (propDescr) {\r\n Object.defineProperty(entity, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: koObj\r\n });\r\n } else {\r\n let koExt = koObj.extend({ intercept: { instance: entity, property: prop } });\r\n entity[propName] = koExt;\r\n }\r\n } else {\r\n val._koObj = koObj;\r\n // code to suppress extra breeze notification when\r\n // ko's array methods are called.\r\n koObj.subscribe(onBeforeChange, null, \"beforeChange\");\r\n // code to insure that any direct breeze changes notify ko\r\n val.arrayChanged.subscribe(onArrayChanged);\r\n\r\n koObj.equalityComparer = function () {\r\n throw new Error(\"Collection navigation properties may NOT be set.\");\r\n };\r\n entity[propName] = koObj;\r\n }\r\n\r\n });\r\n\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n\r\n\r\n// private fns\r\n\r\nfunction getES5PropDescriptor(proto: any, propName: string): any {\r\n if (!canIsolateES5Props) {\r\n return null;\r\n }\r\n if (proto.hasOwnProperty(propName)) {\r\n return Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(proto, propName);\r\n } else {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return nextProto ? getES5PropDescriptor(nextProto, propName) : null;\r\n }\r\n}\r\n\r\nfunction initializeValueForProp(entity: any, prop: breeze.EntityProperty, val: any) {\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\r\n // TODO: right now we create Empty complexObjects here - these should actually come from the entity\r\n if (prop.isScalar) {\r\n val = (prop.dataType as breeze.ComplexType)._createInstanceCore(entity, prop);\r\n } else {\r\n val = breeze.makeComplexArray([], entity, prop);\r\n }\r\n } else if (!prop.isScalar) {\r\n val = breeze.makePrimitiveArray([], entity, prop);\r\n } else if (val === undefined) {\r\n val = prop.defaultValue;\r\n }\r\n\r\n } else if (prop instanceof breeze.NavigationProperty) {\r\n if (val !== undefined) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + prop.name);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullEntity later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + (prop as any).name);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nfunction onBeforeChange(args: any) {\r\n args._koObj._suppressBreeze = true;\r\n}\r\n\r\nfunction onArrayChanged(args: any) {\r\n let koObj = args.array._koObj;\r\n if (koObj._suppressBreeze) {\r\n koObj._suppressBreeze = false;\r\n } else {\r\n koObj.valueHasMutated();\r\n }\r\n}\r\n\r\nfunction isolateES5Props(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let es5Descriptors = {};\r\n stype.getProperties().forEach(function (prop) {\r\n let propDescr = getES5PropDescriptor(proto, prop.name);\r\n if (propDescr) {\r\n es5Descriptors[prop.name] = propDescr;\r\n }\r\n });\r\n if (!core.isEmpty(es5Descriptors)) {\r\n let extra = stype._extra;\r\n extra.es5Descriptors = es5Descriptors;\r\n (stype as any)._koDummy = ko.observable(null);\r\n }\r\n}\r\n\r\n"]}
@@ -1,96 +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-json', ['exports', 'breeze-client'], factory) :
4
- (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-uri-builder-json'] = {}), 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 UriBuilderJsonAdapter = /** @class */ (function () {
57
- function UriBuilderJsonAdapter() {
58
- this.name = "json";
59
- }
60
- UriBuilderJsonAdapter.register = function (config$1) {
61
- config$1 = config$1 || breezeClient.config;
62
- config$1.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
63
- return config$1.initializeAdapterInstance("uriBuilder", "json", true);
64
- };
65
- UriBuilderJsonAdapter.prototype.initialize = function () { };
66
- UriBuilderJsonAdapter.prototype.buildUri = function (entityQuery, metadataStore) {
67
- // force entityType validation;
68
- var entityType = entityQuery._getFromEntityType(metadataStore, false);
69
- if (!entityType)
70
- entityType = new breezeClient.EntityType(metadataStore);
71
- var json = entityQuery.toJSONExt({ entityType: entityType, toNameOnServer: true });
72
- json.from = undefined;
73
- json.queryOptions = undefined;
74
- if (json.parameters && json.parameters.$data) {
75
- // remove parameters if doing ajax post
76
- json.parameters = undefined;
77
- }
78
- var jsonString = JSON.stringify(json);
79
- if (jsonString.length > 2) {
80
- var urlBody = encodeURIComponent(jsonString);
81
- return appendQueryStringParameter(entityQuery.resourceName, urlBody);
82
- }
83
- else {
84
- return entityQuery.resourceName;
85
- }
86
- };
87
- return UriBuilderJsonAdapter;
88
- }());
89
- breezeClient.config.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
90
-
91
- exports.UriBuilderJsonAdapter = UriBuilderJsonAdapter;
92
-
93
- Object.defineProperty(exports, '__esModule', { value: true });
94
-
95
- })));
96
- //# sourceMappingURL=breeze-client-adapter-uri-builder-json.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-uri-builder-json.umd.js","sources":["ng://breeze-client/adapter-uri-builder-json/adapter-core.ts","ng://breeze-client/adapter-uri-builder-json/adapter-uri-builder-json.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 UriBuilderJsonAdapter implements breeze.UriBuilderAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"json\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"json\", true) as UriBuilderJsonAdapter;\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) entityType = new breeze.EntityType(metadataStore);\r\n let json = entityQuery.toJSONExt( { entityType: entityType, toNameOnServer: true}) as any;\r\n json.from = undefined;\r\n json.queryOptions = undefined;\r\n if (json.parameters && json.parameters.$data) {\r\n // remove parameters if doing ajax post\r\n json.parameters = undefined;\r\n }\r\n\r\n let jsonString = JSON.stringify(json);\r\n if (jsonString.length > 2) {\r\n let urlBody = encodeURIComponent(jsonString);\r\n return appendQueryStringParameter(entityQuery.resourceName, urlBody);\r\n } else {\r\n return entityQuery.resourceName;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n\r\n\r\n\r\n"],"names":["config","breeze.config","breeze.EntityType"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-uri-builder-json",["exports","breeze-client"],r):r(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-uri-builder-json"]={}),e["breeze-client"])}(this,(function(e,r){"use strict";var t=function(){function e(){this.name="json"}return e.register=function(t){return(t=t||r.config).registerAdapter("uriBuilder",e),t.initializeAdapterInstance("uriBuilder","json",!0)},e.prototype.initialize=function(){},e.prototype.buildUri=function(e,t){var i=e._getFromEntityType(t,!1);i||(i=new r.EntityType(t));var n=e.toJSONExt({entityType:i,toNameOnServer:!0});n.from=void 0,n.queryOptions=void 0,n.parameters&&n.parameters.$data&&(n.parameters=void 0);var o=JSON.stringify(n);if(o.length>2){var u=encodeURIComponent(o);return function(e,r){if(!r)return e;var t=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+t+r}(e.resourceName,u)}return e.resourceName},e}();r.config.registerAdapter("uriBuilder",t),e.UriBuilderJsonAdapter=t,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=breeze-client-adapter-uri-builder-json.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ng://breeze-client/adapter-uri-builder-json/adapter-uri-builder-json.ts","ng://breeze-client/adapter-uri-builder-json/adapter-core.ts"],"names":["UriBuilderJsonAdapter","this","name","register","config","breeze.config","registerAdapter","initializeAdapterInstance","prototype","initialize","buildUri","entityQuery","metadataStore","entityType","_getFromEntityType","breeze.EntityType","json","toJSONExt","toNameOnServer","from","undefined","queryOptions","parameters","$data","jsonString","JSON","stringify","length","urlBody","encodeURIComponent","url","parameter","separator","endsWith","includes","appendQueryStringParameter","resourceName"],"mappings":"8YAME,SAAAA,IACEC,KAAKC,KAAO,OAiChB,OA9BSF,EAAAG,SAAP,SAAgBC,GAGd,OAFAA,EAASA,GAAUC,EAAAA,QACZC,gBAAgB,aAAcN,GAC9BI,EAAOG,0BAA0B,aAAc,QAAQ,IAGhEP,EAAAQ,UAAAC,WAAA,aAEAT,EAAAQ,UAAAE,SAAA,SAASC,EAAiCC,GAExC,IAAIC,EAAaF,EAAYG,mBAAmBF,GAAe,GAC1DC,IAAYA,EAAa,IAAIE,EAAAA,WAAkBH,IACpD,IAAII,EAAOL,EAAYM,UAAW,CAAEJ,WAAYA,EAAYK,gBAAgB,IAC5EF,EAAKG,UAAOC,EACZJ,EAAKK,kBAAeD,EAChBJ,EAAKM,YAAcN,EAAKM,WAAWC,QAErCP,EAAKM,gBAAaF,GAGpB,IAAII,EAAaC,KAAKC,UAAUV,GAChC,GAAIQ,EAAWG,OAAS,EAAG,CACzB,IAAIC,EAAUC,mBAAmBL,GACjC,gBChCqCM,EAAaC,GACtD,IAAKA,EAAW,OAAOD,EAEvB,IAAIE,EAAYF,EAAIG,SAAS,KAAO,GAAKH,EAAII,SAAS,KAAO,IAAM,IAEnE,OAAOJ,EAAME,EAAYD,ED2BdI,CAA2BxB,EAAYyB,aAAcR,GAE5D,OAAOjB,EAAYyB,cAKzBpC,KAEAK,EAAAA,OAAcC,gBAAgB,aAAcN","sourcesContent":["import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderJsonAdapter implements breeze.UriBuilderAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"json\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"json\", true) as UriBuilderJsonAdapter;\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) entityType = new breeze.EntityType(metadataStore);\r\n let json = entityQuery.toJSONExt( { entityType: entityType, toNameOnServer: true}) as any;\r\n json.from = undefined;\r\n json.queryOptions = undefined;\r\n if (json.parameters && json.parameters.$data) {\r\n // remove parameters if doing ajax post\r\n json.parameters = undefined;\r\n }\r\n\r\n let jsonString = JSON.stringify(json);\r\n if (jsonString.length > 2) {\r\n let urlBody = encodeURIComponent(jsonString);\r\n return appendQueryStringParameter(entityQuery.resourceName, urlBody);\r\n } else {\r\n return entityQuery.resourceName;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\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,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":";;;;;;IAAA;aACgB,0BAA0B,CAAC,GAAW,EAAE,SAAiB;QACvE,IAAI,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC;QAE3B,IAAI,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QAEvE,OAAO,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC,CAAC;IAED;aACgB,YAAY,CAAC,GAAO;QAClC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,QAAa,EAAE,QAAa,EAAE,WAAgB,CAAC;QAEnD,KAAK,IAAI,MAAI,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAI,CAAC,EAAE;gBAAE,SAAS;aAAE;YAE5C,IAAI,KAAK,GAAG,GAAG,CAAC,MAAI,CAAC,CAAC;YAEtB,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBACrC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,WAAW,GAAG,MAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;oBACnC,QAAQ,GAAG,EAAE,CAAC;oBACd,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;oBACjC,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;iBACvC;aACF;iBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrC,KAAK,IAAI,kBAAkB,CAAC,MAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC;aACzF;iBAAM,IAAI,KAAK,YAAY,MAAM,EAAE;gBAClC,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE;oBACzB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAI,CAAC,EAAE;wBAC5B,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1B,WAAW,GAAG,MAAI,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;wBACzC,QAAQ,GAAG,EAAE,CAAC;wBACd,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;wBACjC,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;qBACvC;iBACF;aACF;iBAAM,IAAI,KAAK,KAAK,IAAI,EAAE;gBACzB,KAAK,IAAI,kBAAkB,CAAC,MAAI,CAAC,GAAG,IAAI,CAAC;aAC1C;iBAAM,IAAI,KAAK,KAAK,SAAS,EAAE;gBAC9B,KAAK,IAAI,kBAAkB,CAAC,MAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;aAC3E;SACF;QAED,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAClE;;;QCxCE;YACE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;SACrB;QAEM,+BAAQ,GAAf,UAAgBA,QAA4B;YAC1CA,QAAM,GAAGA,QAAM,IAAIC,mBAAa,CAAC;YACjCD,QAAM,CAAC,eAAe,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;YAC7D,OAAOA,QAAM,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAA2B,CAAC;SAChG;QAED,2CAAU,GAAV,eAAgB;QAEhB,yCAAQ,GAAR,UAAS,WAA+B,EAAE,aAAmC;;YAE3E,IAAI,UAAU,GAAG,WAAW,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,EAAE;;gBAEf,UAAU,GAAG,IAAIE,uBAAiB,CAAC,aAAa,CAAC,CAAC;aACnD;YAED,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,YAAY,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC3E,YAAY,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAC,WAAW,CAAC,aAAc,CAAC,CAAC;YAE9E,IAAI,WAAW,CAAC,SAAS,EAAE;gBACzB,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;aAC/C;YAED,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,EAAE;gBACjC,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;aAC9C;YAED,YAAY,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1E,YAAY,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,YAAa,CAAC,CAAC;YAE3E,IAAI,WAAW,CAAC,kBAAkB,EAAE;gBAClC,YAAY,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;aAC3C;YAED,IAAM,MAAM,GAAG,oBAAoB,CAAC,YAAmC,CAAC,CAAC;YAEzE,OAAO,0BAA0B,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;;YAIpE,SAAS,oBAAoB,CAAC,cAAgC;gBAC5D,IAAI,CAAC,cAAc;oBAAE,OAAO,SAAS,CAAC;;gBAEtC,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC;aACrD;YAED,SAAS,sBAAsB,CAAC,aAAmC;gBACjE,IAAI,CAAC,aAAa;oBAAE,OAAO,SAAS,CAAC;gBACrC,aAAa,CAAC,QAAQ,CAAC,UAAW,CAAC,CAAC;gBACpC,IAAI,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI;oBAClD,OAAO,UAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;iBACtG,CAAC,CAAC;;gBAEH,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;YAED,SAAS,qBAAqB,CAAC,YAAkC;gBAC/D,IAAI,CAAC,YAAY;oBAAE,OAAO,SAAS,CAAC;gBACpC,YAAY,CAAC,QAAQ,CAAC,UAAW,CAAC,CAAC;gBACnC,IAAI,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE;oBACpD,OAAO,UAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;iBACxD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC;aACb;YAED,SAAS,qBAAqB,CAAC,YAAkC;gBAC/D,IAAI,CAAC,YAAY;oBAAE,OAAO,SAAS,CAAC;;;gBAGpC,IAAI,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE;oBACpD,OAAO,UAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;iBACxD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC;aACb;YAED,SAAS,oBAAoB,CAAC,YAAiC;gBAC7D,IAAI,SAAS,GAAa,EAAE,CAAC;wCACpB,MAAM;oBACb,IAAI,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI,OAAO,KAAK,SAAS,EAAE;wBACzB,IAAI,OAAO,YAAY,KAAK,EAAE;4BAC5B,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG;gCAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;6BACxD,CAAC,CAAC;yBACJ;6BAAM;4BACL,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;yBAC5D;qBACF;;gBAVH,KAAK,IAAI,MAAM,IAAI,YAAY;4BAAtB,MAAM;iBAWd;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC5B;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;aACF;SACF;QAGH,6BAAC;IAAD,CAAC,IAAA;AAEAC,0BAAgB,CAAC,SAAiB,CAAC,eAAe,GAAG,UAAU,OAA4B;QAC1F,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC,CAAC;aAImB;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC,OAEe,UAAuC,OAA4B;QACjF,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;IACvD,CAAC,OAEgB,UAAwC,OAA4B;QACnF,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAI,OAAe,CAAC,MAAM,CAAC;QACrC,IAAI,MAAM,EAAE;YACV,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC;SACpC;QAED,IAAI,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE;YACxB,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAM;gBACxC,OAAO,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC;aAC1C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE;YAC7B,IAAI,OAAO,KAAK,aAAa,EAAE;gBAC7B,OAAO,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC;aAChE;iBAAM;gBACL,OAAO,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC;aAChE;SACF;aAAM;YACL,OAAO,QAAQ,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;SAClD;IACH,CAAC,OAEe,UAAuC,OAA4B;QACjF,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI;YACxC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;SAC5B,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC,OAEgB,UAAwC,OAA4B;QACnF,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACjB,OAAO,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACjD;QACD,IAAI,MAAM,GAAI,OAAe,CAAC,MAAM,CAAC;QACrC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACpD;aAAM;YACL,MAAM,GAAG,IAAI,CAAC;SACf;;QAED,IAAI,UAAU,GAAGC,iBAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAQ,CAAC;QACxD,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC;IACpF,CAAC,OAEQ;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAM,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACtF;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;IACH,CAAC,OAES,UAAiC,OAAiC;QAC1E,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;;QAEpC,OAAO,UAAU,GAAG,UAAU,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IACxG,CAAC,OAEO,UAA+B,OAAiC;QACtE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACtD;IApFF,IAAI,sBAAsB,GAAG;QAE3B,iBAAiB,IAEhB;QAED,cAAc,IAGb;QAED,eAAe,IAwBd;QAED,cAAc,IAMb;QAED,eAAe,IAkBd;QAED,OAAO,IAMN;QAED,QAAQ,IAIP;QAED,MAAM,IAKL;KACF,CAAC;IAEF,IAAI,YAAY,GAAG;QACjB,UAAU,EAAE,aAAa;KAC1B,CAAC;IAEF,SAAS,WAAW,CAAC,IAAS;QAC5B,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,OAAO,IAAI,EAAE,CAAC;IACvB,CAAC;AAEDH,uBAAa,CAAC,eAAe,CAAC,YAAY,EAAE,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;"}
@@ -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"]}