breeze-client 2.1.5 → 2.1.6-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 (384) hide show
  1. package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
  2. package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
  3. package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
  4. package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
  5. package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
  6. package/adapter-data-service-odata/adapter-data-service-odata.d.ts +0 -1
  7. package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
  8. package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
  9. package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
  10. package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
  11. package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
  12. package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
  13. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +135 -0
  14. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +49 -0
  15. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
  16. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +135 -0
  17. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +49 -0
  18. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
  19. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +139 -0
  20. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +49 -0
  21. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
  22. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +107 -0
  23. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
  24. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
  25. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
  26. package/esm2022/adapter-data-service-odata/adapter-core.mjs +49 -0
  27. package/esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs +461 -0
  28. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
  29. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +100 -0
  30. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
  31. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +269 -0
  32. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
  33. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +241 -0
  34. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
  35. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +49 -0
  36. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +37 -0
  37. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
  38. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +49 -0
  39. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +191 -0
  40. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
  41. package/esm2022/breeze-client.mjs +5 -0
  42. package/esm2022/index.mjs +2 -0
  43. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
  44. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
  45. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
  46. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +421 -0
  47. package/esm2022/src/abstract-data-service-adapter.mjs +294 -0
  48. package/esm2022/src/array.mjs +4 -0
  49. package/esm2022/src/assert-param.mjs +330 -0
  50. package/esm2022/src/breeze.mjs +85 -0
  51. package/esm2022/src/complex-array.mjs +117 -0
  52. package/esm2022/src/config.mjs +232 -0
  53. package/esm2022/src/core.mjs +712 -0
  54. package/esm2022/src/csdl-metadata-parser.mjs +385 -0
  55. package/esm2022/src/data-service.mjs +239 -0
  56. package/esm2022/src/data-type.mjs +507 -0
  57. package/esm2022/src/default-property-interceptor.mjs +460 -0
  58. package/esm2022/src/entity-action.mjs +45 -0
  59. package/esm2022/src/entity-aspect.mjs +897 -0
  60. package/esm2022/src/entity-group.mjs +192 -0
  61. package/esm2022/src/entity-key.mjs +127 -0
  62. package/esm2022/src/entity-manager.mjs +2183 -0
  63. package/esm2022/src/entity-metadata.mjs +2242 -0
  64. package/esm2022/src/entity-query.mjs +1005 -0
  65. package/esm2022/src/entity-state.mjs +107 -0
  66. package/{esm2015/src/enum.js → esm2022/src/enum.mjs} +3 -1
  67. package/esm2022/src/event.mjs +264 -0
  68. package/esm2022/src/interface-registry.mjs +39 -0
  69. package/esm2022/src/key-generator.mjs +110 -0
  70. package/esm2022/src/local-query-comparison-options.mjs +75 -0
  71. package/esm2022/src/mapping-context.mjs +422 -0
  72. package/{esm5/src/naming-convention.js → esm2022/src/naming-convention.mjs} +35 -29
  73. package/esm2022/src/observable-array.mjs +183 -0
  74. package/esm2022/src/predicate.mjs +1259 -0
  75. package/esm2022/src/primitive-array.mjs +85 -0
  76. package/esm2022/src/query-options.mjs +160 -0
  77. package/esm2022/src/relation-array.mjs +173 -0
  78. package/esm2022/src/save-options.mjs +51 -0
  79. package/esm2022/src/unattached-children-map.mjs +56 -0
  80. package/{esm5/src/validate.js → esm2022/src/validate.mjs} +116 -110
  81. package/esm2022/src/validation-options.mjs +78 -0
  82. package/{fesm2015/breeze-client-adapter-ajax-angularjs.js → fesm2022/breeze-client-adapter-ajax-angularjs.mjs} +6 -1
  83. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  84. package/{fesm2015/breeze-client-adapter-ajax-fetch.js → fesm2022/breeze-client-adapter-ajax-fetch.mjs} +9 -4
  85. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  86. package/{fesm2015/breeze-client-adapter-ajax-httpclient.js → fesm2022/breeze-client-adapter-ajax-httpclient.mjs} +6 -4
  87. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  88. package/{fesm2015/breeze-client-adapter-ajax-jquery.js → fesm2022/breeze-client-adapter-ajax-jquery.mjs} +6 -2
  89. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  90. package/{fesm2015/breeze-client-adapter-ajax-post.js → fesm2022/breeze-client-adapter-ajax-post.mjs} +1 -1
  91. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +1 -0
  92. package/{fesm2015/breeze-client-adapter-data-service-odata.js → fesm2022/breeze-client-adapter-data-service-odata.mjs} +70 -67
  93. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  94. package/{fesm2015/breeze-client-adapter-data-service-webapi.js → fesm2022/breeze-client-adapter-data-service-webapi.mjs} +36 -29
  95. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  96. package/{fesm2015/breeze-client-adapter-model-library-backing-store.js → fesm2022/breeze-client-adapter-model-library-backing-store.mjs} +14 -13
  97. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  98. package/{fesm2015/breeze-client-adapter-model-library-ko.js → fesm2022/breeze-client-adapter-model-library-ko.mjs} +14 -13
  99. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  100. package/{fesm2015/breeze-client-adapter-uri-builder-json.js → fesm2022/breeze-client-adapter-uri-builder-json.mjs} +9 -8
  101. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  102. package/{fesm2015/breeze-client-adapter-uri-builder-odata.js → fesm2022/breeze-client-adapter-uri-builder-odata.mjs} +86 -86
  103. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  104. package/{fesm2015/breeze-client-mixin-get-entity-graph.js → fesm2022/breeze-client-mixin-get-entity-graph.mjs} +1 -1
  105. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  106. package/{fesm2015/breeze-client-mixin-save-queuing.js → fesm2022/breeze-client-mixin-save-queuing.mjs} +23 -2
  107. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +1 -0
  108. package/{fesm2015/breeze-client.js → fesm2022/breeze-client.mjs} +2122 -1540
  109. package/fesm2022/breeze-client.mjs.map +1 -0
  110. package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
  111. package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
  112. package/package.json +93 -11
  113. package/src/abstract-data-service-adapter.d.ts +0 -1
  114. package/src/config.d.ts +1 -1
  115. package/src/core.d.ts +1 -1
  116. package/src/data-type.d.ts +5 -0
  117. package/src/entity-aspect.d.ts +6 -6
  118. package/src/entity-manager.d.ts +4 -4
  119. package/src/entity-metadata.d.ts +45 -33
  120. package/src/entity-query.d.ts +1 -1
  121. package/src/entity-state.d.ts +4 -0
  122. package/src/mapping-context.d.ts +1 -1
  123. package/src/predicate.d.ts +4 -7
  124. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  125. package/adapter-ajax-angularjs/package.json +0 -13
  126. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  127. package/adapter-ajax-fetch/package.json +0 -13
  128. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  129. package/adapter-ajax-httpclient/package.json +0 -13
  130. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  131. package/adapter-ajax-jquery/package.json +0 -13
  132. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  133. package/adapter-ajax-post/package.json +0 -13
  134. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  135. package/adapter-data-service-odata/package.json +0 -13
  136. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  137. package/adapter-data-service-webapi/package.json +0 -13
  138. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  139. package/adapter-model-library-backing-store/package.json +0 -13
  140. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  141. package/adapter-model-library-ko/package.json +0 -13
  142. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  143. package/adapter-uri-builder-json/package.json +0 -13
  144. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  145. package/adapter-uri-builder-odata/package.json +0 -13
  146. package/breeze-client.d.ts +0 -8
  147. package/breeze-client.metadata.json +0 -1
  148. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  149. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  150. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  151. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  152. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  153. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  154. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  155. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  156. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  157. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  158. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  159. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  160. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  161. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  162. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  163. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  164. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  165. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  166. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  167. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  168. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -743
  169. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  170. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  171. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  172. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -326
  173. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  174. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  175. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  176. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  177. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  178. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  179. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  180. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  181. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  182. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  183. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  184. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  185. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  186. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  187. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  188. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  189. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  190. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  191. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  192. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  193. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  194. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  195. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  196. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
  197. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  198. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  199. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  200. package/bundles/breeze-client.umd.js +0 -14098
  201. package/bundles/breeze-client.umd.js.map +0 -1
  202. package/bundles/breeze-client.umd.min.js +0 -16
  203. package/bundles/breeze-client.umd.min.js.map +0 -1
  204. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  205. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  206. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  207. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  208. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  209. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  210. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  211. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  212. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  213. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  214. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  215. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  216. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  217. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  218. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -459
  219. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  220. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -93
  221. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  222. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  223. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  224. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  225. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  226. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  227. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  228. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  229. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  230. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  231. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  232. package/esm2015/breeze-client.js +0 -9
  233. package/esm2015/index.js +0 -2
  234. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  235. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  236. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  237. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  238. package/esm2015/src/abstract-data-service-adapter.js +0 -296
  239. package/esm2015/src/array.js +0 -4
  240. package/esm2015/src/assert-param.js +0 -312
  241. package/esm2015/src/breeze.js +0 -85
  242. package/esm2015/src/complex-array.js +0 -119
  243. package/esm2015/src/config.js +0 -223
  244. package/esm2015/src/core.js +0 -709
  245. package/esm2015/src/csdl-metadata-parser.js +0 -385
  246. package/esm2015/src/data-service.js +0 -203
  247. package/esm2015/src/data-type.js +0 -444
  248. package/esm2015/src/default-property-interceptor.js +0 -460
  249. package/esm2015/src/entity-action.js +0 -45
  250. package/esm2015/src/entity-aspect.js +0 -806
  251. package/esm2015/src/entity-group.js +0 -187
  252. package/esm2015/src/entity-key.js +0 -116
  253. package/esm2015/src/entity-manager.js +0 -2094
  254. package/esm2015/src/entity-metadata.js +0 -2109
  255. package/esm2015/src/entity-query.js +0 -996
  256. package/esm2015/src/entity-state.js +0 -99
  257. package/esm2015/src/event.js +0 -256
  258. package/esm2015/src/interface-registry.js +0 -41
  259. package/esm2015/src/key-generator.js +0 -108
  260. package/esm2015/src/local-query-comparison-options.js +0 -65
  261. package/esm2015/src/mapping-context.js +0 -405
  262. package/esm2015/src/naming-convention.js +0 -88
  263. package/esm2015/src/observable-array.js +0 -185
  264. package/esm2015/src/predicate.js +0 -1235
  265. package/esm2015/src/primitive-array.js +0 -87
  266. package/esm2015/src/query-options.js +0 -152
  267. package/esm2015/src/relation-array.js +0 -175
  268. package/esm2015/src/save-options.js +0 -41
  269. package/esm2015/src/unattached-children-map.js +0 -58
  270. package/esm2015/src/validate.js +0 -991
  271. package/esm2015/src/validation-options.js +0 -64
  272. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  273. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  274. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  275. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  276. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  277. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  278. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  279. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  280. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  281. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  282. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  283. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  284. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  285. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  286. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +0 -466
  287. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  288. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -98
  289. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  290. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  291. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  292. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  293. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  294. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  295. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  296. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  297. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  298. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  299. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  300. package/esm5/breeze-client.js +0 -9
  301. package/esm5/index.js +0 -2
  302. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  303. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  304. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  305. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
  306. package/esm5/src/abstract-data-service-adapter.js +0 -302
  307. package/esm5/src/array.js +0 -4
  308. package/esm5/src/assert-param.js +0 -317
  309. package/esm5/src/breeze.js +0 -85
  310. package/esm5/src/complex-array.js +0 -119
  311. package/esm5/src/config.js +0 -228
  312. package/esm5/src/core.js +0 -717
  313. package/esm5/src/csdl-metadata-parser.js +0 -385
  314. package/esm5/src/data-service.js +0 -207
  315. package/esm5/src/data-type.js +0 -451
  316. package/esm5/src/default-property-interceptor.js +0 -460
  317. package/esm5/src/entity-action.js +0 -52
  318. package/esm5/src/entity-aspect.js +0 -812
  319. package/esm5/src/entity-group.js +0 -189
  320. package/esm5/src/entity-key.js +0 -118
  321. package/esm5/src/entity-manager.js +0 -2112
  322. package/esm5/src/entity-metadata.js +0 -2144
  323. package/esm5/src/entity-query.js +0 -1023
  324. package/esm5/src/entity-state.js +0 -106
  325. package/esm5/src/enum.js +0 -144
  326. package/esm5/src/event.js +0 -259
  327. package/esm5/src/interface-registry.js +0 -43
  328. package/esm5/src/key-generator.js +0 -111
  329. package/esm5/src/local-query-comparison-options.js +0 -67
  330. package/esm5/src/mapping-context.js +0 -407
  331. package/esm5/src/observable-array.js +0 -201
  332. package/esm5/src/predicate.js +0 -1300
  333. package/esm5/src/primitive-array.js +0 -87
  334. package/esm5/src/query-options.js +0 -167
  335. package/esm5/src/relation-array.js +0 -175
  336. package/esm5/src/save-options.js +0 -43
  337. package/esm5/src/unattached-children-map.js +0 -60
  338. package/esm5/src/validation-options.js +0 -66
  339. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  340. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  341. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  342. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  343. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  344. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  345. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  346. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  347. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  348. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  349. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  350. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  351. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  352. package/fesm2015/breeze-client.js.map +0 -1
  353. package/fesm5/breeze-client-adapter-ajax-angularjs.js +0 -186
  354. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  355. package/fesm5/breeze-client-adapter-ajax-fetch.js +0 -186
  356. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  357. package/fesm5/breeze-client-adapter-ajax-httpclient.js +0 -193
  358. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  359. package/fesm5/breeze-client-adapter-ajax-jquery.js +0 -111
  360. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  361. package/fesm5/breeze-client-adapter-ajax-post.js +0 -86
  362. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  363. package/fesm5/breeze-client-adapter-data-service-odata.js +0 -519
  364. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  365. package/fesm5/breeze-client-adapter-data-service-webapi.js +0 -104
  366. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  367. package/fesm5/breeze-client-adapter-model-library-backing-store.js +0 -276
  368. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  369. package/fesm5/breeze-client-adapter-model-library-ko.js +0 -248
  370. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  371. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  372. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  373. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  374. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  375. package/fesm5/breeze-client-mixin-get-entity-graph.js +0 -254
  376. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  377. package/fesm5/breeze-client-mixin-save-queuing.js +0 -356
  378. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  379. package/fesm5/breeze-client.js +0 -13820
  380. package/fesm5/breeze-client.js.map +0 -1
  381. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  382. package/mixin-get-entity-graph/package.json +0 -13
  383. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  384. package/mixin-save-queuing/package.json +0 -13
@@ -0,0 +1,78 @@
1
+ import { core } from './core';
2
+ import { assertConfig } from './assert-param';
3
+ /**
4
+ A ValidationOptions instance is used to specify the conditions under which validation will be executed.
5
+
6
+ */
7
+ export class ValidationOptions {
8
+ /** @hidden @internal */
9
+ _$typeName; // on proto
10
+ /** Whether entity and property level validation should occur when entities are attached to the EntityManager
11
+ other than via a query. (default = true) __Read Only__ */
12
+ validateOnAttach;
13
+ /** Whether entity and property level validation should occur before entities are saved.
14
+ A failed validation will force the save to fail early. (default = true) __Read Only__ */
15
+ validateOnSave;
16
+ /** Whether entity and property level validation should occur after entities are queried from a remote server.
17
+ (default = false) __Read Only__ **/
18
+ validateOnQuery;
19
+ /** Whether property level validation should occur after entities are modified.
20
+ (default = true) __Read Only__ **/
21
+ validateOnPropertyChange;
22
+ /**
23
+ ValidationOptions constructor
24
+ > var newVo = new ValidationOptions( { validateOnSave: false, validateOnAttach: false });
25
+ > // assume em1 is a preexisting EntityManager
26
+ > em1.setProperties( { validationOptions: newVo });
27
+ @param config - A configuration object.
28
+ **/
29
+ constructor(config) {
30
+ updateWithConfig(this, config);
31
+ }
32
+ /**
33
+ Returns a copy of this ValidationOptions with changes to the specified config properties.
34
+ > var validationOptions = new ValidationOptions();
35
+ > var newOptions = validationOptions.using( { validateOnQuery: true, validateOnSave: false} );
36
+ @param config - A configuration object
37
+ @return A new ValidationOptions instance.
38
+ **/
39
+ using(config) {
40
+ if (!config)
41
+ return this;
42
+ let result = new ValidationOptions(this);
43
+ updateWithConfig(result, config);
44
+ return result;
45
+ }
46
+ /**
47
+ Sets the 'defaultInstance' by creating a copy of the current 'defaultInstance' and then applying all of the properties of the current instance.
48
+ The current instance is returned unchanged.
49
+ > var validationOptions = new ValidationOptions()
50
+ > var newOptions = validationOptions.using( { validateOnQuery: true, validateOnSave: false} );
51
+ > var newOptions.setAsDefault();
52
+ **/
53
+ setAsDefault() {
54
+ return core.setAsDefault(this, ValidationOptions);
55
+ }
56
+ /**
57
+ The default instance for use whenever ValidationOptions are not specified.
58
+ **/
59
+ static defaultInstance = new ValidationOptions({
60
+ validateOnAttach: true,
61
+ validateOnSave: true,
62
+ validateOnQuery: false,
63
+ validateOnPropertyChange: true
64
+ });
65
+ }
66
+ ValidationOptions.prototype._$typeName = "ValidationOptions";
67
+ function updateWithConfig(options, config) {
68
+ if (config) {
69
+ assertConfig(config)
70
+ .whereParam("validateOnAttach").isBoolean().isOptional()
71
+ .whereParam("validateOnSave").isBoolean().isOptional()
72
+ .whereParam("validateOnQuery").isBoolean().isOptional()
73
+ .whereParam("validateOnPropertyChange").isBoolean().isOptional()
74
+ .applyAll(options);
75
+ }
76
+ return options;
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24tb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFHLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCOUM7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qix3QkFBd0I7SUFDeEIsVUFBVSxDQUFTLENBQUMsV0FBVztJQUMvQjs2REFDeUQ7SUFDekQsZ0JBQWdCLENBQVU7SUFDMUI7NEZBQ3dGO0lBQ3hGLGNBQWMsQ0FBVTtJQUN4Qjt3Q0FDb0M7SUFDcEMsZUFBZSxDQUFVO0lBQ3pCO3NDQUNrQztJQUNsQyx3QkFBd0IsQ0FBVTtJQUlsQzs7Ozs7O09BTUc7SUFDSCxZQUFZLE1BQWdDO1FBQzFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0Q7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLE1BQStCO1FBQ25DLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLGlCQUFpQixDQUFDO1FBQzdDLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsY0FBYyxFQUFFLElBQUk7UUFDcEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsd0JBQXdCLEVBQUUsSUFBSTtLQUMvQixDQUFDLENBQUM7O0FBRUwsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztBQUU3RCxTQUFTLGdCQUFnQixDQUFDLE9BQTBCLEVBQUUsTUFBK0I7SUFDbkYsSUFBSSxNQUFNLEVBQUU7UUFDVixZQUFZLENBQUMsTUFBTSxDQUFDO2FBQ2YsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO2FBQ3ZELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRTthQUNyRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUU7YUFDdEQsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO2FBQy9ELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN4QjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3JlICB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW1ZhbGlkYXRpb25PcHRpb25zXV0gY29uc3RydWN0b3IgKi9cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZyB7XHJcbiAgLyoqIFdoZXRoZXIgZW50aXR5IGFuZCBwcm9wZXJ0eSBsZXZlbCB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciB3aGVuIGVudGl0aWVzIGFyZSBhdHRhY2hlZCB0byB0aGUgRW50aXR5TWFuYWdlciBcclxuICBvdGhlciB0aGFuIHZpYSBhIHF1ZXJ5LiAoZGVmYXVsdCA9IHRydWUpICovXHJcbiAgdmFsaWRhdGVPbkF0dGFjaD86IGJvb2xlYW47XHJcbiAgLyoqICBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYmVmb3JlIGVudGl0aWVzIGFyZSBzYXZlZC4gXHJcbiAgQSBmYWlsZWQgdmFsaWRhdGlvbiB3aWxsIGZvcmNlIHRoZSBzYXZlIHRvIGZhaWwgZWFybHkuIChkZWZhdWx0ID0gdHJ1ZSkgICovXHJcbiAgdmFsaWRhdGVPblNhdmU/OiBib29sZWFuO1xyXG4gIC8qKiBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYWZ0ZXIgZW50aXRpZXMgYXJlIHF1ZXJpZWQgZnJvbSBhIHJlbW90ZSBzZXJ2ZXIuXHJcbiAgKGRlZmF1bHQgPSBmYWxzZSkgICoqL1xyXG4gIHZhbGlkYXRlT25RdWVyeT86IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYWZ0ZXIgZW50aXRpZXMgYXJlIG1vZGlmaWVkLlxyXG4gIChkZWZhdWx0ID0gdHJ1ZSkgICoqL1xyXG4gIHZhbGlkYXRlT25Qcm9wZXJ0eUNoYW5nZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG5BIFZhbGlkYXRpb25PcHRpb25zIGluc3RhbmNlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgY29uZGl0aW9ucyB1bmRlciB3aGljaCB2YWxpZGF0aW9uIHdpbGwgYmUgZXhlY3V0ZWQuXHJcblxyXG4qL1xyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbk9wdGlvbnMgaW1wbGVtZW50cyBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZyB7XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgXyR0eXBlTmFtZTogc3RyaW5nOyAvLyBvbiBwcm90b1xyXG4gIC8qKiBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgd2hlbiBlbnRpdGllcyBhcmUgYXR0YWNoZWQgdG8gdGhlIEVudGl0eU1hbmFnZXIgXHJcbiAgb3RoZXIgdGhhbiB2aWEgYSBxdWVyeS4gKGRlZmF1bHQgPSB0cnVlKSBfX1JlYWQgT25seV9fICovXHJcbiAgdmFsaWRhdGVPbkF0dGFjaDogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGJlZm9yZSBlbnRpdGllcyBhcmUgc2F2ZWQuIFxyXG4gIEEgZmFpbGVkIHZhbGlkYXRpb24gd2lsbCBmb3JjZSB0aGUgc2F2ZSB0byBmYWlsIGVhcmx5LiAoZGVmYXVsdCA9IHRydWUpIF9fUmVhZCBPbmx5X18gKi9cclxuICB2YWxpZGF0ZU9uU2F2ZTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGFmdGVyIGVudGl0aWVzIGFyZSBxdWVyaWVkIGZyb20gYSByZW1vdGUgc2VydmVyLlxyXG4gIChkZWZhdWx0ID0gZmFsc2UpIF9fUmVhZCBPbmx5X18gICoqL1xyXG4gIHZhbGlkYXRlT25RdWVyeTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBwcm9wZXJ0eSBsZXZlbCB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciBhZnRlciBlbnRpdGllcyBhcmUgbW9kaWZpZWQuXHJcbiAgKGRlZmF1bHQgPSB0cnVlKSBfX1JlYWQgT25seV9fICoqL1xyXG4gIHZhbGlkYXRlT25Qcm9wZXJ0eUNoYW5nZTogYm9vbGVhbjtcclxuXHJcblxyXG5cclxuICAvKiogXHJcbiAgVmFsaWRhdGlvbk9wdGlvbnMgY29uc3RydWN0b3JcclxuICA+ICAgICB2YXIgbmV3Vm8gPSBuZXcgVmFsaWRhdGlvbk9wdGlvbnMoIHsgdmFsaWRhdGVPblNhdmU6IGZhbHNlLCB2YWxpZGF0ZU9uQXR0YWNoOiBmYWxzZSB9KTtcclxuICA+ICAgICAvLyBhc3N1bWUgZW0xIGlzIGEgcHJlZXhpc3RpbmcgRW50aXR5TWFuYWdlclxyXG4gID4gICAgIGVtMS5zZXRQcm9wZXJ0aWVzKCB7IHZhbGlkYXRpb25PcHRpb25zOiBuZXdWbyB9KTtcclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuICAqKi9cclxuICBjb25zdHJ1Y3Rvcihjb25maWc/OiBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZykge1xyXG4gICAgdXBkYXRlV2l0aENvbmZpZyh0aGlzLCBjb25maWcpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgYSBjb3B5IG9mIHRoaXMgVmFsaWRhdGlvbk9wdGlvbnMgd2l0aCBjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpZWQgY29uZmlnIHByb3BlcnRpZXMuXHJcbiAgPiAgICAgdmFyIHZhbGlkYXRpb25PcHRpb25zID0gbmV3IFZhbGlkYXRpb25PcHRpb25zKCk7XHJcbiAgPiAgICAgdmFyIG5ld09wdGlvbnMgPSB2YWxpZGF0aW9uT3B0aW9ucy51c2luZyggeyB2YWxpZGF0ZU9uUXVlcnk6IHRydWUsIHZhbGlkYXRlT25TYXZlOiBmYWxzZX0gKTtcclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdFxyXG4gIEByZXR1cm4gQSBuZXcgVmFsaWRhdGlvbk9wdGlvbnMgaW5zdGFuY2UuXHJcbiAgKiovXHJcbiAgdXNpbmcoY29uZmlnOiBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZykge1xyXG4gICAgaWYgKCFjb25maWcpIHJldHVybiB0aGlzO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uT3B0aW9ucyh0aGlzKTtcclxuICAgIHVwZGF0ZVdpdGhDb25maWcocmVzdWx0LCBjb25maWcpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFNldHMgdGhlICdkZWZhdWx0SW5zdGFuY2UnIGJ5IGNyZWF0aW5nIGEgY29weSBvZiB0aGUgY3VycmVudCAnZGVmYXVsdEluc3RhbmNlJyBhbmQgdGhlbiBhcHBseWluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UuXHJcbiAgVGhlIGN1cnJlbnQgaW5zdGFuY2UgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxyXG4gID4gICAgIHZhciB2YWxpZGF0aW9uT3B0aW9ucyA9IG5ldyBWYWxpZGF0aW9uT3B0aW9ucygpXHJcbiAgPiAgICAgdmFyIG5ld09wdGlvbnMgPSB2YWxpZGF0aW9uT3B0aW9ucy51c2luZyggeyB2YWxpZGF0ZU9uUXVlcnk6IHRydWUsIHZhbGlkYXRlT25TYXZlOiBmYWxzZX0gKTtcclxuICA+ICAgICB2YXIgbmV3T3B0aW9ucy5zZXRBc0RlZmF1bHQoKTtcclxuICAqKi9cclxuICBzZXRBc0RlZmF1bHQoKSB7XHJcbiAgICByZXR1cm4gY29yZS5zZXRBc0RlZmF1bHQodGhpcywgVmFsaWRhdGlvbk9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgVGhlIGRlZmF1bHQgaW5zdGFuY2UgZm9yIHVzZSB3aGVuZXZlciBWYWxpZGF0aW9uT3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC5cclxuICAqKi9cclxuICBzdGF0aWMgZGVmYXVsdEluc3RhbmNlID0gbmV3IFZhbGlkYXRpb25PcHRpb25zKHtcclxuICAgIHZhbGlkYXRlT25BdHRhY2g6IHRydWUsXHJcbiAgICB2YWxpZGF0ZU9uU2F2ZTogdHJ1ZSxcclxuICAgIHZhbGlkYXRlT25RdWVyeTogZmFsc2UsXHJcbiAgICB2YWxpZGF0ZU9uUHJvcGVydHlDaGFuZ2U6IHRydWVcclxuICB9KTtcclxufVxyXG5WYWxpZGF0aW9uT3B0aW9ucy5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiVmFsaWRhdGlvbk9wdGlvbnNcIjtcclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZVdpdGhDb25maWcob3B0aW9uczogVmFsaWRhdGlvbk9wdGlvbnMsIGNvbmZpZzogVmFsaWRhdGlvbk9wdGlvbnNDb25maWcpIHtcclxuICBpZiAoY29uZmlnKSB7XHJcbiAgICBhc3NlcnRDb25maWcoY29uZmlnKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwidmFsaWRhdGVPbkF0dGFjaFwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcInZhbGlkYXRlT25TYXZlXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwidmFsaWRhdGVPblF1ZXJ5XCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwidmFsaWRhdGVPblByb3BlcnR5Q2hhbmdlXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC5hcHBseUFsbChvcHRpb25zKTtcclxuICB9XHJcbiAgcmV0dXJuIG9wdGlvbnM7XHJcbn1cclxuIl19
@@ -50,6 +50,11 @@ function encodeParams(obj) {
50
50
  }
51
51
 
52
52
  class AjaxAngularjsAdapter {
53
+ name;
54
+ defaultSettings;
55
+ requestInterceptor;
56
+ $http;
57
+ $rootScope;
53
58
  constructor() {
54
59
  this.name = "angularjs";
55
60
  this.defaultSettings = {};
@@ -182,4 +187,4 @@ config.registerAdapter("ajax", AjaxAngularjsAdapter);
182
187
  */
183
188
 
184
189
  export { AjaxAngularjsAdapter };
185
- //# sourceMappingURL=breeze-client-adapter-ajax-angularjs.js.map
190
+ //# sourceMappingURL=breeze-client-adapter-ajax-angularjs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-angularjs.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-ajax-angularjs.ts","../../src/breeze-client-adapter-ajax-angularjs.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import { AjaxAdapter, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\nexport class AjaxAngularjsAdapter implements AjaxAdapter {\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n $http: any;\r\n $rootScope: any;\r\n constructor() {\r\n this.name = \"angularjs\";\r\n this.defaultSettings = {};\r\n this.requestInterceptor = undefined;\r\n // Will set:\r\n // this.$http;\r\n // this.$rootScope;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", \"angularjs\", true) as AjaxAngularjsAdapter;\r\n }\r\n\r\n initialize() {\r\n\r\n let ng = core.requireLib(\"angular\");\r\n if (ng) {\r\n let $injector = ng.injector(['ng']);\r\n let http: any, rootScope: any;\r\n $injector.invoke(['$http', '$rootScope', function ($http: any, $rootScope: any) {\r\n http = $http;\r\n rootScope = $rootScope;\r\n }]);\r\n this.$http = http;\r\n this.$rootScope = rootScope;\r\n }\r\n\r\n }\r\n\r\n setHttp(http: any) {\r\n this.$http = http;\r\n this.$rootScope = null; // to suppress $rootScope.digest\r\n }\r\n\r\n\r\n ajax(config: any) {\r\n if (!this.$http) {\r\n throw new Error(\"Unable to locate angularjs for ajax adapter\");\r\n }\r\n let ngConfig = {\r\n method: config.type,\r\n url: config.url,\r\n dataType: config.dataType,\r\n contentType: config.contentType,\r\n crossDomain: config.crossDomain,\r\n headers: config.headers || {},\r\n data: undefined as any\r\n };\r\n\r\n if (config.params) {\r\n // Hack: because of the way that Angular handles writing parameters out to the url.\r\n // so this approach takes over the url param writing completely.\r\n // See: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/\r\n ngConfig.url = appendQueryStringParameter(ngConfig.url, encodeParams(config.params));\r\n }\r\n\r\n if (config.data) {\r\n ngConfig.data = config.data;\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n ngConfig = core.extend(compositeConfig, ngConfig) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n ngConfig.headers = core.extend(headers, ngConfig.headers);\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: ngConfig, // angular's $http configuration object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n responseSuccess: responseSuccessFn, // adapter's success callback (ng 1.6+)\r\n responseError: responseErrorFn // adapter's error callback (ng 1.6+)\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n let prom = this.$http(requestInfo.config);\r\n if (prom.success) {\r\n // response for ng < 1.6 \r\n prom.success(requestInfo.success).error(requestInfo.error);\r\n } else {\r\n // response for ng 1.6+\r\n prom.then(requestInfo.responseSuccess).catch(requestInfo.responseError);\r\n }\r\n this.$rootScope && this.$rootScope.$digest();\r\n }\r\n\r\n function responseSuccessFn(response: any) {\r\n return successFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function successFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // HACK: because $http returns a server side null as a string containing \"null\" - this is WRONG.\r\n if (data === \"null\") data = null;\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function responseErrorFn(response: any) {\r\n return errorFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function errorFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // Timeout appears as an error with status===0 and no data.\r\n // Make it better\r\n if (status === 0 && data == null) {\r\n data = 'timeout';\r\n }\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-angularjs';\n"],"names":[],"mappings":"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"}
@@ -53,6 +53,10 @@ function encodeParams(obj) {
53
53
  * See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
54
54
  */
55
55
  class AjaxFetchAdapter {
56
+ static adapterName = "fetch";
57
+ name;
58
+ defaultSettings;
59
+ requestInterceptor;
56
60
  constructor() {
57
61
  this.name = AjaxFetchAdapter.adapterName;
58
62
  this.defaultSettings = {};
@@ -76,9 +80,11 @@ class AjaxFetchAdapter {
76
80
  credentials: 'include',
77
81
  headers: {
78
82
  'Content-Type': config.contentType || 'application/json',
83
+ // ...config.headers
84
+ // 'Content-Type': 'application/x-www-form-urlencoded',
79
85
  },
80
86
  redirect: 'follow',
81
- referrer: 'client',
87
+ referrer: 'client', // no-referrer, *client
82
88
  };
83
89
  if (config.type !== "GET" && config.type !== "HEAD") {
84
90
  // body data type must match "Content-Type" header
@@ -107,7 +113,7 @@ class AjaxFetchAdapter {
107
113
  config: init,
108
114
  dsaConfig: config,
109
115
  success: successFn,
110
- error: errorFn,
116
+ error: errorFn, // adapter's error callback
111
117
  };
112
118
  if (core.isFunction(this.requestInterceptor)) {
113
119
  let ri = this.requestInterceptor;
@@ -155,7 +161,6 @@ class AjaxFetchAdapter {
155
161
  }
156
162
  }
157
163
  }
158
- AjaxFetchAdapter.adapterName = "fetch";
159
164
  config.registerAdapter("ajax", AjaxFetchAdapter);
160
165
  function getHeadersFn(response) {
161
166
  if (!response || response.status === 0) { // timeout or abort; no headers
@@ -182,4 +187,4 @@ function getHeadersFn(response) {
182
187
  */
183
188
 
184
189
  export { AjaxFetchAdapter };
185
- //# sourceMappingURL=breeze-client-adapter-ajax-fetch.js.map
190
+ //# sourceMappingURL=breeze-client-adapter-ajax-fetch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-fetch.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-ajax-fetch.ts","../../src/breeze-client-adapter-ajax-fetch.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import { AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\n/** Breeze AJAX adapter using fetch API \r\n * See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\r\n*/\r\nexport class AjaxFetchAdapter implements AjaxAdapter {\r\n static adapterName = \"fetch\";\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n\r\n constructor() {\r\n this.name = AjaxFetchAdapter.adapterName;\r\n this.defaultSettings = { };\r\n this.requestInterceptor = undefined;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", AjaxFetchAdapter.adapterName, true) as AjaxFetchAdapter;\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!fetch) {\r\n throw new Error(\"fetch API not supported in this browser\");\r\n }\r\n\r\n let init: RequestInit = {\r\n method: config.type, // *GET, POST, PUT, DELETE, etc.\r\n mode: 'cors', // no-cors, *cors, same-origin\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: 'include', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': config.contentType || 'application/json',\r\n // ...config.headers\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n redirect: 'follow', // manual, *follow, error\r\n referrer: 'client', // no-referrer, *client\r\n };\r\n if (config.type !== \"GET\" && config.type !== \"HEAD\") {\r\n // body data type must match \"Content-Type\" header\r\n // let data = config.params || config.data;\r\n let data = config.data;\r\n if (typeof(data) !== \"string\") {\r\n data = JSON.stringify(data);\r\n }\r\n init.body = data;\r\n }\r\n\r\n let url = config.url;\r\n if (!core.isEmpty(config.params)) {\r\n // Hack: Not sure how Fetch handles writing 'search' parameters to the url.\r\n // so this approach takes over the url param writing completely.\r\n url = appendQueryStringParameter(url, encodeParams(config.params));\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n init = core.extend(compositeConfig, init) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n init.headers = core.extend(headers, init.headers) as any;\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: init, // fetch api 'init' object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n fetch(url, requestInfo.config).then(response => {\r\n if (!response.ok) {\r\n response.text().then(s => {\r\n requestInfo.error(response.status, response.statusText, s, response, null);\r\n });\r\n } else {\r\n response.json().then(j => {\r\n requestInfo.success(j, response.statusText, response);\r\n });\r\n }\r\n }).catch(err => {\r\n requestInfo.error(0, err && err.message || err, null, null, err);\r\n });\r\n }\r\n\r\n function successFn(data: any, statusText: string, response: Response) {\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: getHeadersFn(response),\r\n status: response.status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function errorFn(status: number, statusText: string, body: string, response: Response, errorThrown: any) {\r\n let httpResponse = {\r\n config: config,\r\n data: body,\r\n error: errorThrown || statusText,\r\n getHeaders: getHeadersFn(response),\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n\r\nfunction getHeadersFn(response: Response): any {\r\n if (!response || response.status === 0) { // timeout or abort; no headers\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ? \"\" : {};\r\n };\r\n } else {\r\n return function (headerName: string) {\r\n if (headerName && headerName.length > 0) {\r\n return response.headers.get(headerName);\r\n }\r\n let hob = {};\r\n response.headers.forEach((val, key) => {\r\n hob[key] = val;\r\n });\r\n return hob;\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-fetch';\n"],"names":[],"mappings":"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"}
@@ -52,10 +52,13 @@ function encodeParams(obj) {
52
52
  }
53
53
 
54
54
  class AjaxHttpClientAdapter {
55
+ http;
56
+ static adapterName = 'httpclient';
57
+ name = AjaxHttpClientAdapter.adapterName;
58
+ defaultSettings = {};
59
+ requestInterceptor;
55
60
  constructor(http) {
56
61
  this.http = http;
57
- this.name = AjaxHttpClientAdapter.adapterName;
58
- this.defaultSettings = {};
59
62
  }
60
63
  static register(http, breezeConfig) {
61
64
  breezeConfig = breezeConfig || config;
@@ -178,7 +181,6 @@ class AjaxHttpClientAdapter {
178
181
  }
179
182
  }
180
183
  }
181
- AjaxHttpClientAdapter.adapterName = 'httpclient';
182
184
  ///// Helpers ////
183
185
  function makeGetHeaders(headers) {
184
186
  return function getHeaders(headerName) { return headers.getAll(headerName).join('\r\n'); };
@@ -189,4 +191,4 @@ function makeGetHeaders(headers) {
189
191
  */
190
192
 
191
193
  export { AjaxHttpClientAdapter };
192
- //# sourceMappingURL=breeze-client-adapter-ajax-httpclient.js.map
194
+ //# sourceMappingURL=breeze-client-adapter-ajax-httpclient.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-httpclient.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-ajax-httpclient.ts","../../src/breeze-client-adapter-ajax-httpclient.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import { HttpClient, HttpErrorResponse, HttpEvent, HttpHeaders, HttpRequest, HttpResponse } from \"@angular/common/http\";\r\nimport { AjaxConfig, config, core, HttpResponse as BreezeHttpResponse, BreezeConfig, AjaxRequestInterceptor, AjaxAdapter } from \"breeze-client\";\r\nimport { filter, map } from \"rxjs/operators\";\r\nimport { appendQueryStringParameter, encodeParams } from \"./adapter-core\";\r\n\r\nexport class AjaxHttpClientAdapter implements AjaxAdapter {\r\n static adapterName = 'httpclient';\r\n name = AjaxHttpClientAdapter.adapterName;\r\n defaultSettings = {};\r\n requestInterceptor: AjaxRequestInterceptor;\r\n\r\n constructor(public http: HttpClient) { }\r\n\r\n static register(http: HttpClient, breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", <any>function () { return new AjaxHttpClientAdapter(http); });\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", AjaxHttpClientAdapter.adapterName, true) as AjaxHttpClientAdapter;\r\n }\r\n\r\n initialize() { }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!this.http) {\r\n throw new Error('Unable to locate angular http module for ajax adapter');\r\n }\r\n\r\n // merge default DataSetAdapter Settings with config arg\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n config = <AjaxConfig>core.extend(compositeConfig, config);\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings['headers']); // copy default headers 1st\r\n config['headers'] = core.extend(headers, config.headers);\r\n }\r\n\r\n if (config.crossDomain) {\r\n throw new Error(this.name + ' does not support JSONP (crossDomain) requests');\r\n }\r\n\r\n // Hack: Not sure how Angular handles writing 'search' parameters to the url.\r\n // so this approach takes over the url param writing completely.\r\n const parameters = core.isEmpty(config.params) ? null : encodeParams(config.params);\r\n const url = appendQueryStringParameter(config.url, parameters);\r\n\r\n let headers = new HttpHeaders(config.headers || {});\r\n if (!headers.has('Content-Type')) {\r\n if (config.type !== 'GET' && config.type !== 'DELETE' && !!config.contentType) {\r\n headers = headers.set('Content-Type',\r\n <string>config.contentType || 'application/json; charset=utf-8');\r\n }\r\n }\r\n\r\n let body: any = config.data;\r\n let request = new HttpRequest((config.type || 'GET').toUpperCase(), url, body, { headers: headers, responseType: \"text\" });\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n request: request, // the http request from the requestOptions\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n this.requestInterceptor(requestInfo as any);\r\n if (this.requestInterceptor['oneTime']) {\r\n this.requestInterceptor = null;\r\n }\r\n }\r\n\r\n if (requestInfo.request) { // exists unless requestInterceptor killed it.\r\n const ffilter = filter((response: HttpEvent<any>) => response instanceof HttpResponse);\r\n const fmap = map(extractData);\r\n\r\n fmap(ffilter(this.http.request(requestInfo.request)))\r\n .forEach(requestInfo.success)\r\n .catch(requestInfo.error);\r\n }\r\n\r\n function extractData(event: HttpEvent<any>) {\r\n let response = event as HttpResponse<any>;\r\n let data: any;\r\n let dt = requestInfo.dsaConfig.dataType;\r\n // beware:`res.json` and `res.text` will be async some day\r\n if (dt && dt !== 'json') {\r\n data = response.body;\r\n } else {\r\n data = JSON.parse(response.body);\r\n }\r\n return { data, response };\r\n }\r\n\r\n function successFn(arg: { data: any, response: HttpResponse<any> }) {\r\n if (arg.response.status < 200 || arg.response.status >= 300) {\r\n throw { data: arg.data, response: arg.response };\r\n }\r\n\r\n let httpResponse: BreezeHttpResponse = {\r\n config: requestInfo.request,\r\n data: arg.data,\r\n getHeaders: makeGetHeaders(arg.response.headers),\r\n status: arg.response.status\r\n };\r\n httpResponse['ngConfig'] = requestInfo.request;\r\n httpResponse['statusText'] = arg.response.statusText;\r\n httpResponse['response'] = arg.response;\r\n config.success(httpResponse);\r\n }\r\n\r\n function errorFn(response: HttpErrorResponse) {\r\n if (response instanceof Error) {\r\n throw response; // program error; nothing we can do\r\n } else {\r\n let data: any;\r\n if (response.error instanceof HttpResponse) {\r\n data = response.error.body;\r\n } else if (response.error instanceof Error) {\r\n data = response.error.message;\r\n } else {\r\n data = response.error;\r\n }\r\n\r\n // Timeout appears as an error with status===0 and no data.\r\n if (response.status === 0 && data == null) {\r\n data = 'timeout';\r\n }\r\n\r\n let errorMessage = response.status + \": \" + response.statusText;\r\n if (data && typeof data === 'object') {\r\n data[\"message\"] = data[\"message\"] || errorMessage; // breeze looks at the message property\r\n }\r\n if (!data) {\r\n data = errorMessage; // Return the error message as data\r\n }\r\n let httpResponse: BreezeHttpResponse = {\r\n config: requestInfo.request,\r\n data: data,\r\n getHeaders: makeGetHeaders(response.headers),\r\n status: response.status\r\n };\r\n httpResponse['ngConfig'] = requestInfo.request;\r\n httpResponse['statusText'] = response.statusText;\r\n httpResponse['response'] = response;\r\n\r\n config.error(httpResponse); // send error to breeze error handler\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n///// Helpers ////\r\n\r\nfunction makeGetHeaders(headers: HttpHeaders) {\r\n return function getHeaders(headerName?: string) { return headers.getAll(headerName).join('\\r\\n'); };\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-httpclient';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { config, core } from 'breeze-client';
2
2
 
3
3
  class AjaxJQueryAdapter {
4
+ name;
5
+ defaultSettings;
6
+ requestInterceptor;
7
+ jQuery;
4
8
  constructor() {
5
9
  this.name = "jQuery";
6
10
  this.defaultSettings = {};
@@ -43,7 +47,7 @@ class AjaxJQueryAdapter {
43
47
  config: jqConfig,
44
48
  dsaConfig: config,
45
49
  success: successFn,
46
- error: errorFn,
50
+ error: errorFn, // adapter's error callback
47
51
  };
48
52
  if (core.isFunction(this.requestInterceptor)) {
49
53
  let ri = this.requestInterceptor;
@@ -107,4 +111,4 @@ function getHeadersFn(jqXHR) {
107
111
  */
108
112
 
109
113
  export { AjaxJQueryAdapter };
110
- //# sourceMappingURL=breeze-client-adapter-ajax-jquery.js.map
114
+ //# sourceMappingURL=breeze-client-adapter-ajax-jquery.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-jquery.mjs","sources":["../../src/adapter-ajax-jquery.ts","../../src/breeze-client-adapter-ajax-jquery.ts"],"sourcesContent":["import { AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\n\r\ndeclare var jQuery: any;\r\n\r\nexport class AjaxJQueryAdapter implements AjaxAdapter {\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n jQuery: any;\r\n\r\n constructor() {\r\n this.name = \"jQuery\";\r\n this.defaultSettings = { };\r\n this.requestInterceptor = undefined;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxJQueryAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", \"jQuery\", true) as AjaxJQueryAdapter;\r\n }\r\n\r\n initialize() {\r\n this.jQuery = jQuery;\r\n // look for the jQuery lib but don't fail immediately if not found\r\n if (!jQuery) {\r\n this.jQuery = core.requireLib(\"jQuery;jquery\");\r\n }\r\n }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!this.jQuery) {\r\n throw new Error(\"Unable to locate jQuery\");\r\n }\r\n let jqConfig = {\r\n type: config.type,\r\n url: config.url,\r\n data: config.params || config.data,\r\n dataType: config.dataType,\r\n contentType: config.contentType,\r\n crossDomain: config.crossDomain,\r\n headers: config.headers || {}\r\n };\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n jqConfig = core.extend(compositeConfig, jqConfig) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n jqConfig.headers = core.extend(headers, jqConfig.headers);\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: jqConfig, // jQuery's ajax 'settings' object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n (requestInfo as any).jqXHR = this.jQuery.ajax(requestInfo.config)\r\n .done(requestInfo.success)\r\n .fail(requestInfo.error);\r\n }\r\n\r\n function successFn(data: any, statusText: string, jqXHR: XMLHttpRequest) {\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: getHeadersFn(jqXHR),\r\n status: jqXHR.status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n // TODO: not sure how to do this or if needed.\r\n // jqXHR.onreadystatechange = null;\r\n // jqXHR.abort = null;\r\n }\r\n\r\n function errorFn(jqXHR: XMLHttpRequest, statusText: string, errorThrown: any) {\r\n let httpResponse = {\r\n config: config,\r\n data: jqXHR.responseText,\r\n error: errorThrown,\r\n getHeaders: getHeadersFn(jqXHR),\r\n status: jqXHR.status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n // TODO: not sure how to do this or if needed.\r\n // jqXHR.onreadystatechange = null;\r\n // jqXHR.abort = null;\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxJQueryAdapter);\r\n\r\nfunction getHeadersFn(jqXHR: XMLHttpRequest): any {\r\n if (jqXHR.status === 0) { // timeout or abort; no headers\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ? \"\" : {};\r\n };\r\n } else { // jqXHR should have header functions\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ?\r\n jqXHR.getResponseHeader(headerName) :\r\n jqXHR.getAllResponseHeaders();\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-jquery';\n"],"names":[],"mappings":"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"}
@@ -80,4 +80,4 @@ class AjaxPostWrapper {
80
80
  */
81
81
 
82
82
  export { AjaxPostWrapper };
83
- //# sourceMappingURL=breeze-client-adapter-ajax-post.js.map
83
+ //# sourceMappingURL=breeze-client-adapter-ajax-post.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-post.mjs","sources":["../../src/adapter-ajax-post.ts","../../src/breeze-client-adapter-ajax-post.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\n/**\r\n * Functions to enable Breeze to use POST for queries when\r\n * special parameters are passed using the .withParameters function.\r\n *\r\n * Copyright 2015-2021 IdeaBlade, Inc. All Rights Reserved.\r\n * Use, reproduction, distribution, and modification of this code is subject to the terms and\r\n * conditions of the IdeaBlade Breeze license, available at http://www.breezejs.com/license\r\n *\r\n * Author: Steve Schmitt\r\n * Version: \r\n * 1.2.0 - Moved into breeze-client repo and npm package\r\n * 1.1.0 - revised: eliminated return object, configAjaxAdapter method; add ajaxPostEnabled flag\r\n * 1.0.6 - original\r\n *\r\n * Special parameters:\r\n * $method: ‘POST’ or ‘GET’ (the default)\r\n * $encoding: ‘JSON’ or x-www-form-urlencoded (the default)\r\n * $data: contains the data to be sent to the server\r\n *\r\n * Installation:\r\n * var ajaxAdapter = config.initializeAdapterInstance('ajax', adapterName, true);\r\n * AjaxPostWrapper.wrapAjax(ajaxAdapter);\r\n *\r\n * Example:\r\n * var query = breeze.EntityQuery.from('SimilarCustomersPOST')\r\n * .withParameters({\r\n * $method: 'POST',\r\n * $encoding: 'JSON',\r\n * $data: { CompanyName: 'Hilo Hattie', ContactName: 'Donald', City: 'Duck', Country: 'USA', Phone: '808-234-5678' }\r\n * });\r\n *\r\n **/\r\nexport class AjaxPostWrapper {\r\n\r\n static wrapAjax(ajaxAdapter: breeze.AjaxAdapter) {\r\n\r\n if ((ajaxAdapter as any).ajaxPostEnabled) {\r\n return; // already wrapped it.\r\n }\r\n\r\n let ajaxFunction = ajaxAdapter.ajax;\r\n if (ajaxFunction) {\r\n ajaxAdapter.ajax = function (settings) {\r\n processSettings(settings);\r\n return ajaxFunction.call(ajaxAdapter, settings);\r\n };\r\n (ajaxAdapter as any).ajaxPostEnabled = true;\r\n }\r\n\r\n\r\n // Handle the POST-specific properties in the settings - $method, $data, $encoding\r\n function processSettings(settings: any) {\r\n let parameters = settings && settings.params;\r\n if (!parameters) return settings;\r\n\r\n // wrapped data; handle the special properties\r\n settings.type = parameters.$method || settings.type; // GET is default method\r\n\r\n let data = parameters.$data;\r\n if (data) {\r\n // if $data exists, assume all of other parameters are guidance for building a POST\r\n if (parameters.$encoding === 'JSON') {\r\n // JSON encoding\r\n settings.processData = false; // don't let JQuery form-encode it\r\n settings.contentType = \"application/json; charset=UTF-8\";\r\n\r\n if (typeof (data) === 'object') {\r\n settings.data = JSON.stringify(data); // encode parameters as JSON\r\n } else {\r\n settings.data = data;\r\n }\r\n } else {\r\n settings.data = data;\r\n }\r\n // must be null or jQuery ajax adapter won't see settings.data\r\n settings.params = null;\r\n }\r\n\r\n return settings;\r\n }\r\n }\r\n\r\n\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-post';\n"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BI;MACS,eAAe,CAAA;IAE1B,OAAO,QAAQ,CAAC,WAA+B,EAAA;QAE7C,IAAK,WAAmB,CAAC,eAAe,EAAE;AACxC,YAAA,OAAO;AACR,SAAA;AAED,QAAA,IAAI,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,WAAW,CAAC,IAAI,GAAG,UAAU,QAAQ,EAAA;gBACnC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAClD,aAAC,CAAC;AACD,YAAA,WAAmB,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7C,SAAA;;QAID,SAAS,eAAe,CAAC,QAAa,EAAA;AACpC,YAAA,IAAI,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC7C,YAAA,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,QAAQ,CAAC;;AAGjC,YAAA,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;AAEpD,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;AAC5B,YAAA,IAAI,IAAI,EAAE;;AAER,gBAAA,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,EAAE;;AAEnC,oBAAA,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,oBAAA,QAAQ,CAAC,WAAW,GAAG,iCAAiC,CAAC;AAEzD,oBAAA,IAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,EAAE;wBAC9B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACtC,qBAAA;AAAM,yBAAA;AACL,wBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACtB,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACtB,iBAAA;;AAED,gBAAA,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;AACxB,aAAA;AAED,YAAA,OAAO,QAAQ,CAAC;SACjB;KACF;AAGF;;ACrFD;;AAEG;;;;"}
@@ -1,4 +1,4 @@
1
- import { core as core$1, AbstractDataServiceAdapter, JsonResultsAdapter, MetadataStore, config, AutoGeneratedKeyType, DataProperty, DataType } from 'breeze-client';
1
+ import * as breeze from 'breeze-client';
2
2
 
3
3
  /** Appends parameter to url, with appropriate delimiter */
4
4
  function appendQueryStringParameter(url, parameter) {
@@ -49,64 +49,22 @@ function encodeParams(obj) {
49
49
  return query.length ? query.substr(0, query.length - 1) : query;
50
50
  }
51
51
 
52
- let core = core$1;
52
+ let core = breeze.core;
53
53
  /** @hidden */
54
- class DataServiceODataAdapter extends AbstractDataServiceAdapter {
54
+ class DataServiceODataAdapter extends breeze.AbstractDataServiceAdapter {
55
+ relativeUrl;
56
+ // _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;
57
+ // changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;
58
+ // _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;
59
+ headers = { "DataServiceVersion": "2.0" };
55
60
  constructor() {
56
61
  super();
57
- // _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;
58
- // changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;
59
- // _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;
60
- this.headers = { "DataServiceVersion": "2.0" };
61
- this.jsonResultsAdapter = new JsonResultsAdapter({
62
- name: "OData_default",
63
- visitNode: function (node, mappingContext, nodeContext) {
64
- let result = {};
65
- if (node == null)
66
- return result;
67
- let metadata = node.__metadata;
68
- if (metadata != null) {
69
- // TODO: may be able to make this more efficient by caching of the previous value.
70
- let entityTypeName = MetadataStore.normalizeTypeName(metadata.type);
71
- let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
72
- // OData response doesn't distinguish a projection from a whole entity.
73
- // We'll assume that whole-entity data would have at least as many properties (<=)
74
- // as the EntityType has mapped properties on the basis that
75
- // most projections remove properties rather than add them.
76
- // If not, assume it's a projection and do NOT treat as an entity
77
- if (et && et._mappedPropertiesCount <= Object.keys(node).length - 1) {
78
- // if (et && et._mappedPropertiesCount === Object.keys(node).length - 1) { // OLD
79
- result.entityType = et;
80
- let uriKey = metadata.uri || metadata.id;
81
- if (uriKey) {
82
- // Strip baseUri to make uriKey a relative uri
83
- // Todo: why is this necessary when absolute works for every OData source tested?
84
- let re = new RegExp('^' + mappingContext.dataService.serviceName, 'i');
85
- uriKey = uriKey.replace(re, '');
86
- }
87
- result.extraMetadata = {
88
- uriKey: uriKey,
89
- etag: metadata.etag
90
- };
91
- }
92
- }
93
- // OData v3 - projection arrays will be enclosed in a results array
94
- if (node.results) {
95
- result.node = node.results;
96
- }
97
- let propertyName = nodeContext.propertyName;
98
- result.ignore = node.__deferred != null || propertyName === "__metadata" ||
99
- // EntityKey properties can be produced by EDMX models
100
- (propertyName === "EntityKey" && node.$type && core.stringStartsWith(node.$type, "System.Data"));
101
- return result;
102
- }
103
- });
104
62
  this.name = "OData";
105
63
  }
106
- static register(config$1) {
107
- config$1 = config$1 || config;
108
- config$1.registerAdapter("dataService", DataServiceODataAdapter);
109
- return config$1.initializeAdapterInstance("dataService", "OData", true);
64
+ static register(config) {
65
+ config = config || breeze.config;
66
+ config.registerAdapter("dataService", DataServiceODataAdapter);
67
+ return config.initializeAdapterInstance("dataService", "OData", true);
110
68
  }
111
69
  initialize() {
112
70
  OData = core.requireLib("OData", "Needed to support remote OData services");
@@ -263,9 +221,9 @@ class DataServiceODataAdapter extends AbstractDataServiceAdapter {
263
221
  let tempKey = tempKeys[contentId];
264
222
  if (tempKey) {
265
223
  let entityType = tempKey.entityType;
266
- if (entityType.autoGeneratedKeyType !== AutoGeneratedKeyType.None) {
224
+ if (entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {
267
225
  let tempValue = tempKey.values[0];
268
- let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, DataProperty.getRawValueFromServer);
226
+ let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, breeze.DataProperty.getRawValueFromServer);
269
227
  let keyMapping = { entityTypeName: entityType.name, tempValue: tempValue, realValue: realKey.values[0] };
270
228
  keyMappings.push(keyMapping);
271
229
  }
@@ -285,6 +243,49 @@ class DataServiceODataAdapter extends AbstractDataServiceAdapter {
285
243
  });
286
244
  return promise;
287
245
  }
246
+ jsonResultsAdapter = new breeze.JsonResultsAdapter({
247
+ name: "OData_default",
248
+ visitNode: function (node, mappingContext, nodeContext) {
249
+ let result = {};
250
+ if (node == null)
251
+ return result;
252
+ let metadata = node.__metadata;
253
+ if (metadata != null) {
254
+ // TODO: may be able to make this more efficient by caching of the previous value.
255
+ let entityTypeName = breeze.MetadataStore.normalizeTypeName(metadata.type);
256
+ let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
257
+ // OData response doesn't distinguish a projection from a whole entity.
258
+ // We'll assume that whole-entity data would have at least as many properties (<=)
259
+ // as the EntityType has mapped properties on the basis that
260
+ // most projections remove properties rather than add them.
261
+ // If not, assume it's a projection and do NOT treat as an entity
262
+ if (et && et._mappedPropertiesCount <= Object.keys(node).length - 1) {
263
+ // if (et && et._mappedPropertiesCount === Object.keys(node).length - 1) { // OLD
264
+ result.entityType = et;
265
+ let uriKey = metadata.uri || metadata.id;
266
+ if (uriKey) {
267
+ // Strip baseUri to make uriKey a relative uri
268
+ // Todo: why is this necessary when absolute works for every OData source tested?
269
+ let re = new RegExp('^' + mappingContext.dataService.serviceName, 'i');
270
+ uriKey = uriKey.replace(re, '');
271
+ }
272
+ result.extraMetadata = {
273
+ uriKey: uriKey,
274
+ etag: metadata.etag
275
+ };
276
+ }
277
+ }
278
+ // OData v3 - projection arrays will be enclosed in a results array
279
+ if (node.results) {
280
+ result.node = node.results;
281
+ }
282
+ let propertyName = nodeContext.propertyName;
283
+ result.ignore = node.__deferred != null || propertyName === "__metadata" ||
284
+ // EntityKey properties can be produced by EDMX models
285
+ (propertyName === "EntityKey" && node.$type && core.stringStartsWith(node.$type, "System.Data"));
286
+ return result;
287
+ }
288
+ });
288
289
  getAbsoluteUrl(dataService, url) {
289
290
  let serviceName = dataService.qualifyUrl('');
290
291
  // only prefix with serviceName if not already on the url
@@ -334,14 +335,18 @@ function toQueryString(obj) {
334
335
  }
335
336
  return parts.join("&");
336
337
  }
338
+ /** Transform data properties while unwrapping entities */
337
339
  function transformValue(prop, val) {
338
340
  if (prop.isUnmapped)
339
341
  return undefined;
340
- if (prop.dataType === DataType.DateTimeOffset) {
342
+ if (prop.dataType === breeze.DataType.DateTimeOffset) {
341
343
  // The datajs lib tries to treat client dateTimes that are defined as DateTimeOffset on the server differently
342
344
  // from other dateTimes. This fix compensates before the save.
343
345
  val = val && new Date(val.getTime() - (val.getTimezoneOffset() * 60000));
344
346
  }
347
+ else if (prop.dataType === breeze.DataType.DateOnly) {
348
+ val = breeze.DataType.toDateOnlyString(val);
349
+ }
345
350
  else if (prop.dataType.quoteJsonOData) {
346
351
  val = val != null ? val.toString() : val;
347
352
  }
@@ -476,26 +481,24 @@ function createError(error, url) {
476
481
  catch (e) {
477
482
  }
478
483
  }
479
- AbstractDataServiceAdapter._catchNoConnectionError(result);
484
+ breeze.AbstractDataServiceAdapter._catchNoConnectionError(result);
480
485
  return result;
481
486
  }
482
487
  function getMessage(body) {
483
488
  let msg = body.message || "";
484
489
  return ((typeof (msg) === "string") ? msg : msg.value) + "; ";
485
490
  }
486
- config.registerAdapter("dataService", DataServiceODataAdapter);
491
+ breeze.config.registerAdapter("dataService", DataServiceODataAdapter);
487
492
  let webApiODataCtor = function () {
488
493
  this.name = "webApiOData";
489
494
  };
490
- const ɵ0 = webApiODataCtor;
491
- core$1.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);
492
- config.registerAdapter("dataService", webApiODataCtor);
495
+ breeze.core.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);
496
+ breeze.config.registerAdapter("dataService", webApiODataCtor);
493
497
  // OData 4 adapter
494
498
  let webApiOData4Ctor = function () {
495
499
  this.name = "webApiOData4";
496
500
  };
497
- const ɵ1 = webApiOData4Ctor;
498
- core$1.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);
501
+ breeze.core.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);
499
502
  webApiOData4Ctor.prototype.initialize = function () {
500
503
  // Aargh... they moved the cheese.
501
504
  let datajs = core.requireLib("datajs", "Needed to support remote OData v4 services");
@@ -503,11 +506,11 @@ webApiOData4Ctor.prototype.initialize = function () {
503
506
  OData.json.jsonHandler.recognizeDates = true;
504
507
  };
505
508
  webApiOData4Ctor.prototype.headers = { "OData-Version": "4.0" };
506
- config.registerAdapter("dataService", webApiOData4Ctor);
509
+ breeze.config.registerAdapter("dataService", webApiOData4Ctor);
507
510
 
508
511
  /**
509
512
  * Generated bundle index. Do not edit.
510
513
  */
511
514
 
512
- export { DataServiceODataAdapter, ɵ0, ɵ1 };
513
- //# sourceMappingURL=breeze-client-adapter-data-service-odata.js.map
515
+ export { DataServiceODataAdapter };
516
+ //# sourceMappingURL=breeze-client-adapter-data-service-odata.mjs.map