breeze-client 2.1.3 → 2.1.4-mjs

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/README.md +18 -5
  2. package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
  3. package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
  4. package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
  5. package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
  6. package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
  7. package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
  8. package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
  9. package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
  10. package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
  11. package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
  12. package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
  13. package/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +130 -0
  14. package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +49 -0
  15. package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
  16. package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +132 -0
  17. package/esm2020/adapter-ajax-fetch/adapter-core.mjs +49 -0
  18. package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
  19. package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +137 -0
  20. package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +49 -0
  21. package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
  22. package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +103 -0
  23. package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
  24. package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
  25. package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
  26. package/esm2020/adapter-data-service-odata/adapter-core.mjs +49 -0
  27. package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +456 -0
  28. package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
  29. package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +93 -0
  30. package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
  31. package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +268 -0
  32. package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
  33. package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +240 -0
  34. package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
  35. package/esm2020/adapter-uri-builder-json/adapter-core.mjs +49 -0
  36. package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +36 -0
  37. package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
  38. package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +49 -0
  39. package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +190 -0
  40. package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
  41. package/esm2020/breeze-client.mjs +5 -0
  42. package/esm2020/index.mjs +2 -0
  43. package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
  44. package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
  45. package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
  46. package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +400 -0
  47. package/esm2020/src/abstract-data-service-adapter.mjs +296 -0
  48. package/esm2020/src/array.mjs +4 -0
  49. package/esm2020/src/assert-param.mjs +312 -0
  50. package/esm2020/src/breeze.mjs +85 -0
  51. package/esm2020/src/complex-array.mjs +117 -0
  52. package/esm2020/src/config.mjs +223 -0
  53. package/esm2020/src/core.mjs +707 -0
  54. package/esm2020/src/csdl-metadata-parser.mjs +385 -0
  55. package/esm2020/src/data-service.mjs +203 -0
  56. package/esm2020/src/data-type.mjs +444 -0
  57. package/esm2020/src/default-property-interceptor.mjs +460 -0
  58. package/esm2020/src/entity-action.mjs +45 -0
  59. package/esm2020/src/entity-aspect.mjs +806 -0
  60. package/esm2020/src/entity-group.mjs +187 -0
  61. package/esm2020/src/entity-key.mjs +116 -0
  62. package/esm2020/src/entity-manager.mjs +2094 -0
  63. package/esm2020/src/entity-metadata.mjs +2109 -0
  64. package/esm2020/src/entity-query.mjs +996 -0
  65. package/esm2020/src/entity-state.mjs +99 -0
  66. package/esm2020/src/enum.mjs +141 -0
  67. package/esm2020/src/event.mjs +256 -0
  68. package/esm2020/src/interface-registry.mjs +41 -0
  69. package/esm2020/src/key-generator.mjs +108 -0
  70. package/esm2020/src/local-query-comparison-options.mjs +65 -0
  71. package/esm2020/src/mapping-context.mjs +405 -0
  72. package/esm2020/src/naming-convention.mjs +88 -0
  73. package/esm2020/src/observable-array.mjs +183 -0
  74. package/esm2020/src/predicate.mjs +1232 -0
  75. package/esm2020/src/primitive-array.mjs +85 -0
  76. package/esm2020/src/query-options.mjs +152 -0
  77. package/esm2020/src/relation-array.mjs +173 -0
  78. package/esm2020/src/save-options.mjs +41 -0
  79. package/esm2020/src/unattached-children-map.mjs +58 -0
  80. package/esm2020/src/validate.mjs +988 -0
  81. package/esm2020/src/validation-options.mjs +64 -0
  82. package/fesm2015/{breeze-client-adapter-ajax-angularjs.js → breeze-client-adapter-ajax-angularjs.mjs} +2 -1
  83. package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  84. package/fesm2015/{breeze-client-adapter-ajax-fetch.js → breeze-client-adapter-ajax-fetch.mjs} +6 -3
  85. package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  86. package/fesm2015/{breeze-client-adapter-ajax-httpclient.js → breeze-client-adapter-ajax-httpclient.mjs} +2 -1
  87. package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  88. package/fesm2015/{breeze-client-adapter-ajax-jquery.js → breeze-client-adapter-ajax-jquery.mjs} +3 -2
  89. package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  90. package/fesm2015/{breeze-client-adapter-ajax-post.js → breeze-client-adapter-ajax-post.mjs} +2 -1
  91. package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +1 -0
  92. package/fesm2015/{breeze-client-adapter-data-service-odata.js → breeze-client-adapter-data-service-odata.mjs} +21 -22
  93. package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  94. package/fesm2015/{breeze-client-adapter-data-service-webapi.js → breeze-client-adapter-data-service-webapi.mjs} +14 -13
  95. package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  96. package/fesm2015/{breeze-client-adapter-model-library-backing-store.js → breeze-client-adapter-model-library-backing-store.mjs} +14 -13
  97. package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  98. package/fesm2015/{breeze-client-adapter-model-library-ko.js → breeze-client-adapter-model-library-ko.mjs} +14 -13
  99. package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  100. package/fesm2015/{breeze-client-adapter-uri-builder-json.js → breeze-client-adapter-uri-builder-json.mjs} +9 -8
  101. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  102. package/fesm2015/{breeze-client-adapter-uri-builder-odata.js → breeze-client-adapter-uri-builder-odata.mjs} +86 -86
  103. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  104. package/fesm2015/{breeze-client-mixin-get-entity-graph.js → breeze-client-mixin-get-entity-graph.mjs} +2 -1
  105. package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  106. package/fesm2015/{breeze-client-mixin-save-queuing.js → breeze-client-mixin-save-queuing.mjs} +2 -1
  107. package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +1 -0
  108. package/fesm2015/{breeze-client.js → breeze-client.mjs} +409 -418
  109. package/fesm2015/breeze-client.mjs.map +1 -0
  110. package/{fesm5/breeze-client-adapter-ajax-angularjs.js → fesm2020/breeze-client-adapter-ajax-angularjs.mjs} +42 -42
  111. package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  112. package/{fesm5/breeze-client-adapter-ajax-fetch.js → fesm2020/breeze-client-adapter-ajax-fetch.mjs} +45 -43
  113. package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  114. package/{fesm5/breeze-client-adapter-ajax-httpclient.js → fesm2020/breeze-client-adapter-ajax-httpclient.mjs} +44 -44
  115. package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  116. package/{fesm5/breeze-client-adapter-ajax-jquery.js → fesm2020/breeze-client-adapter-ajax-jquery.mjs} +19 -19
  117. package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  118. package/{fesm5/breeze-client-adapter-ajax-post.js → fesm2020/breeze-client-adapter-ajax-post.mjs} +9 -11
  119. package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +1 -0
  120. package/{fesm5/breeze-client-adapter-data-service-odata.js → fesm2020/breeze-client-adapter-data-service-odata.mjs} +127 -134
  121. package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  122. package/{fesm5/breeze-client-adapter-data-service-webapi.js → fesm2020/breeze-client-adapter-data-service-webapi.mjs} +39 -42
  123. package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  124. package/{fesm5/breeze-client-adapter-model-library-backing-store.js → fesm2020/breeze-client-adapter-model-library-backing-store.mjs} +64 -64
  125. package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  126. package/{fesm5/breeze-client-adapter-model-library-ko.js → fesm2020/breeze-client-adapter-model-library-ko.mjs} +58 -58
  127. package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  128. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs +92 -0
  129. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  130. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs +246 -0
  131. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  132. package/{fesm5/breeze-client-mixin-get-entity-graph.js → fesm2020/breeze-client-mixin-get-entity-graph.mjs} +46 -45
  133. package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  134. package/{fesm5/breeze-client-mixin-save-queuing.js → fesm2020/breeze-client-mixin-save-queuing.mjs} +117 -126
  135. package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +1 -0
  136. package/{fesm5/breeze-client.js → fesm2020/breeze-client.mjs} +3396 -3612
  137. package/fesm2020/breeze-client.mjs.map +1 -0
  138. package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
  139. package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
  140. package/mjs/README.md +17 -0
  141. package/package.json +125 -11
  142. package/src/entity-metadata.d.ts +6 -4
  143. package/src/entity-query.d.ts +1 -1
  144. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  145. package/adapter-ajax-angularjs/package.json +0 -13
  146. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  147. package/adapter-ajax-fetch/package.json +0 -13
  148. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  149. package/adapter-ajax-httpclient/package.json +0 -13
  150. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  151. package/adapter-ajax-jquery/package.json +0 -13
  152. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  153. package/adapter-ajax-post/package.json +0 -13
  154. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  155. package/adapter-data-service-odata/package.json +0 -13
  156. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  157. package/adapter-data-service-webapi/package.json +0 -13
  158. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  159. package/adapter-model-library-backing-store/package.json +0 -13
  160. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  161. package/adapter-model-library-ko/package.json +0 -13
  162. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  163. package/adapter-uri-builder-json/package.json +0 -13
  164. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  165. package/adapter-uri-builder-odata/package.json +0 -13
  166. package/breeze-client.d.ts +0 -8
  167. package/breeze-client.metadata.json +0 -1
  168. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  169. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  170. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  171. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  172. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  173. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  174. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  175. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  176. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  177. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  178. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  179. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  180. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  181. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  182. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  183. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  184. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  185. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  186. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  187. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  188. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -743
  189. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  190. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  191. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  192. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -326
  193. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  194. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  195. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  196. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  197. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  198. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  199. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  200. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  201. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  202. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  203. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  204. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  205. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  206. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  207. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  208. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  209. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  210. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  211. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  212. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  213. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  214. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  215. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  216. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
  217. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  218. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  219. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  220. package/bundles/breeze-client.umd.js +0 -14098
  221. package/bundles/breeze-client.umd.js.map +0 -1
  222. package/bundles/breeze-client.umd.min.js +0 -16
  223. package/bundles/breeze-client.umd.min.js.map +0 -1
  224. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  225. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  226. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  227. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  228. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  229. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  230. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  231. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  232. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  233. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  234. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  235. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  236. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  237. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  238. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -459
  239. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  240. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -93
  241. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  242. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  243. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  244. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  245. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  246. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  247. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  248. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  249. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  250. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  251. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  252. package/esm2015/breeze-client.js +0 -9
  253. package/esm2015/index.js +0 -2
  254. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  255. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  256. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  257. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  258. package/esm2015/src/abstract-data-service-adapter.js +0 -296
  259. package/esm2015/src/array.js +0 -4
  260. package/esm2015/src/assert-param.js +0 -312
  261. package/esm2015/src/breeze.js +0 -85
  262. package/esm2015/src/complex-array.js +0 -119
  263. package/esm2015/src/config.js +0 -223
  264. package/esm2015/src/core.js +0 -709
  265. package/esm2015/src/csdl-metadata-parser.js +0 -385
  266. package/esm2015/src/data-service.js +0 -203
  267. package/esm2015/src/data-type.js +0 -444
  268. package/esm2015/src/default-property-interceptor.js +0 -460
  269. package/esm2015/src/entity-action.js +0 -45
  270. package/esm2015/src/entity-aspect.js +0 -806
  271. package/esm2015/src/entity-group.js +0 -187
  272. package/esm2015/src/entity-key.js +0 -116
  273. package/esm2015/src/entity-manager.js +0 -2094
  274. package/esm2015/src/entity-metadata.js +0 -2109
  275. package/esm2015/src/entity-query.js +0 -996
  276. package/esm2015/src/entity-state.js +0 -99
  277. package/esm2015/src/enum.js +0 -141
  278. package/esm2015/src/event.js +0 -256
  279. package/esm2015/src/interface-registry.js +0 -41
  280. package/esm2015/src/key-generator.js +0 -108
  281. package/esm2015/src/local-query-comparison-options.js +0 -65
  282. package/esm2015/src/mapping-context.js +0 -405
  283. package/esm2015/src/naming-convention.js +0 -88
  284. package/esm2015/src/observable-array.js +0 -185
  285. package/esm2015/src/predicate.js +0 -1235
  286. package/esm2015/src/primitive-array.js +0 -87
  287. package/esm2015/src/query-options.js +0 -152
  288. package/esm2015/src/relation-array.js +0 -175
  289. package/esm2015/src/save-options.js +0 -41
  290. package/esm2015/src/unattached-children-map.js +0 -58
  291. package/esm2015/src/validate.js +0 -991
  292. package/esm2015/src/validation-options.js +0 -64
  293. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  294. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  295. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  296. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  297. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  298. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  299. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  300. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  301. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  302. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  303. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  304. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  305. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  306. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  307. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +0 -466
  308. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  309. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -98
  310. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  311. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  312. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  313. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  314. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  315. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  316. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  317. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  318. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  319. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  320. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  321. package/esm5/breeze-client.js +0 -9
  322. package/esm5/index.js +0 -2
  323. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  324. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  325. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  326. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
  327. package/esm5/src/abstract-data-service-adapter.js +0 -302
  328. package/esm5/src/array.js +0 -4
  329. package/esm5/src/assert-param.js +0 -317
  330. package/esm5/src/breeze.js +0 -85
  331. package/esm5/src/complex-array.js +0 -119
  332. package/esm5/src/config.js +0 -228
  333. package/esm5/src/core.js +0 -717
  334. package/esm5/src/csdl-metadata-parser.js +0 -385
  335. package/esm5/src/data-service.js +0 -207
  336. package/esm5/src/data-type.js +0 -451
  337. package/esm5/src/default-property-interceptor.js +0 -460
  338. package/esm5/src/entity-action.js +0 -52
  339. package/esm5/src/entity-aspect.js +0 -812
  340. package/esm5/src/entity-group.js +0 -189
  341. package/esm5/src/entity-key.js +0 -118
  342. package/esm5/src/entity-manager.js +0 -2112
  343. package/esm5/src/entity-metadata.js +0 -2144
  344. package/esm5/src/entity-query.js +0 -1023
  345. package/esm5/src/entity-state.js +0 -106
  346. package/esm5/src/enum.js +0 -144
  347. package/esm5/src/event.js +0 -259
  348. package/esm5/src/interface-registry.js +0 -43
  349. package/esm5/src/key-generator.js +0 -111
  350. package/esm5/src/local-query-comparison-options.js +0 -67
  351. package/esm5/src/mapping-context.js +0 -407
  352. package/esm5/src/naming-convention.js +0 -90
  353. package/esm5/src/observable-array.js +0 -201
  354. package/esm5/src/predicate.js +0 -1300
  355. package/esm5/src/primitive-array.js +0 -87
  356. package/esm5/src/query-options.js +0 -167
  357. package/esm5/src/relation-array.js +0 -175
  358. package/esm5/src/save-options.js +0 -43
  359. package/esm5/src/unattached-children-map.js +0 -60
  360. package/esm5/src/validate.js +0 -996
  361. package/esm5/src/validation-options.js +0 -66
  362. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  363. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  364. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  365. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  366. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  367. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  368. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  369. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  370. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  371. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  372. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  373. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  374. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  375. package/fesm2015/breeze-client.js.map +0 -1
  376. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  377. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  378. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  379. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  380. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  381. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  382. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  383. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  384. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  385. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  386. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  387. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  388. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  389. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  390. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  391. package/fesm5/breeze-client.js.map +0 -1
  392. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  393. package/mixin-get-entity-graph/package.json +0 -13
  394. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  395. package/mixin-save-queuing/package.json +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-data-service-odata.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://breeze-client/adapter-data-service-odata/adapter-core.ts","ng://breeze-client/adapter-data-service-odata/adapter-data-service-odata.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\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","import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nlet core = breeze.core;\r\n\r\ndeclare var window: any;\r\ndeclare var document: any;\r\ndeclare var url: any; // needed to access node's url.parse\r\ndeclare var OData: any;\r\n\r\ninterface ODataSaveContext extends breeze.SaveContext {\r\n tempKeys: breeze.EntityKey[];\r\n contentKeys: breeze.Entity[];\r\n}\r\n\r\n/** @hidden */\r\nexport class DataServiceODataAdapter extends breeze.AbstractDataServiceAdapter {\r\n name: string;\r\n relativeUrl: boolean | ((ds: breeze.DataService, url: string) => string);\r\n // _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;\r\n // changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;\r\n // _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;\r\n headers = { \"DataServiceVersion\": \"2.0\" };\r\n\r\n constructor() {\r\n super();\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(\"dataService\", DataServiceODataAdapter);\r\n return config.initializeAdapterInstance(\"dataService\", \"OData\", true) as DataServiceODataAdapter;\r\n }\r\n\r\n initialize() {\r\n OData = core.requireLib(\"OData\", \"Needed to support remote OData services\");\r\n OData.jsonHandler.recognizeDates = true;\r\n }\r\n\r\n\r\n // Absolute URL is the default as of Breeze 1.5.5. \r\n // To use relative URL (like pre-1.5.5), add adapterInstance.relativeUrl = true:\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = true; \r\n //\r\n // To use custom url construction, add adapterInstance.relativeUrl = myfunction(dataService, url):\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = function(dataService, url) {\r\n // return somehowConvert(url);\r\n // }\r\n //\r\n\r\n fetchMetadata(metadataStore: breeze.MetadataStore, dataService: breeze.DataService) {\r\n let serviceName = dataService.serviceName;\r\n\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = dataService.qualifyUrl('$metadata');\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(dataService, '$metadata');\r\n } else {\r\n url = this.getAbsoluteUrl(dataService, '$metadata');\r\n }\r\n\r\n let mheaders = core.extend({}, this.headers);\r\n (mheaders as any).Accept = 'application/*; odata.metadata=full';\r\n\r\n let promise = new Promise((resolve, reject) => {\r\n // OData.read(url,\r\n OData.read({\r\n requestUri: url,\r\n // headers: { \"Accept\": \"application/json\"}\r\n headers: mheaders\r\n },\r\n function (data: any) {\r\n // data.dataServices.schema is an array of schemas. with properties of\r\n // entityContainer[], association[], entityType[], and namespace.\r\n if (!data || !data.dataServices) {\r\n let error = new Error(\"Metadata query failed for: \" + url);\r\n return reject(error);\r\n }\r\n let csdlMetadata = data.dataServices;\r\n\r\n // might have been fetched by another query\r\n if (!metadataStore.hasMetadataFor(serviceName)) {\r\n try {\r\n metadataStore.importMetadata(csdlMetadata);\r\n } catch (e) {\r\n return reject(new Error(\"Metadata query failed for \" + url + \"; Unable to process returned metadata: \" + e.message));\r\n }\r\n\r\n metadataStore.addDataService(dataService);\r\n }\r\n\r\n return resolve(csdlMetadata);\r\n\r\n }, function (error: any) {\r\n let err = createError(error, url);\r\n err.message = \"Metadata query failed for: \" + url + \"; \" + (err.message || \"\");\r\n return reject(err);\r\n },\r\n OData.metadataHandler\r\n );\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n\r\n\r\n executeQuery(mappingContext: breeze.MappingContext) {\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = mappingContext.getUrl();\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(mappingContext.dataService, mappingContext.getUrl());\r\n } else {\r\n url = this.getAbsoluteUrl(mappingContext.dataService, mappingContext.getUrl());\r\n }\r\n\r\n // Add query params if .withParameters was used\r\n let query = mappingContext.query as breeze.EntityQuery;\r\n if (!core.isEmpty(query.parameters)) {\r\n let paramString = toQueryString(query.parameters);\r\n url = appendQueryStringParameter(url, paramString);\r\n }\r\n\r\n let promise = new Promise<breeze.QueryResult>((resolve, reject) => {\r\n OData.read({\r\n requestUri: url,\r\n headers: core.extend({}, this.headers)\r\n },\r\n function (data: any, response: any) {\r\n let inlineCount: any;\r\n if (data.__count) {\r\n // OData can return data.__count as a string\r\n inlineCount = parseInt(data.__count, 10);\r\n }\r\n // Odata returns different result structure when it returns multiple entities (data.results) vs single entity (data directly).\r\n // @see http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingCollectionsOfEntries\r\n // and http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingEntries\r\n let results: any;\r\n if (data.results) {\r\n results = data.results;\r\n } else {\r\n results = data;\r\n }\r\n return resolve({ results: results, inlineCount: inlineCount, httpResponse: response, query: query });\r\n },\r\n function (error: any) {\r\n return reject(createError(error, url));\r\n }\r\n );\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n saveChanges(odataSaveContext: breeze.SaveContext, saveBundle: breeze.SaveBundle): Promise<breeze.SaveResult> {\r\n let adapter = odataSaveContext.adapter = this;\r\n let saveContext = odataSaveContext as ODataSaveContext;\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n saveContext.routePrefix = adapter.getRoutePrefix(saveContext.dataService);\r\n url = saveContext.dataService.qualifyUrl(\"$batch\");\r\n } else if (core.isFunction(adapter.relativeUrl)) {\r\n saveContext.routePrefix = (adapter.relativeUrl as Function)(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n } else {\r\n saveContext.routePrefix = adapter.getAbsoluteUrl(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n }\r\n\r\n let requestData = createChangeRequests(saveContext, saveBundle);\r\n let tempKeys = saveContext.tempKeys;\r\n let contentKeys = saveContext.contentKeys;\r\n let promise = new Promise<breeze.SaveResult>((resolve, reject) => {\r\n OData.request({\r\n headers: core.extend({}, this.headers),\r\n requestUri: url,\r\n method: \"POST\",\r\n data: requestData\r\n }, function (data: any, response: any) {\r\n let entities: any[] = [];\r\n let keyMappings: breeze.KeyMapping[] = [];\r\n let saveResult: breeze.SaveResult = { entities: entities, keyMappings: keyMappings };\r\n data.__batchResponses.forEach(function (br: any) {\r\n br.__changeResponses.forEach(function (cr: any) {\r\n let response = cr.response || cr;\r\n let statusCode = response.statusCode;\r\n if ((!statusCode) || statusCode >= 400) {\r\n reject(createError(cr, url));\r\n return;\r\n }\r\n\r\n let contentId = cr.headers[\"Content-ID\"];\r\n // Olingo sends different case of 'ID' for the header name.\r\n if (!contentId) {\r\n contentId = cr.headers[\"Content-Id\"];\r\n }\r\n\r\n let rawEntity = cr.data;\r\n if (rawEntity) {\r\n let tempKey = tempKeys[contentId];\r\n if (tempKey) {\r\n let entityType = tempKey.entityType;\r\n if (entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {\r\n let tempValue = tempKey.values[0];\r\n let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, breeze.DataProperty.getRawValueFromServer);\r\n let keyMapping = { entityTypeName: entityType.name, tempValue: tempValue, realValue: realKey.values[0] };\r\n keyMappings.push(keyMapping);\r\n }\r\n }\r\n entities.push(rawEntity);\r\n } else {\r\n let origEntity = contentKeys[contentId];\r\n entities.push(origEntity);\r\n }\r\n });\r\n });\r\n return resolve(saveResult);\r\n }, function (err: any) {\r\n return reject(createError(err, url));\r\n }, OData.batchHandler);\r\n });\r\n return promise;\r\n\r\n }\r\n\r\n jsonResultsAdapter: breeze.JsonResultsAdapter = new breeze.JsonResultsAdapter({\r\n name: \"OData_default\",\r\n\r\n visitNode: function (node: any, mappingContext: breeze.MappingContext, nodeContext: breeze.NodeContext) {\r\n let result: any = {};\r\n if (node == null) return result;\r\n let metadata = node.__metadata;\r\n if (metadata != null) {\r\n // TODO: may be able to make this more efficient by caching of the previous value.\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(metadata.type);\r\n let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);\r\n // OData response doesn't distinguish a projection from a whole entity.\r\n // We'll assume that whole-entity data would have at least as many properties (<=)\r\n // as the EntityType has mapped properties on the basis that\r\n // most projections remove properties rather than add them.\r\n // If not, assume it's a projection and do NOT treat as an entity\r\n if (et && et._mappedPropertiesCount <= Object.keys(node).length - 1) {\r\n // if (et && et._mappedPropertiesCount === Object.keys(node).length - 1) { // OLD\r\n result.entityType = et;\r\n let uriKey = metadata.uri || metadata.id;\r\n if (uriKey) {\r\n // Strip baseUri to make uriKey a relative uri\r\n // Todo: why is this necessary when absolute works for every OData source tested?\r\n let re = new RegExp('^' + mappingContext.dataService.serviceName, 'i');\r\n uriKey = uriKey.replace(re, '');\r\n }\r\n result.extraMetadata = {\r\n uriKey: uriKey,\r\n etag: metadata.etag\r\n };\r\n }\r\n }\r\n // OData v3 - projection arrays will be enclosed in a results array\r\n if (node.results) {\r\n result.node = node.results;\r\n }\r\n\r\n let propertyName = nodeContext.propertyName;\r\n result.ignore = node.__deferred != null || propertyName === \"__metadata\" ||\r\n // EntityKey properties can be produced by EDMX models\r\n (propertyName === \"EntityKey\" && node.$type && core.stringStartsWith(node.$type, \"System.Data\"));\r\n return result;\r\n }\r\n\r\n });\r\n\r\n getAbsoluteUrl(dataService: breeze.DataService, url: string) {\r\n let serviceName = dataService.qualifyUrl('');\r\n // only prefix with serviceName if not already on the url\r\n let base = (core.stringStartsWith(url, serviceName)) ? '' : serviceName;\r\n // If no protocol, turn base into an absolute URI\r\n if (window && serviceName.indexOf('//') < 0) {\r\n // no protocol; make it absolute\r\n base = window.location.protocol + '//' + window.location.host +\r\n (core.stringStartsWith(serviceName, '/') ? '' : '/') +\r\n base;\r\n }\r\n return base + url;\r\n }\r\n\r\n getRoutePrefix(dataService: breeze.DataService) {\r\n // Get the routePrefix from a Web API OData service name.\r\n // The routePrefix is presumed to be the pathname within the dataService.serviceName\r\n // Examples of servicename -> routePrefix:\r\n // 'http://localhost:55802/odata/' -> 'odata/'\r\n // 'http://198.154.121.75/service/odata/' -> 'service/odata/'\r\n let parser: any;\r\n if (typeof document === 'object') { // browser\r\n parser = document.createElement('a');\r\n parser.href = dataService.serviceName;\r\n } else { // node\r\n // TODO: how to best handle this\r\n // assumes existence of node's url.parse method.\r\n parser = url.parse(dataService.serviceName);\r\n }\r\n let prefix = parser.pathname;\r\n if (prefix[0] === '/') {\r\n prefix = prefix.substr(1);\r\n } // drop leading '/' (all but IE)\r\n if (prefix.substr(-1) !== '/') {\r\n prefix += '/';\r\n } // ensure trailing '/'\r\n return prefix;\r\n }\r\n\r\n}\r\n\r\n// crude serializer. Doesn't recurse\r\nfunction toQueryString(obj: Object) {\r\n let parts: string[] = [];\r\n for (let i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n parts.push(encodeURIComponent(i) + \"=\" + encodeURIComponent(obj[i]));\r\n }\r\n }\r\n return parts.join(\"&\");\r\n}\r\n\r\nfunction transformValue(prop: breeze.DataProperty, val: any) {\r\n if (prop.isUnmapped) return undefined;\r\n if (prop.dataType === breeze.DataType.DateTimeOffset) {\r\n // The datajs lib tries to treat client dateTimes that are defined as DateTimeOffset on the server differently\r\n // from other dateTimes. This fix compensates before the save.\r\n val = val && new Date(val.getTime() - (val.getTimezoneOffset() * 60000));\r\n } else if ((prop.dataType as breeze.DataType).quoteJsonOData) {\r\n val = val != null ? val.toString() : val;\r\n }\r\n return val;\r\n}\r\n\r\nfunction createChangeRequests(saveContext: ODataSaveContext, saveBundle: breeze.SaveBundle) {\r\n let changeRequestInterceptor = (saveContext.adapter as DataServiceODataAdapter)._createChangeRequestInterceptor(saveContext, saveBundle);\r\n let changeRequests: any[] = [];\r\n let tempKeys: breeze.EntityKey[] = [];\r\n let contentKeys: breeze.Entity[] = [];\r\n let entityManager = saveContext.entityManager;\r\n let helper = entityManager.helper;\r\n let id = 0;\r\n let routePrefix = saveContext.routePrefix;\r\n\r\n saveBundle.entities.forEach(function (entity, index) {\r\n let aspect = entity.entityAspect;\r\n id = id + 1; // we are deliberately skipping id=0 because Content-ID = 0 seems to be ignored.\r\n let request = { headers: { \"Content-ID\": id, \"DataServiceVersion\": \"2.0\" } } as any;\r\n contentKeys[id] = entity;\r\n if (aspect.entityState.isAdded()) {\r\n request.requestUri = routePrefix + entity.entityType.defaultResourceName;\r\n request.method = \"POST\";\r\n request.data = helper.unwrapInstance(entity, transformValue);\r\n tempKeys[id] = aspect.getKey();\r\n } else if (aspect.entityState.isModified()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"MERGE\";\r\n request.data = helper.unwrapChangedValues(entity, entityManager.metadataStore, transformValue);\r\n // should be a PATCH/MERGE\r\n } else if (aspect.entityState.isDeleted()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"DELETE\";\r\n } else {\r\n return;\r\n }\r\n request = changeRequestInterceptor.getRequest(request, entity, index);\r\n changeRequests.push(request);\r\n });\r\n saveContext.contentKeys = contentKeys;\r\n saveContext.tempKeys = tempKeys;\r\n changeRequestInterceptor.done(changeRequests);\r\n return {\r\n __batchRequests: [\r\n {\r\n __changeRequests: changeRequests\r\n }\r\n ]\r\n };\r\n\r\n}\r\n\r\nfunction updateDeleteMergeRequest(request: any, aspect: breeze.EntityAspect, routePrefix: string) {\r\n let uriKey: string;\r\n let extraMetadata = aspect.extraMetadata;\r\n if (extraMetadata == null) {\r\n uriKey = getUriKey(aspect);\r\n aspect.extraMetadata = {\r\n uriKey: uriKey\r\n };\r\n } else {\r\n uriKey = extraMetadata.uriKey;\r\n if (extraMetadata.etag) {\r\n request.headers[\"If-Match\"] = extraMetadata.etag;\r\n }\r\n }\r\n request.requestUri =\r\n // use routePrefix if uriKey lacks protocol (i.e., relative uri)\r\n uriKey.indexOf('//') > 0 ? uriKey : routePrefix + uriKey;\r\n}\r\n\r\nfunction getUriKey(aspect: breeze.EntityAspect) {\r\n let entityType = aspect.entity!.entityType;\r\n let resourceName = entityType.defaultResourceName;\r\n let kps = entityType.keyProperties;\r\n let uriKey = resourceName + \"(\";\r\n if (kps.length === 1) {\r\n uriKey = uriKey + fmtProperty(kps[0], aspect) + \")\";\r\n } else {\r\n let delim = \"\";\r\n kps.forEach(function (kp) {\r\n uriKey = uriKey + delim + kp.nameOnServer + \"=\" + fmtProperty(kp, aspect);\r\n delim = \",\";\r\n });\r\n uriKey = uriKey + \")\";\r\n }\r\n return uriKey;\r\n}\r\n\r\nfunction fmtProperty(prop: breeze.DataProperty, aspect: breeze.EntityAspect) {\r\n return (prop.dataType as breeze.DataType).fmtOData!(aspect.getPropertyValue(prop.name));\r\n}\r\n\r\nfunction createError(error: any, url: string) {\r\n // OData errors can have the message buried very deeply - and nonobviously\r\n // this code is tricky so be careful changing the response.body parsing.\r\n let result = new Error() as breeze.ServerError;\r\n let response = error && error.response;\r\n if (!response) {\r\n // in case DataJS returns \"No handler for this data\"\r\n result.message = error;\r\n result.statusText = error;\r\n return result;\r\n }\r\n result.message = response.statusText;\r\n result.statusText = response.statusText;\r\n result.status = response.statusCode;\r\n // non std\r\n if (url) result.url = url;\r\n result.body = response.body;\r\n if (response.body) {\r\n let nextErr: any;\r\n try {\r\n let body = JSON.parse(response.body);\r\n result.body = body;\r\n // OData v3 logic\r\n if (body['odata.error']) {\r\n body = body['odata.error'];\r\n }\r\n let msg = \"\";\r\n do {\r\n nextErr = body.error || body.innererror;\r\n if (!nextErr) msg = msg + getMessage(body);\r\n nextErr = nextErr || body.internalexception;\r\n body = nextErr || body;\r\n } while (nextErr);\r\n if (msg.length > 0) {\r\n result.message = msg;\r\n }\r\n } catch (e) {\r\n\r\n }\r\n }\r\n breeze.AbstractDataServiceAdapter._catchNoConnectionError(result);\r\n return result;\r\n}\r\n\r\nfunction getMessage(body: any) {\r\n let msg = body.message || \"\";\r\n return ((typeof (msg) === \"string\") ? msg : msg.value) + \"; \";\r\n}\r\n\r\nbreeze.config.registerAdapter(\"dataService\", DataServiceODataAdapter);\r\n\r\n\r\nlet webApiODataCtor = function () {\r\n this.name = \"webApiOData\";\r\n};\r\n\r\nbreeze.core.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);\r\n\r\nbreeze.config.registerAdapter(\"dataService\", webApiODataCtor as any);\r\n// OData 4 adapter\r\nlet webApiOData4Ctor = function () {\r\n this.name = \"webApiOData4\";\r\n};\r\nbreeze.core.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);\r\nwebApiOData4Ctor.prototype.initialize = function () {\r\n // Aargh... they moved the cheese.\r\n let datajs = core.requireLib(\"datajs\", \"Needed to support remote OData v4 services\");\r\n OData = datajs.V4.oData;\r\n OData.json.jsonHandler.recognizeDates = true;\r\n};\r\nwebApiOData4Ctor.prototype.headers = { \"OData-Version\": \"4.0\" };\r\nbreeze.config.registerAdapter(\"dataService\", webApiOData4Ctor as any);\r\n\r\n\r\n\r\n\r\n"],"names":["breeze.core","breeze.JsonResultsAdapter","breeze.MetadataStore","config","breeze.config","breeze.AutoGeneratedKeyType","breeze.DataProperty","breeze.AbstractDataServiceAdapter","breeze.DataType"],"mappings":"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"}
@@ -1,16 +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-data-service-odata",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-data-service-odata"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var a=t.core,n=function(e){function n(){var r=e.call(this)||this;return r.headers={DataServiceVersion:"2.0"},r.jsonResultsAdapter=new t.JsonResultsAdapter({name:"OData_default",visitNode:function(e,r,n){var i={};if(null==e)return i;var o=e.__metadata;if(null!=o){var s=t.MetadataStore.normalizeTypeName(o.type),u=s&&r.entityManager.metadataStore.getEntityType(s,!0);if(u&&u._mappedPropertiesCount<=Object.keys(e).length-1){i.entityType=u;var c=o.uri||o.id;if(c){var d=new RegExp("^"+r.dataService.serviceName,"i");c=c.replace(d,"")}i.extraMetadata={uriKey:c,etag:o.etag}}}e.results&&(i.node=e.results);var p=n.propertyName;return i.ignore=null!=e.__deferred||"__metadata"===p||"EntityKey"===p&&e.$type&&a.stringStartsWith(e.$type,"System.Data"),i}}),r.name="OData",r}return function(e,t){function a(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}(n,e),n.register=function(e){return(e=e||t.config).registerAdapter("dataService",n),e.initializeAdapterInstance("dataService","OData",!0)},n.prototype.initialize=function(){OData=a.requireLib("OData","Needed to support remote OData services"),OData.jsonHandler.recognizeDates=!0},n.prototype.fetchMetadata=function(e,t){var r,n=t.serviceName;r=!0===this.relativeUrl?t.qualifyUrl("$metadata"):a.isFunction(this.relativeUrl)?this.relativeUrl(t,"$metadata"):this.getAbsoluteUrl(t,"$metadata");var i=a.extend({},this.headers);return i.Accept="application/*; odata.metadata=full",new Promise((function(a,o){OData.read({requestUri:r,headers:i},(function(i){if(!i||!i.dataServices){var s=new Error("Metadata query failed for: "+r);return o(s)}var u=i.dataServices;if(!e.hasMetadataFor(n)){try{e.importMetadata(u)}catch(e){return o(new Error("Metadata query failed for "+r+"; Unable to process returned metadata: "+e.message))}e.addDataService(t)}return a(u)}),(function(e){var t=u(e,r);return t.message="Metadata query failed for: "+r+"; "+(t.message||""),o(t)}),OData.metadataHandler)}))},n.prototype.executeQuery=function(e){var t,r=this;t=!0===this.relativeUrl?e.getUrl():a.isFunction(this.relativeUrl)?this.relativeUrl(e.dataService,e.getUrl()):this.getAbsoluteUrl(e.dataService,e.getUrl());var n=e.query;if(!a.isEmpty(n.parameters)){var i=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t.join("&")}(n.parameters);t=function(e,t){if(!t)return e;var r=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+r+t}(t,i)}return new Promise((function(e,i){OData.read({requestUri:t,headers:a.extend({},r.headers)},(function(t,r){var a,i;return t.__count&&(a=parseInt(t.__count,10)),i=t.results?t.results:t,e({results:i,inlineCount:a,httpResponse:r,query:n})}),(function(e){return i(u(e,t))}))}))},n.prototype.saveChanges=function(e,r){var n,s=this,c=e.adapter=this,d=e;!0===this.relativeUrl?(d.routePrefix=c.getRoutePrefix(d.dataService),n=d.dataService.qualifyUrl("$batch")):a.isFunction(c.relativeUrl)?(d.routePrefix=c.relativeUrl(d.dataService,""),n=d.routePrefix+"$batch"):(d.routePrefix=c.getAbsoluteUrl(d.dataService,""),n=d.routePrefix+"$batch");var p=function(e,t){var r=e.adapter._createChangeRequestInterceptor(e,t),a=[],n=[],s=[],u=e.entityManager,c=u.helper,d=0,p=e.routePrefix;return t.entities.forEach((function(e,t){var f=e.entityAspect,l={headers:{"Content-ID":d+=1,DataServiceVersion:"2.0"}};if(s[d]=e,f.entityState.isAdded())l.requestUri=p+e.entityType.defaultResourceName,l.method="POST",l.data=c.unwrapInstance(e,i),n[d]=f.getKey();else if(f.entityState.isModified())o(l,f,p),l.method="MERGE",l.data=c.unwrapChangedValues(e,u.metadataStore,i);else{if(!f.entityState.isDeleted())return;o(l,f,p),l.method="DELETE"}l=r.getRequest(l,e,t),a.push(l)})),e.contentKeys=s,e.tempKeys=n,r.done(a),{__batchRequests:[{__changeRequests:a}]}}(d,r),f=d.tempKeys,l=d.contentKeys;return new Promise((function(e,r){OData.request({headers:a.extend({},s.headers),requestUri:n,method:"POST",data:p},(function(a,i){var o=[],s=[],c={entities:o,keyMappings:s};return a.__batchResponses.forEach((function(e){e.__changeResponses.forEach((function(e){var a=(e.response||e).statusCode;if(!a||a>=400)r(u(e,n));else{var i=e.headers["Content-ID"];i||(i=e.headers["Content-Id"]);var c=e.data;if(c){var d=f[i];if(d){var p=d.entityType;if(p.autoGeneratedKeyType!==t.AutoGeneratedKeyType.None){var v=d.values[0],y=p.getEntityKeyFromRawEntity(c,t.DataProperty.getRawValueFromServer),h={entityTypeName:p.name,tempValue:v,realValue:y.values[0]};s.push(h)}}o.push(c)}else{var m=l[i];o.push(m)}}}))})),e(c)}),(function(e){return r(u(e,n))}),OData.batchHandler)}))},n.prototype.getAbsoluteUrl=function(e,t){var r=e.qualifyUrl(""),n=a.stringStartsWith(t,r)?"":r;return window&&r.indexOf("//")<0&&(n=window.location.protocol+"//"+window.location.host+(a.stringStartsWith(r,"/")?"":"/")+n),n+t},n.prototype.getRoutePrefix=function(e){var t;"object"==typeof document?(t=document.createElement("a")).href=e.serviceName:t=url.parse(e.serviceName);var r=t.pathname;return"/"===r[0]&&(r=r.substr(1)),"/"!==r.substr(-1)&&(r+="/"),r},n}(t.AbstractDataServiceAdapter);function i(e,r){if(!e.isUnmapped)return e.dataType===t.DataType.DateTimeOffset?r=r&&new Date(r.getTime()-6e4*r.getTimezoneOffset()):e.dataType.quoteJsonOData&&(r=null!=r?r.toString():r),r}function o(e,t,r){var a,n=t.extraMetadata;null==n?(a=function(e){var t=e.entity.entityType,r=t.defaultResourceName,a=t.keyProperties,n=r+"(";if(1===a.length)n=n+s(a[0],e)+")";else{var i="";a.forEach((function(t){n=n+i+t.nameOnServer+"="+s(t,e),i=","})),n+=")"}return n}(t),t.extraMetadata={uriKey:a}):(a=n.uriKey,n.etag&&(e.headers["If-Match"]=n.etag)),e.requestUri=a.indexOf("//")>0?a:r+a}function s(e,t){return e.dataType.fmtOData(t.getPropertyValue(e.name))}function u(e,r){var a=new Error,n=e&&e.response;if(!n)return a.message=e,a.statusText=e,a;if(a.message=n.statusText,a.statusText=n.statusText,a.status=n.statusCode,r&&(a.url=r),a.body=n.body,n.body){var i=void 0;try{var o=JSON.parse(n.body);a.body=o,o["odata.error"]&&(o=o["odata.error"]);var s="";do{(i=o.error||o.innererror)||(s+=c(o)),o=(i=i||o.internalexception)||o}while(i);s.length>0&&(a.message=s)}catch(e){}}return t.AbstractDataServiceAdapter._catchNoConnectionError(a),a}function c(e){var t=e.message||"";return("string"==typeof t?t:t.value)+"; "}t.config.registerAdapter("dataService",n);var d=function(){this.name="webApiOData"},p=d;t.core.extend(d.prototype,n.prototype),t.config.registerAdapter("dataService",d);var f=function(){this.name="webApiOData4"},l=f;t.core.extend(f.prototype,d.prototype),f.prototype.initialize=function(){var e=a.requireLib("datajs","Needed to support remote OData v4 services");OData=e.V4.oData,OData.json.jsonHandler.recognizeDates=!0},f.prototype.headers={"OData-Version":"4.0"},t.config.registerAdapter("dataService",f),e.DataServiceODataAdapter=n,e.ɵ0=p,e.ɵ1=l,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=breeze-client-adapter-data-service-odata.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","ng://breeze-client/adapter-data-service-odata/adapter-data-service-odata.ts","ng://breeze-client/adapter-data-service-odata/adapter-core.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","core","breeze.core","DataServiceODataAdapter","_this","_super","call","this","headers","DataServiceVersion","jsonResultsAdapter","breeze.JsonResultsAdapter","name","visitNode","node","mappingContext","nodeContext","result","metadata","__metadata","entityTypeName","breeze.MetadataStore","normalizeTypeName","type","et","entityManager","metadataStore","getEntityType","_mappedPropertiesCount","keys","length","entityType","uriKey","uri","id","re","RegExp","dataService","serviceName","replace","extraMetadata","etag","results","propertyName","ignore","__deferred","$type","stringStartsWith","__","constructor","prototype","create","__extends","register","config","breeze.config","registerAdapter","initializeAdapterInstance","initialize","OData","requireLib","jsonHandler","recognizeDates","fetchMetadata","url","relativeUrl","qualifyUrl","isFunction","getAbsoluteUrl","mheaders","extend","Accept","Promise","resolve","reject","read","requestUri","data","dataServices","error","Error","csdlMetadata","hasMetadataFor","importMetadata","e","message","addDataService","err","createError","metadataHandler","executeQuery","getUrl","query","isEmpty","parameters","paramString","obj","parts","i","push","encodeURIComponent","join","toQueryString","parameter","separator","endsWith","includes","appendQueryStringParameter","response","inlineCount","__count","parseInt","httpResponse","saveChanges","odataSaveContext","saveBundle","adapter","saveContext","routePrefix","getRoutePrefix","requestData","changeRequestInterceptor","_createChangeRequestInterceptor","changeRequests","tempKeys","contentKeys","helper","entities","forEach","entity","index","aspect","entityAspect","request","Content-ID","entityState","isAdded","defaultResourceName","method","unwrapInstance","transformValue","getKey","isModified","updateDeleteMergeRequest","unwrapChangedValues","isDeleted","getRequest","done","__batchRequests","__changeRequests","createChangeRequests","keyMappings","saveResult","__batchResponses","br","__changeResponses","cr","statusCode","contentId","rawEntity","tempKey","autoGeneratedKeyType","breeze.AutoGeneratedKeyType","None","tempValue","values","realKey","getEntityKeyFromRawEntity","breeze.DataProperty","getRawValueFromServer","keyMapping","realValue","origEntity","batchHandler","base","window","indexOf","location","protocol","host","parser","document","createElement","href","parse","prefix","pathname","substr","breeze.AbstractDataServiceAdapter","prop","val","isUnmapped","dataType","breeze.DataType","DateTimeOffset","Date","getTime","getTimezoneOffset","quoteJsonOData","toString","resourceName","kps","keyProperties","fmtProperty","delim_1","kp","nameOnServer","getUriKey","fmtOData","getPropertyValue","statusText","status","body","nextErr","JSON","msg","innererror","getMessage","internalexception","_catchNoConnectionError","value","webApiODataCtor","webApiOData4Ctor","datajs","V4","oData","json","OData-Version"],"mappings":";;;;;;;;;;;;;;oFAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,ICjB5B,IAAIO,EAAOC,EAAAA,mBAqBT,SAAAC,IAAA,IAAAC,EACEC,EAAAC,KAAAC,OAAOA,YAHTH,EAAAI,QAAU,CAAEC,mBAAsB,OAkNlCL,EAAAM,mBAAgD,IAAIC,EAAAA,mBAA0B,CAC5EC,KAAM,gBAENC,UAAW,SAAUC,EAAWC,EAAuCC,GACrE,IAAIC,EAAc,GAClB,GAAY,MAARH,EAAc,OAAOG,EACzB,IAAIC,EAAWJ,EAAKK,WACpB,GAAgB,MAAZD,EAAkB,CAEpB,IAAIE,EAAiBC,EAAAA,cAAqBC,kBAAkBJ,EAASK,MACjEC,EAAKJ,GAAkBL,EAAeU,cAAcC,cAAcC,cAAcP,GAAgB,GAMpG,GAAII,GAAMA,EAAGI,wBAA0BjC,OAAOkC,KAAKf,GAAMgB,OAAS,EAAG,CAEnEb,EAAOc,WAAaP,EACpB,IAAIQ,EAASd,EAASe,KAAOf,EAASgB,GACtC,GAAIF,EAAQ,CAGV,IAAIG,EAAK,IAAIC,OAAO,IAAMrB,EAAesB,YAAYC,YAAa,KAClEN,EAASA,EAAOO,QAAQJ,EAAI,IAE9BlB,EAAOuB,cAAgB,CACrBR,OAAQA,EACRS,KAAMvB,EAASuB,OAKjB3B,EAAK4B,UACPzB,EAAOH,KAAOA,EAAK4B,SAGrB,IAAIC,EAAe3B,EAAY2B,aAI/B,OAHA1B,EAAO2B,OAA4B,MAAnB9B,EAAK+B,YAAuC,eAAjBF,GAEvB,cAAjBA,GAAgC7B,EAAKgC,OAAS7C,EAAK8C,iBAAiBjC,EAAKgC,MAAO,eAC5E7B,KAvPTb,EAAKQ,KAAO,UAmShB,ODtSO,SAAmBnB,EAAGC,GAEzB,SAASsD,IAAOzC,KAAK0C,YAAcxD,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEyD,UAAkB,OAANxD,EAAaC,OAAOwD,OAAOzD,IAAMsD,EAAGE,UAAYxD,EAAEwD,UAAW,IAAIF,GCVtCI,CAAAjD,EAAAE,GAapCF,EAAAkD,SAAP,SAAgBC,GAGd,OAFAA,EAASA,GAAUC,EAAAA,QACZC,gBAAgB,cAAerD,GAC/BmD,EAAOG,0BAA0B,cAAe,SAAS,IAGlEtD,EAAA+C,UAAAQ,WAAA,WACEC,MAAQ1D,EAAK2D,WAAW,QAAS,2CACjCD,MAAME,YAAYC,gBAAiB,GAkBrC3D,EAAA+C,UAAAa,cAAA,SAAcrC,EAAqCW,GACjD,IAEI2B,EAFA1B,EAAcD,EAAYC,YAI5B0B,GADuB,IAArBzD,KAAK0D,YACD5B,EAAY6B,WAAW,aACpBjE,EAAKkE,WAAW5D,KAAK0D,aACvB1D,KAAK0D,YAAoB5B,EAAa,aAEvC9B,KAAK6D,eAAe/B,EAAa,aAGzC,IAAIgC,EAAWpE,EAAKqE,OAAO,GAAI/D,KAAKC,SAyCpC,OAxCC6D,EAAiBE,OAAS,qCAEb,IAAIC,SAAQ,SAACC,EAASC,GAElCf,MAAMgB,KAAK,CACTC,WAAYZ,EAEZxD,QAAS6D,IAET,SAAUQ,GAGR,IAAKA,IAASA,EAAKC,aAAc,CAC/B,IAAIC,EAAQ,IAAIC,MAAM,8BAAgChB,GACtD,OAAOU,EAAOK,GAEhB,IAAIE,EAAeJ,EAAKC,aAGxB,IAAKpD,EAAcwD,eAAe5C,GAAc,CAC9C,IACEZ,EAAcyD,eAAeF,GAC7B,MAAOG,GACP,OAAOV,EAAO,IAAIM,MAAM,6BAA+BhB,EAAM,0CAA4CoB,EAAEC,UAG7G3D,EAAc4D,eAAejD,GAG/B,OAAOoC,EAAQQ,MAEd,SAAUF,GACX,IAAIQ,EAAMC,EAAYT,EAAOf,GAE7B,OADAuB,EAAIF,QAAU,8BAAgCrB,EAAM,MAAQuB,EAAIF,SAAW,IACpEX,EAAOa,KAEhB5B,MAAM8B,qBASZtF,EAAA+C,UAAAwC,aAAA,SAAa3E,GAAb,IACMiD,EADN5D,EAAAG,KAGIyD,GADuB,IAArBzD,KAAK0D,YACDlD,EAAe4E,SACZ1F,EAAKkE,WAAW5D,KAAK0D,aACvB1D,KAAK0D,YAAoBlD,EAAesB,YAAatB,EAAe4E,UAErEpF,KAAK6D,eAAerD,EAAesB,YAAatB,EAAe4E,UAIvE,IAAIC,EAAQ7E,EAAe6E,MAC3B,IAAK3F,EAAK4F,QAAQD,EAAME,YAAa,CACnC,IAAIC,EAkMV,SAAuBC,GACrB,IAAIC,EAAkB,GACtB,IAAK,IAAIC,KAAKF,EACRA,EAAIhG,eAAekG,IACrBD,EAAME,KAAKC,mBAAmBF,GAAK,IAAME,mBAAmBJ,EAAIE,KAGpE,OAAOD,EAAMI,KAAK,KAzMIC,CAAcV,EAAME,YACtC9B,WC9HqCA,EAAauC,GACtD,IAAKA,EAAW,OAAOvC,EAEvB,IAAIwC,EAAYxC,EAAIyC,SAAS,KAAO,GAAKzC,EAAI0C,SAAS,KAAO,IAAM,IAEnE,OAAO1C,EAAMwC,EAAYD,EDyHfI,CAA2B3C,EAAK+B,GA8BxC,OA3Bc,IAAIvB,SAA4B,SAACC,EAASC,GACtDf,MAAMgB,KAAK,CACTC,WAAYZ,EACZxD,QAASP,EAAKqE,OAAO,GAAIlE,EAAKI,WAE9B,SAAUqE,EAAW+B,GACnB,IAAIC,EAQAnE,EAMJ,OAbImC,EAAKiC,UAEPD,EAAcE,SAASlC,EAAKiC,QAAS,KAOrCpE,EADEmC,EAAKnC,QACGmC,EAAKnC,QAELmC,EAELJ,EAAQ,CAAE/B,QAASA,EAASmE,YAAaA,EAAaG,aAAcJ,EAAUhB,MAAOA,OAE9F,SAAUb,GACR,OAAOL,EAAOc,EAAYT,EAAOf,WAQzC7D,EAAA+C,UAAA+D,YAAA,SAAYC,EAAsCC,GAAlD,IAGMnD,EAHN5D,EAAAG,KACM6G,EAAUF,EAAiBE,QAAU7G,KACrC8G,EAAcH,GAEO,IAArB3G,KAAK0D,aACPoD,EAAYC,YAAcF,EAAQG,eAAeF,EAAYhF,aAC7D2B,EAAMqD,EAAYhF,YAAY6B,WAAW,WAChCjE,EAAKkE,WAAWiD,EAAQnD,cACjCoD,EAAYC,YAAeF,EAAQnD,YAAyBoD,EAAYhF,YAAa,IACrF2B,EAAMqD,EAAYC,YAAc,WAEhCD,EAAYC,YAAcF,EAAQhD,eAAeiD,EAAYhF,YAAa,IAC1E2B,EAAMqD,EAAYC,YAAc,UAGlC,IAAIE,EAsKR,SAA8BH,EAA+BF,GAC3D,IAAIM,EAA4BJ,EAAYD,QAAoCM,gCAAgCL,EAAaF,GACzHQ,EAAwB,GACxBC,EAA+B,GAC/BC,EAA+B,GAC/BpG,EAAgB4F,EAAY5F,cAC5BqG,EAASrG,EAAcqG,OACvB5F,EAAK,EACLoF,EAAcD,EAAYC,YA6B9B,OA3BAH,EAAWY,SAASC,SAAQ,SAAUC,EAAQC,GAC5C,IAAIC,EAASF,EAAOG,aAEhBC,EAAU,CAAE7H,QAAS,CAAE8H,aAD3BpG,GAAU,EACmCzB,mBAAsB,QAEnE,GADAoH,EAAY3F,GAAM+F,EACdE,EAAOI,YAAYC,UACrBH,EAAQzD,WAAa0C,EAAcW,EAAOlG,WAAW0G,oBACrDJ,EAAQK,OAAS,OACjBL,EAAQxD,KAAOiD,EAAOa,eAAeV,EAAQW,GAC7ChB,EAAS1F,GAAMiG,EAAOU,cACjB,GAAIV,EAAOI,YAAYO,aAC5BC,EAAyBV,EAASF,EAAQb,GAC1Ce,EAAQK,OAAS,QACjBL,EAAQxD,KAAOiD,EAAOkB,oBAAoBf,EAAQxG,EAAcC,cAAekH,OAE1E,CAAA,IAAIT,EAAOI,YAAYU,YAI5B,OAHAF,EAAyBV,EAASF,EAAQb,GAC1Ce,EAAQK,OAAS,SAInBL,EAAUZ,EAAyByB,WAAWb,EAASJ,EAAQC,GAC/DP,EAAexB,KAAKkC,MAEtBhB,EAAYQ,YAAcA,EAC1BR,EAAYO,SAAWA,EACvBH,EAAyB0B,KAAKxB,GACvB,CACLyB,gBAAiB,CACf,CACEC,iBAAkB1B,KA9MJ2B,CAAqBjC,EAAaF,GAChDS,EAAWP,EAAYO,SACvBC,EAAcR,EAAYQ,YAkD9B,OAjDc,IAAIrD,SAA2B,SAACC,EAASC,GACrDf,MAAM0E,QAAQ,CACZ7H,QAASP,EAAKqE,OAAO,GAAIlE,EAAKI,SAC9BoE,WAAYZ,EACZ0E,OAAQ,OACR7D,KAAM2C,IACL,SAAU3C,EAAW+B,GACtB,IAAImB,EAAkB,GAClBwB,EAAmC,GACnCC,EAAgC,CAAEzB,SAAUA,EAAUwB,YAAaA,GAmCvE,OAlCA1E,EAAK4E,iBAAiBzB,SAAQ,SAAU0B,GACtCA,EAAGC,kBAAkB3B,SAAQ,SAAU4B,GACrC,IACIC,GADWD,EAAGhD,UAAYgD,GACJC,WAC1B,IAAMA,GAAeA,GAAc,IACjCnF,EAAOc,EAAYoE,EAAI5F,QADzB,CAKA,IAAI8F,EAAYF,EAAGpJ,QAAQ,cAEtBsJ,IACHA,EAAYF,EAAGpJ,QAAQ,eAGzB,IAAIuJ,EAAYH,EAAG/E,KACnB,GAAIkF,EAAW,CACb,IAAIC,EAAUpC,EAASkC,GACvB,GAAIE,EAAS,CACX,IAAIjI,EAAaiI,EAAQjI,WACzB,GAAIA,EAAWkI,uBAAyBC,EAAAA,qBAA4BC,KAAM,CACxE,IAAIC,EAAYJ,EAAQK,OAAO,GAC3BC,EAAUvI,EAAWwI,0BAA0BR,EAAWS,EAAAA,aAAoBC,uBAC9EC,EAAa,CAAEtJ,eAAgBW,EAAWnB,KAAMwJ,UAAWA,EAAWO,UAAWL,EAAQD,OAAO,IACpGd,EAAYpD,KAAKuE,IAGrB3C,EAAS5B,KAAK4D,OACT,CACL,IAAIa,EAAa/C,EAAYiC,GAC7B/B,EAAS5B,KAAKyE,WAIbnG,EAAQ+E,MACd,SAAUjE,GACX,OAAOb,EAAOc,EAAYD,EAAKvB,MAC9BL,MAAMkH,kBAoDb1K,EAAA+C,UAAAkB,eAAA,SAAe/B,EAAiC2B,GAC9C,IAAI1B,EAAcD,EAAY6B,WAAW,IAErC4G,EAAQ7K,EAAK8C,iBAAiBiB,EAAK1B,GAAgB,GAAKA,EAQ5D,OANIyI,QAAUzI,EAAY0I,QAAQ,MAAQ,IAExCF,EAAOC,OAAOE,SAASC,SAAW,KAAOH,OAAOE,SAASE,MACtDlL,EAAK8C,iBAAiBT,EAAa,KAAO,GAAK,KAChDwI,GAEGA,EAAO9G,GAGhB7D,EAAA+C,UAAAqE,eAAA,SAAelF,GAMb,IAAI+I,EACoB,iBAAbC,UACTD,EAASC,SAASC,cAAc,MACzBC,KAAOlJ,EAAYC,YAI1B8I,EAASpH,IAAIwH,MAAMnJ,EAAYC,aAEjC,IAAImJ,EAASL,EAAOM,SAOpB,MANkB,MAAdD,EAAO,KACTA,EAASA,EAAOE,OAAO,IAEC,MAAtBF,EAAOE,QAAQ,KACjBF,GAAU,KAELA,GAGXtL,GA7S6CyL,EAAAA,4BA0T7C,SAAShD,EAAeiD,EAA2BC,GACjD,IAAID,EAAKE,WAQT,OAPIF,EAAKG,WAAaC,EAAAA,SAAgBC,eAGpCJ,EAAMA,GAAO,IAAIK,KAAKL,EAAIM,UAAuC,IAA1BN,EAAIO,qBACjCR,EAAKG,SAA6BM,iBAC5CR,EAAa,MAAPA,EAAcA,EAAIS,WAAaT,GAEhCA,EAkDT,SAAS/C,EAAyBV,EAAcF,EAA6Bb,GAC3E,IAAItF,EACAQ,EAAgB2F,EAAO3F,cACN,MAAjBA,GACFR,EAeJ,SAAmBmG,GACjB,IAAIpG,EAAaoG,EAAOF,OAAQlG,WAC5ByK,EAAezK,EAAW0G,oBAC1BgE,EAAM1K,EAAW2K,cACjB1K,EAASwK,EAAe,IAC5B,GAAmB,IAAfC,EAAI3K,OACNE,EAASA,EAAS2K,EAAYF,EAAI,GAAItE,GAAU,QAC3C,CACL,IAAIyE,EAAQ,GACZH,EAAIzE,SAAQ,SAAU6E,GACpB7K,EAASA,EAAS4K,EAAQC,EAAGC,aAAe,IAAMH,EAAYE,EAAI1E,GAClEyE,EAAQ,OAEV5K,GAAkB,IAEpB,OAAOA,EA9BI+K,CAAU5E,GACnBA,EAAO3F,cAAgB,CACrBR,OAAQA,KAGVA,EAASQ,EAAcR,OACnBQ,EAAcC,OAChB4F,EAAQ7H,QAAQ,YAAcgC,EAAcC,OAGhD4F,EAAQzD,WAEN5C,EAAOgJ,QAAQ,MAAQ,EAAIhJ,EAASsF,EAActF,EAqBtD,SAAS2K,EAAYd,EAA2B1D,GAC9C,OAAQ0D,EAAKG,SAA6BgB,SAAU7E,EAAO8E,iBAAiBpB,EAAKjL,OAGnF,SAAS4E,EAAYT,EAAYf,GAG/B,IAAI/C,EAAS,IAAI+D,MACb4B,EAAW7B,GAASA,EAAM6B,SAC9B,IAAKA,EAIH,OAFA3F,EAAOoE,QAAUN,EACjB9D,EAAOiM,WAAanI,EACb9D,EAQT,GANAA,EAAOoE,QAAUuB,EAASsG,WAC1BjM,EAAOiM,WAAatG,EAASsG,WAC7BjM,EAAOkM,OAASvG,EAASiD,WAErB7F,IAAK/C,EAAO+C,IAAMA,GACtB/C,EAAOmM,KAAOxG,EAASwG,KACnBxG,EAASwG,KAAM,CACjB,IAAIC,OAAO,EACX,IACE,IAAID,EAAOE,KAAK9B,MAAM5E,EAASwG,MAC/BnM,EAAOmM,KAAOA,EAEVA,EAAK,iBACPA,EAAOA,EAAK,gBAEd,IAAIG,EAAM,GACV,IACEF,EAAUD,EAAKrI,OAASqI,EAAKI,cACfD,GAAYE,EAAWL,IAErCA,GADAC,EAAUA,GAAWD,EAAKM,oBACRN,QACXC,GACLE,EAAIzL,OAAS,IACfb,EAAOoE,QAAUkI,GAEnB,MAAOnI,KAKX,OADAwG,EAAAA,2BAAkC+B,wBAAwB1M,GACnDA,EAGT,SAASwM,EAAWL,GAClB,IAAIG,EAAMH,EAAK/H,SAAW,GAC1B,OAA0B,iBAAjB,EAA6BkI,EAAMA,EAAIK,OAAS,KAG3DrK,EAAAA,OAAcC,gBAAgB,cAAerD,GAG7C,IAAI0N,EAAkB,WACpBtN,KAAKK,KAAO,mBAGdV,EAAAA,KAAYoE,OAAOuJ,EAAgB3K,UAAW/C,EAAwB+C,WAEtEK,EAAAA,OAAcC,gBAAgB,cAAeqK,GAE7C,IAAIC,EAAmB,WACrBvN,KAAKK,KAAO,oBAEdV,EAAAA,KAAYoE,OAAOwJ,EAAiB5K,UAAW2K,EAAgB3K,WAC/D4K,EAAiB5K,UAAUQ,WAAa,WAEtC,IAAIqK,EAAS9N,EAAK2D,WAAW,SAAU,8CACvCD,MAAQoK,EAAOC,GAAGC,MAClBtK,MAAMuK,KAAKrK,YAAYC,gBAAiB,GAE1CgK,EAAiB5K,UAAU1C,QAAU,CAAE2N,gBAAiB,OACxD5K,EAAAA,OAAcC,gBAAgB,cAAesK","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nlet core = breeze.core;\r\n\r\ndeclare var window: any;\r\ndeclare var document: any;\r\ndeclare var url: any; // needed to access node's url.parse\r\ndeclare var OData: any;\r\n\r\ninterface ODataSaveContext extends breeze.SaveContext {\r\n tempKeys: breeze.EntityKey[];\r\n contentKeys: breeze.Entity[];\r\n}\r\n\r\n/** @hidden */\r\nexport class DataServiceODataAdapter extends breeze.AbstractDataServiceAdapter {\r\n name: string;\r\n relativeUrl: boolean | ((ds: breeze.DataService, url: string) => string);\r\n // _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;\r\n // changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;\r\n // _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;\r\n headers = { \"DataServiceVersion\": \"2.0\" };\r\n\r\n constructor() {\r\n super();\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(\"dataService\", DataServiceODataAdapter);\r\n return config.initializeAdapterInstance(\"dataService\", \"OData\", true) as DataServiceODataAdapter;\r\n }\r\n\r\n initialize() {\r\n OData = core.requireLib(\"OData\", \"Needed to support remote OData services\");\r\n OData.jsonHandler.recognizeDates = true;\r\n }\r\n\r\n\r\n // Absolute URL is the default as of Breeze 1.5.5. \r\n // To use relative URL (like pre-1.5.5), add adapterInstance.relativeUrl = true:\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = true; \r\n //\r\n // To use custom url construction, add adapterInstance.relativeUrl = myfunction(dataService, url):\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = function(dataService, url) {\r\n // return somehowConvert(url);\r\n // }\r\n //\r\n\r\n fetchMetadata(metadataStore: breeze.MetadataStore, dataService: breeze.DataService) {\r\n let serviceName = dataService.serviceName;\r\n\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = dataService.qualifyUrl('$metadata');\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(dataService, '$metadata');\r\n } else {\r\n url = this.getAbsoluteUrl(dataService, '$metadata');\r\n }\r\n\r\n let mheaders = core.extend({}, this.headers);\r\n (mheaders as any).Accept = 'application/*; odata.metadata=full';\r\n\r\n let promise = new Promise((resolve, reject) => {\r\n // OData.read(url,\r\n OData.read({\r\n requestUri: url,\r\n // headers: { \"Accept\": \"application/json\"}\r\n headers: mheaders\r\n },\r\n function (data: any) {\r\n // data.dataServices.schema is an array of schemas. with properties of\r\n // entityContainer[], association[], entityType[], and namespace.\r\n if (!data || !data.dataServices) {\r\n let error = new Error(\"Metadata query failed for: \" + url);\r\n return reject(error);\r\n }\r\n let csdlMetadata = data.dataServices;\r\n\r\n // might have been fetched by another query\r\n if (!metadataStore.hasMetadataFor(serviceName)) {\r\n try {\r\n metadataStore.importMetadata(csdlMetadata);\r\n } catch (e) {\r\n return reject(new Error(\"Metadata query failed for \" + url + \"; Unable to process returned metadata: \" + e.message));\r\n }\r\n\r\n metadataStore.addDataService(dataService);\r\n }\r\n\r\n return resolve(csdlMetadata);\r\n\r\n }, function (error: any) {\r\n let err = createError(error, url);\r\n err.message = \"Metadata query failed for: \" + url + \"; \" + (err.message || \"\");\r\n return reject(err);\r\n },\r\n OData.metadataHandler\r\n );\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n\r\n\r\n executeQuery(mappingContext: breeze.MappingContext) {\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = mappingContext.getUrl();\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(mappingContext.dataService, mappingContext.getUrl());\r\n } else {\r\n url = this.getAbsoluteUrl(mappingContext.dataService, mappingContext.getUrl());\r\n }\r\n\r\n // Add query params if .withParameters was used\r\n let query = mappingContext.query as breeze.EntityQuery;\r\n if (!core.isEmpty(query.parameters)) {\r\n let paramString = toQueryString(query.parameters);\r\n url = appendQueryStringParameter(url, paramString);\r\n }\r\n\r\n let promise = new Promise<breeze.QueryResult>((resolve, reject) => {\r\n OData.read({\r\n requestUri: url,\r\n headers: core.extend({}, this.headers)\r\n },\r\n function (data: any, response: any) {\r\n let inlineCount: any;\r\n if (data.__count) {\r\n // OData can return data.__count as a string\r\n inlineCount = parseInt(data.__count, 10);\r\n }\r\n // Odata returns different result structure when it returns multiple entities (data.results) vs single entity (data directly).\r\n // @see http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingCollectionsOfEntries\r\n // and http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingEntries\r\n let results: any;\r\n if (data.results) {\r\n results = data.results;\r\n } else {\r\n results = data;\r\n }\r\n return resolve({ results: results, inlineCount: inlineCount, httpResponse: response, query: query });\r\n },\r\n function (error: any) {\r\n return reject(createError(error, url));\r\n }\r\n );\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n saveChanges(odataSaveContext: breeze.SaveContext, saveBundle: breeze.SaveBundle): Promise<breeze.SaveResult> {\r\n let adapter = odataSaveContext.adapter = this;\r\n let saveContext = odataSaveContext as ODataSaveContext;\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n saveContext.routePrefix = adapter.getRoutePrefix(saveContext.dataService);\r\n url = saveContext.dataService.qualifyUrl(\"$batch\");\r\n } else if (core.isFunction(adapter.relativeUrl)) {\r\n saveContext.routePrefix = (adapter.relativeUrl as Function)(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n } else {\r\n saveContext.routePrefix = adapter.getAbsoluteUrl(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n }\r\n\r\n let requestData = createChangeRequests(saveContext, saveBundle);\r\n let tempKeys = saveContext.tempKeys;\r\n let contentKeys = saveContext.contentKeys;\r\n let promise = new Promise<breeze.SaveResult>((resolve, reject) => {\r\n OData.request({\r\n headers: core.extend({}, this.headers),\r\n requestUri: url,\r\n method: \"POST\",\r\n data: requestData\r\n }, function (data: any, response: any) {\r\n let entities: any[] = [];\r\n let keyMappings: breeze.KeyMapping[] = [];\r\n let saveResult: breeze.SaveResult = { entities: entities, keyMappings: keyMappings };\r\n data.__batchResponses.forEach(function (br: any) {\r\n br.__changeResponses.forEach(function (cr: any) {\r\n let response = cr.response || cr;\r\n let statusCode = response.statusCode;\r\n if ((!statusCode) || statusCode >= 400) {\r\n reject(createError(cr, url));\r\n return;\r\n }\r\n\r\n let contentId = cr.headers[\"Content-ID\"];\r\n // Olingo sends different case of 'ID' for the header name.\r\n if (!contentId) {\r\n contentId = cr.headers[\"Content-Id\"];\r\n }\r\n\r\n let rawEntity = cr.data;\r\n if (rawEntity) {\r\n let tempKey = tempKeys[contentId];\r\n if (tempKey) {\r\n let entityType = tempKey.entityType;\r\n if (entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {\r\n let tempValue = tempKey.values[0];\r\n let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, breeze.DataProperty.getRawValueFromServer);\r\n let keyMapping = { entityTypeName: entityType.name, tempValue: tempValue, realValue: realKey.values[0] };\r\n keyMappings.push(keyMapping);\r\n }\r\n }\r\n entities.push(rawEntity);\r\n } else {\r\n let origEntity = contentKeys[contentId];\r\n entities.push(origEntity);\r\n }\r\n });\r\n });\r\n return resolve(saveResult);\r\n }, function (err: any) {\r\n return reject(createError(err, url));\r\n }, OData.batchHandler);\r\n });\r\n return promise;\r\n\r\n }\r\n\r\n jsonResultsAdapter: breeze.JsonResultsAdapter = new breeze.JsonResultsAdapter({\r\n name: \"OData_default\",\r\n\r\n visitNode: function (node: any, mappingContext: breeze.MappingContext, nodeContext: breeze.NodeContext) {\r\n let result: any = {};\r\n if (node == null) return result;\r\n let metadata = node.__metadata;\r\n if (metadata != null) {\r\n // TODO: may be able to make this more efficient by caching of the previous value.\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(metadata.type);\r\n let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);\r\n // OData response doesn't distinguish a projection from a whole entity.\r\n // We'll assume that whole-entity data would have at least as many properties (<=)\r\n // as the EntityType has mapped properties on the basis that\r\n // most projections remove properties rather than add them.\r\n // If not, assume it's a projection and do NOT treat as an entity\r\n if (et && et._mappedPropertiesCount <= Object.keys(node).length - 1) {\r\n // if (et && et._mappedPropertiesCount === Object.keys(node).length - 1) { // OLD\r\n result.entityType = et;\r\n let uriKey = metadata.uri || metadata.id;\r\n if (uriKey) {\r\n // Strip baseUri to make uriKey a relative uri\r\n // Todo: why is this necessary when absolute works for every OData source tested?\r\n let re = new RegExp('^' + mappingContext.dataService.serviceName, 'i');\r\n uriKey = uriKey.replace(re, '');\r\n }\r\n result.extraMetadata = {\r\n uriKey: uriKey,\r\n etag: metadata.etag\r\n };\r\n }\r\n }\r\n // OData v3 - projection arrays will be enclosed in a results array\r\n if (node.results) {\r\n result.node = node.results;\r\n }\r\n\r\n let propertyName = nodeContext.propertyName;\r\n result.ignore = node.__deferred != null || propertyName === \"__metadata\" ||\r\n // EntityKey properties can be produced by EDMX models\r\n (propertyName === \"EntityKey\" && node.$type && core.stringStartsWith(node.$type, \"System.Data\"));\r\n return result;\r\n }\r\n\r\n });\r\n\r\n getAbsoluteUrl(dataService: breeze.DataService, url: string) {\r\n let serviceName = dataService.qualifyUrl('');\r\n // only prefix with serviceName if not already on the url\r\n let base = (core.stringStartsWith(url, serviceName)) ? '' : serviceName;\r\n // If no protocol, turn base into an absolute URI\r\n if (window && serviceName.indexOf('//') < 0) {\r\n // no protocol; make it absolute\r\n base = window.location.protocol + '//' + window.location.host +\r\n (core.stringStartsWith(serviceName, '/') ? '' : '/') +\r\n base;\r\n }\r\n return base + url;\r\n }\r\n\r\n getRoutePrefix(dataService: breeze.DataService) {\r\n // Get the routePrefix from a Web API OData service name.\r\n // The routePrefix is presumed to be the pathname within the dataService.serviceName\r\n // Examples of servicename -> routePrefix:\r\n // 'http://localhost:55802/odata/' -> 'odata/'\r\n // 'http://198.154.121.75/service/odata/' -> 'service/odata/'\r\n let parser: any;\r\n if (typeof document === 'object') { // browser\r\n parser = document.createElement('a');\r\n parser.href = dataService.serviceName;\r\n } else { // node\r\n // TODO: how to best handle this\r\n // assumes existence of node's url.parse method.\r\n parser = url.parse(dataService.serviceName);\r\n }\r\n let prefix = parser.pathname;\r\n if (prefix[0] === '/') {\r\n prefix = prefix.substr(1);\r\n } // drop leading '/' (all but IE)\r\n if (prefix.substr(-1) !== '/') {\r\n prefix += '/';\r\n } // ensure trailing '/'\r\n return prefix;\r\n }\r\n\r\n}\r\n\r\n// crude serializer. Doesn't recurse\r\nfunction toQueryString(obj: Object) {\r\n let parts: string[] = [];\r\n for (let i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n parts.push(encodeURIComponent(i) + \"=\" + encodeURIComponent(obj[i]));\r\n }\r\n }\r\n return parts.join(\"&\");\r\n}\r\n\r\nfunction transformValue(prop: breeze.DataProperty, val: any) {\r\n if (prop.isUnmapped) return undefined;\r\n if (prop.dataType === breeze.DataType.DateTimeOffset) {\r\n // The datajs lib tries to treat client dateTimes that are defined as DateTimeOffset on the server differently\r\n // from other dateTimes. This fix compensates before the save.\r\n val = val && new Date(val.getTime() - (val.getTimezoneOffset() * 60000));\r\n } else if ((prop.dataType as breeze.DataType).quoteJsonOData) {\r\n val = val != null ? val.toString() : val;\r\n }\r\n return val;\r\n}\r\n\r\nfunction createChangeRequests(saveContext: ODataSaveContext, saveBundle: breeze.SaveBundle) {\r\n let changeRequestInterceptor = (saveContext.adapter as DataServiceODataAdapter)._createChangeRequestInterceptor(saveContext, saveBundle);\r\n let changeRequests: any[] = [];\r\n let tempKeys: breeze.EntityKey[] = [];\r\n let contentKeys: breeze.Entity[] = [];\r\n let entityManager = saveContext.entityManager;\r\n let helper = entityManager.helper;\r\n let id = 0;\r\n let routePrefix = saveContext.routePrefix;\r\n\r\n saveBundle.entities.forEach(function (entity, index) {\r\n let aspect = entity.entityAspect;\r\n id = id + 1; // we are deliberately skipping id=0 because Content-ID = 0 seems to be ignored.\r\n let request = { headers: { \"Content-ID\": id, \"DataServiceVersion\": \"2.0\" } } as any;\r\n contentKeys[id] = entity;\r\n if (aspect.entityState.isAdded()) {\r\n request.requestUri = routePrefix + entity.entityType.defaultResourceName;\r\n request.method = \"POST\";\r\n request.data = helper.unwrapInstance(entity, transformValue);\r\n tempKeys[id] = aspect.getKey();\r\n } else if (aspect.entityState.isModified()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"MERGE\";\r\n request.data = helper.unwrapChangedValues(entity, entityManager.metadataStore, transformValue);\r\n // should be a PATCH/MERGE\r\n } else if (aspect.entityState.isDeleted()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"DELETE\";\r\n } else {\r\n return;\r\n }\r\n request = changeRequestInterceptor.getRequest(request, entity, index);\r\n changeRequests.push(request);\r\n });\r\n saveContext.contentKeys = contentKeys;\r\n saveContext.tempKeys = tempKeys;\r\n changeRequestInterceptor.done(changeRequests);\r\n return {\r\n __batchRequests: [\r\n {\r\n __changeRequests: changeRequests\r\n }\r\n ]\r\n };\r\n\r\n}\r\n\r\nfunction updateDeleteMergeRequest(request: any, aspect: breeze.EntityAspect, routePrefix: string) {\r\n let uriKey: string;\r\n let extraMetadata = aspect.extraMetadata;\r\n if (extraMetadata == null) {\r\n uriKey = getUriKey(aspect);\r\n aspect.extraMetadata = {\r\n uriKey: uriKey\r\n };\r\n } else {\r\n uriKey = extraMetadata.uriKey;\r\n if (extraMetadata.etag) {\r\n request.headers[\"If-Match\"] = extraMetadata.etag;\r\n }\r\n }\r\n request.requestUri =\r\n // use routePrefix if uriKey lacks protocol (i.e., relative uri)\r\n uriKey.indexOf('//') > 0 ? uriKey : routePrefix + uriKey;\r\n}\r\n\r\nfunction getUriKey(aspect: breeze.EntityAspect) {\r\n let entityType = aspect.entity!.entityType;\r\n let resourceName = entityType.defaultResourceName;\r\n let kps = entityType.keyProperties;\r\n let uriKey = resourceName + \"(\";\r\n if (kps.length === 1) {\r\n uriKey = uriKey + fmtProperty(kps[0], aspect) + \")\";\r\n } else {\r\n let delim = \"\";\r\n kps.forEach(function (kp) {\r\n uriKey = uriKey + delim + kp.nameOnServer + \"=\" + fmtProperty(kp, aspect);\r\n delim = \",\";\r\n });\r\n uriKey = uriKey + \")\";\r\n }\r\n return uriKey;\r\n}\r\n\r\nfunction fmtProperty(prop: breeze.DataProperty, aspect: breeze.EntityAspect) {\r\n return (prop.dataType as breeze.DataType).fmtOData!(aspect.getPropertyValue(prop.name));\r\n}\r\n\r\nfunction createError(error: any, url: string) {\r\n // OData errors can have the message buried very deeply - and nonobviously\r\n // this code is tricky so be careful changing the response.body parsing.\r\n let result = new Error() as breeze.ServerError;\r\n let response = error && error.response;\r\n if (!response) {\r\n // in case DataJS returns \"No handler for this data\"\r\n result.message = error;\r\n result.statusText = error;\r\n return result;\r\n }\r\n result.message = response.statusText;\r\n result.statusText = response.statusText;\r\n result.status = response.statusCode;\r\n // non std\r\n if (url) result.url = url;\r\n result.body = response.body;\r\n if (response.body) {\r\n let nextErr: any;\r\n try {\r\n let body = JSON.parse(response.body);\r\n result.body = body;\r\n // OData v3 logic\r\n if (body['odata.error']) {\r\n body = body['odata.error'];\r\n }\r\n let msg = \"\";\r\n do {\r\n nextErr = body.error || body.innererror;\r\n if (!nextErr) msg = msg + getMessage(body);\r\n nextErr = nextErr || body.internalexception;\r\n body = nextErr || body;\r\n } while (nextErr);\r\n if (msg.length > 0) {\r\n result.message = msg;\r\n }\r\n } catch (e) {\r\n\r\n }\r\n }\r\n breeze.AbstractDataServiceAdapter._catchNoConnectionError(result);\r\n return result;\r\n}\r\n\r\nfunction getMessage(body: any) {\r\n let msg = body.message || \"\";\r\n return ((typeof (msg) === \"string\") ? msg : msg.value) + \"; \";\r\n}\r\n\r\nbreeze.config.registerAdapter(\"dataService\", DataServiceODataAdapter);\r\n\r\n\r\nlet webApiODataCtor = function () {\r\n this.name = \"webApiOData\";\r\n};\r\n\r\nbreeze.core.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);\r\n\r\nbreeze.config.registerAdapter(\"dataService\", webApiODataCtor as any);\r\n// OData 4 adapter\r\nlet webApiOData4Ctor = function () {\r\n this.name = \"webApiOData4\";\r\n};\r\nbreeze.core.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);\r\nwebApiOData4Ctor.prototype.initialize = function () {\r\n // Aargh... they moved the cheese.\r\n let datajs = core.requireLib(\"datajs\", \"Needed to support remote OData v4 services\");\r\n OData = datajs.V4.oData;\r\n OData.json.jsonHandler.recognizeDates = true;\r\n};\r\nwebApiOData4Ctor.prototype.headers = { \"OData-Version\": \"4.0\" };\r\nbreeze.config.registerAdapter(\"dataService\", webApiOData4Ctor as any);\r\n\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,326 +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-data-service-webapi', ['exports', 'breeze-client'], factory) :
4
- (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-data-service-webapi'] = {}), global['breeze-client']));
5
- }(this, (function (exports, breezeClient) { 'use strict';
6
-
7
- /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation.
9
-
10
- Permission to use, copy, modify, and/or distribute this software for any
11
- purpose with or without fee is hereby granted.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
- PERFORMANCE OF THIS SOFTWARE.
20
- ***************************************************************************** */
21
- /* global Reflect, Promise */
22
-
23
- var extendStatics = function(d, b) {
24
- extendStatics = Object.setPrototypeOf ||
25
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
26
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
27
- return extendStatics(d, b);
28
- };
29
-
30
- function __extends(d, b) {
31
- extendStatics(d, b);
32
- function __() { this.constructor = d; }
33
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
- }
35
-
36
- var __assign = function() {
37
- __assign = Object.assign || function __assign(t) {
38
- for (var s, i = 1, n = arguments.length; i < n; i++) {
39
- s = arguments[i];
40
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
41
- }
42
- return t;
43
- };
44
- return __assign.apply(this, arguments);
45
- };
46
-
47
- function __rest(s, e) {
48
- var t = {};
49
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
50
- t[p] = s[p];
51
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
52
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
53
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
54
- t[p[i]] = s[p[i]];
55
- }
56
- return t;
57
- }
58
-
59
- function __decorate(decorators, target, key, desc) {
60
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
62
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
63
- return c > 3 && r && Object.defineProperty(target, key, r), r;
64
- }
65
-
66
- function __param(paramIndex, decorator) {
67
- return function (target, key) { decorator(target, key, paramIndex); }
68
- }
69
-
70
- function __metadata(metadataKey, metadataValue) {
71
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
72
- }
73
-
74
- function __awaiter(thisArg, _arguments, P, generator) {
75
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
76
- return new (P || (P = Promise))(function (resolve, reject) {
77
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
78
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
79
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
80
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81
- });
82
- }
83
-
84
- function __generator(thisArg, body) {
85
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
86
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
87
- function verb(n) { return function (v) { return step([n, v]); }; }
88
- function step(op) {
89
- if (f) throw new TypeError("Generator is already executing.");
90
- while (_) try {
91
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
92
- if (y = 0, t) op = [op[0] & 2, t.value];
93
- switch (op[0]) {
94
- case 0: case 1: t = op; break;
95
- case 4: _.label++; return { value: op[1], done: false };
96
- case 5: _.label++; y = op[1]; op = [0]; continue;
97
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
98
- default:
99
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
100
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
101
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
102
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
103
- if (t[2]) _.ops.pop();
104
- _.trys.pop(); continue;
105
- }
106
- op = body.call(thisArg, _);
107
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
108
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
109
- }
110
- }
111
-
112
- function __createBinding(o, m, k, k2) {
113
- if (k2 === undefined) k2 = k;
114
- o[k2] = m[k];
115
- }
116
-
117
- function __exportStar(m, exports) {
118
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p];
119
- }
120
-
121
- function __values(o) {
122
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
123
- if (m) return m.call(o);
124
- if (o && typeof o.length === "number") return {
125
- next: function () {
126
- if (o && i >= o.length) o = void 0;
127
- return { value: o && o[i++], done: !o };
128
- }
129
- };
130
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
131
- }
132
-
133
- function __read(o, n) {
134
- var m = typeof Symbol === "function" && o[Symbol.iterator];
135
- if (!m) return o;
136
- var i = m.call(o), r, ar = [], e;
137
- try {
138
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
139
- }
140
- catch (error) { e = { error: error }; }
141
- finally {
142
- try {
143
- if (r && !r.done && (m = i["return"])) m.call(i);
144
- }
145
- finally { if (e) throw e.error; }
146
- }
147
- return ar;
148
- }
149
-
150
- function __spread() {
151
- for (var ar = [], i = 0; i < arguments.length; i++)
152
- ar = ar.concat(__read(arguments[i]));
153
- return ar;
154
- }
155
-
156
- function __spreadArrays() {
157
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
158
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
159
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
160
- r[k] = a[j];
161
- return r;
162
- };
163
-
164
- function __await(v) {
165
- return this instanceof __await ? (this.v = v, this) : new __await(v);
166
- }
167
-
168
- function __asyncGenerator(thisArg, _arguments, generator) {
169
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
170
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
171
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
172
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
173
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
174
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
175
- function fulfill(value) { resume("next", value); }
176
- function reject(value) { resume("throw", value); }
177
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
178
- }
179
-
180
- function __asyncDelegator(o) {
181
- var i, p;
182
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
183
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
184
- }
185
-
186
- function __asyncValues(o) {
187
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
188
- var m = o[Symbol.asyncIterator], i;
189
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
190
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
191
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
192
- }
193
-
194
- function __makeTemplateObject(cooked, raw) {
195
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
196
- return cooked;
197
- };
198
-
199
- function __importStar(mod) {
200
- if (mod && mod.__esModule) return mod;
201
- var result = {};
202
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
203
- result.default = mod;
204
- return result;
205
- }
206
-
207
- function __importDefault(mod) {
208
- return (mod && mod.__esModule) ? mod : { default: mod };
209
- }
210
-
211
- function __classPrivateFieldGet(receiver, privateMap) {
212
- if (!privateMap.has(receiver)) {
213
- throw new TypeError("attempted to get private field on non-instance");
214
- }
215
- return privateMap.get(receiver);
216
- }
217
-
218
- function __classPrivateFieldSet(receiver, privateMap, value) {
219
- if (!privateMap.has(receiver)) {
220
- throw new TypeError("attempted to set private field on non-instance");
221
- }
222
- privateMap.set(receiver, value);
223
- return value;
224
- }
225
-
226
- // import { JsonResultsAdapter, KeyMapping } from './breeze';
227
- /** @hidden */
228
- var DataServiceWebApiAdapter = /** @class */ (function (_super) {
229
- __extends(DataServiceWebApiAdapter, _super);
230
- function DataServiceWebApiAdapter() {
231
- var _this = _super.call(this) || this;
232
- _this.jsonResultsAdapter = new breezeClient.JsonResultsAdapter({
233
- name: "webApi_default",
234
- visitNode: function (node, mappingContext, nodeContext) {
235
- if (node == null)
236
- return {};
237
- var entityTypeName = breezeClient.MetadataStore.normalizeTypeName(node.$type);
238
- var entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
239
- var propertyName = nodeContext.propertyName;
240
- var ignore = propertyName && propertyName.substr(0, 1) === "$";
241
- return {
242
- entityType: entityType,
243
- nodeId: node.$id,
244
- nodeRefId: node.$ref,
245
- ignore: ignore
246
- };
247
- }
248
- });
249
- _this.name = "webApi";
250
- return _this;
251
- }
252
- DataServiceWebApiAdapter.register = function (config$1) {
253
- config$1 = config$1 || breezeClient.config;
254
- config$1.registerAdapter("dataService", DataServiceWebApiAdapter);
255
- return config$1.initializeAdapterInstance("dataService", "webApi", true);
256
- };
257
- /** @hidden @internal */
258
- DataServiceWebApiAdapter.prototype._prepareSaveBundle = function (saveContext, saveBundle) {
259
- var changeRequestInterceptor = this._createChangeRequestInterceptor(saveContext, saveBundle);
260
- var em = saveContext.entityManager;
261
- var metadataStore = em.metadataStore;
262
- var helper = em.helper;
263
- var serSaveBundle = {};
264
- serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {
265
- var rawEntity = helper.unwrapInstance(e);
266
- var autoGeneratedKey;
267
- if (e.entityType.autoGeneratedKeyType !== breezeClient.AutoGeneratedKeyType.None) {
268
- autoGeneratedKey = {
269
- propertyName: e.entityType.keyProperties[0].nameOnServer,
270
- autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name
271
- };
272
- }
273
- var originalValuesOnServer = helper.unwrapOriginalValues(e, metadataStore);
274
- rawEntity.entityAspect = {
275
- entityTypeName: e.entityType.name,
276
- defaultResourceName: e.entityType.defaultResourceName,
277
- entityState: e.entityAspect.entityState.name,
278
- originalValuesMap: originalValuesOnServer,
279
- autoGeneratedKey: autoGeneratedKey
280
- };
281
- rawEntity = changeRequestInterceptor.getRequest(rawEntity, e, ix);
282
- return rawEntity;
283
- });
284
- serSaveBundle.saveOptions = { tag: saveBundle.saveOptions.tag };
285
- changeRequestInterceptor.done(serSaveBundle.entities);
286
- return serSaveBundle;
287
- };
288
- /** @hidden @internal */
289
- DataServiceWebApiAdapter.prototype._prepareSaveResult = function (saveContext, data) {
290
- // use the jsonResultAdapter to extractResults and extractKeyMappings
291
- var jra = saveContext.dataService.jsonResultsAdapter || this.jsonResultsAdapter;
292
- var entities = jra.extractSaveResults(data) || [];
293
- var keyMappings = jra.extractKeyMappings(data) || [];
294
- var deletedKeys = jra.extractDeletedKeys ? (jra.extractDeletedKeys(data)) || [] : [];
295
- if (keyMappings.length) {
296
- // HACK: need to change the 'case' of properties in the saveResult
297
- // but KeyMapping properties internally are still ucase. ugh...
298
- keyMappings = keyMappings.map(function (km) {
299
- if (km.entityTypeName)
300
- return km; // it's already lower case
301
- var kmHack = km;
302
- var entityTypeName = breezeClient.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
303
- return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };
304
- });
305
- }
306
- if (deletedKeys.length) {
307
- deletedKeys = deletedKeys.map(function (dk) {
308
- if (dk.entityTypeName)
309
- return dk; // it's already lower case
310
- var entityTypeName = breezeClient.MetadataStore.normalizeTypeName(dk.EntityTypeName);
311
- // NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey
312
- return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };
313
- });
314
- }
315
- return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };
316
- };
317
- return DataServiceWebApiAdapter;
318
- }(breezeClient.AbstractDataServiceAdapter));
319
- breezeClient.config.registerAdapter("dataService", DataServiceWebApiAdapter);
320
-
321
- exports.DataServiceWebApiAdapter = DataServiceWebApiAdapter;
322
-
323
- Object.defineProperty(exports, '__esModule', { value: true });
324
-
325
- })));
326
- //# sourceMappingURL=breeze-client-adapter-data-service-webapi.umd.js.map