breeze-client 2.1.7-mjs → 2.2.0-cjs

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 (377) hide show
  1. package/README.md +8 -4
  2. package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
  3. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
  4. package/adapter-ajax-angularjs/package.json +13 -0
  5. package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
  6. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
  7. package/adapter-ajax-fetch/package.json +13 -0
  8. package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
  9. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
  10. package/adapter-ajax-httpclient/package.json +13 -0
  11. package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
  12. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
  13. package/adapter-ajax-jquery/package.json +13 -0
  14. package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
  15. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
  16. package/adapter-ajax-post/package.json +13 -0
  17. package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
  18. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
  19. package/adapter-data-service-odata/package.json +13 -0
  20. package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
  21. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
  22. package/adapter-data-service-webapi/package.json +13 -0
  23. package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
  24. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
  25. package/adapter-model-library-backing-store/package.json +13 -0
  26. package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
  27. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
  28. package/adapter-model-library-ko/package.json +13 -0
  29. package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
  30. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
  31. package/adapter-uri-builder-json/package.json +13 -0
  32. package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
  33. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
  34. package/adapter-uri-builder-odata/package.json +13 -0
  35. package/breeze-client.d.ts +8 -0
  36. package/breeze-client.metadata.json +1 -0
  37. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
  38. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
  39. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
  40. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
  41. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
  42. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
  43. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
  44. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
  45. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
  46. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
  47. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
  48. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
  49. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
  50. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
  51. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
  52. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
  53. package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
  54. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
  55. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
  56. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
  57. package/bundles/breeze-client-adapter-data-service-odata.umd.js +747 -0
  58. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
  59. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
  60. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
  61. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +333 -0
  62. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
  63. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
  64. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
  65. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
  66. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
  67. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
  68. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
  69. package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
  70. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
  71. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
  72. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
  73. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
  74. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
  75. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
  76. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
  77. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
  78. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
  79. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
  80. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
  81. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
  82. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
  83. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
  84. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
  85. package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
  86. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
  87. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
  88. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
  89. package/bundles/breeze-client.umd.js +14234 -0
  90. package/bundles/breeze-client.umd.js.map +1 -0
  91. package/bundles/breeze-client.umd.min.js +16 -0
  92. package/bundles/breeze-client.umd.min.js.map +1 -0
  93. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
  94. package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
  95. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  96. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
  97. package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
  98. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  99. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
  100. package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
  101. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  102. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
  103. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  104. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
  105. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  106. package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
  107. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +463 -0
  108. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  109. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +100 -0
  110. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  111. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
  112. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  113. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
  114. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  115. package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
  116. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
  117. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  118. package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
  119. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
  120. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  121. package/esm2015/breeze-client.js +9 -0
  122. package/esm2015/index.js +2 -0
  123. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  124. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  125. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  126. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
  127. package/esm2015/src/abstract-data-service-adapter.js +327 -0
  128. package/esm2015/src/array.js +4 -0
  129. package/esm2015/src/assert-param.js +312 -0
  130. package/esm2015/src/breeze.js +85 -0
  131. package/esm2015/src/complex-array.js +119 -0
  132. package/esm2015/src/config.js +223 -0
  133. package/esm2015/src/core.js +714 -0
  134. package/esm2015/src/csdl-metadata-parser.js +385 -0
  135. package/esm2015/src/data-service.js +203 -0
  136. package/esm2015/src/data-type.js +506 -0
  137. package/esm2015/src/default-property-interceptor.js +460 -0
  138. package/{esm2022/src/entity-action.mjs → esm2015/src/entity-action.js} +25 -25
  139. package/esm2015/src/entity-aspect.js +804 -0
  140. package/esm2015/src/entity-group.js +187 -0
  141. package/esm2015/src/entity-key.js +116 -0
  142. package/esm2015/src/entity-manager.js +2094 -0
  143. package/esm2015/src/entity-metadata.js +2109 -0
  144. package/esm2015/src/entity-query.js +1015 -0
  145. package/esm2015/src/entity-state.js +107 -0
  146. package/esm2015/src/enum.js +141 -0
  147. package/esm2015/src/event.js +256 -0
  148. package/esm2015/src/interface-registry.js +41 -0
  149. package/esm2015/src/key-generator.js +108 -0
  150. package/esm2015/src/local-query-comparison-options.js +65 -0
  151. package/esm2015/src/mapping-context.js +411 -0
  152. package/esm2015/src/naming-convention.js +88 -0
  153. package/esm2015/src/observable-array.js +185 -0
  154. package/esm2015/src/predicate.js +1242 -0
  155. package/esm2015/src/primitive-array.js +87 -0
  156. package/esm2015/src/query-options.js +152 -0
  157. package/esm2015/src/relation-array.js +175 -0
  158. package/esm2015/src/save-options.js +41 -0
  159. package/esm2015/src/unattached-children-map.js +58 -0
  160. package/esm2015/src/validate.js +991 -0
  161. package/esm2015/src/validation-options.js +64 -0
  162. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
  163. package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
  164. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  165. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
  166. package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
  167. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  168. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
  169. package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
  170. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  171. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
  172. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  173. package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
  174. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  175. package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
  176. package/{esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs → esm5/adapter-data-service-odata/adapter-data-service-odata.js} +147 -138
  177. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  178. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +105 -0
  179. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  180. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
  181. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  182. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
  183. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  184. package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
  185. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
  186. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  187. package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
  188. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
  189. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  190. package/esm5/breeze-client.js +9 -0
  191. package/esm5/index.js +2 -0
  192. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  193. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  194. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  195. package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
  196. package/esm5/src/abstract-data-service-adapter.js +333 -0
  197. package/esm5/src/array.js +4 -0
  198. package/esm5/src/assert-param.js +317 -0
  199. package/esm5/src/breeze.js +85 -0
  200. package/esm5/src/complex-array.js +119 -0
  201. package/esm5/src/config.js +228 -0
  202. package/esm5/src/core.js +722 -0
  203. package/esm5/src/csdl-metadata-parser.js +385 -0
  204. package/esm5/src/data-service.js +207 -0
  205. package/esm5/src/data-type.js +513 -0
  206. package/esm5/src/default-property-interceptor.js +460 -0
  207. package/esm5/src/entity-action.js +52 -0
  208. package/esm5/src/entity-aspect.js +810 -0
  209. package/esm5/src/entity-group.js +189 -0
  210. package/esm5/src/entity-key.js +118 -0
  211. package/esm5/src/entity-manager.js +2112 -0
  212. package/esm5/src/entity-metadata.js +2144 -0
  213. package/esm5/src/entity-query.js +1042 -0
  214. package/esm5/src/entity-state.js +114 -0
  215. package/esm5/src/enum.js +144 -0
  216. package/esm5/src/event.js +259 -0
  217. package/esm5/src/interface-registry.js +43 -0
  218. package/esm5/src/key-generator.js +111 -0
  219. package/esm5/src/local-query-comparison-options.js +67 -0
  220. package/esm5/src/mapping-context.js +413 -0
  221. package/{esm2022/src/naming-convention.mjs → esm5/src/naming-convention.js} +29 -35
  222. package/esm5/src/observable-array.js +201 -0
  223. package/esm5/src/predicate.js +1307 -0
  224. package/esm5/src/primitive-array.js +87 -0
  225. package/esm5/src/query-options.js +167 -0
  226. package/esm5/src/relation-array.js +175 -0
  227. package/esm5/src/save-options.js +43 -0
  228. package/esm5/src/unattached-children-map.js +60 -0
  229. package/{esm2022/src/validate.mjs → esm5/src/validate.js} +110 -116
  230. package/esm5/src/validation-options.js +66 -0
  231. package/{fesm2022/breeze-client-adapter-ajax-angularjs.mjs → fesm2015/breeze-client-adapter-ajax-angularjs.js} +1 -6
  232. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  233. package/{fesm2022/breeze-client-adapter-ajax-fetch.mjs → fesm2015/breeze-client-adapter-ajax-fetch.js} +4 -9
  234. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
  235. package/{fesm2022/breeze-client-adapter-ajax-httpclient.mjs → fesm2015/breeze-client-adapter-ajax-httpclient.js} +4 -6
  236. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  237. package/{fesm2022/breeze-client-adapter-ajax-jquery.mjs → fesm2015/breeze-client-adapter-ajax-jquery.js} +2 -6
  238. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
  239. package/{fesm2022/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -1
  240. package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
  241. package/{fesm2022/breeze-client-adapter-data-service-odata.mjs → fesm2015/breeze-client-adapter-data-service-odata.js} +69 -68
  242. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
  243. package/{fesm2022/breeze-client-adapter-data-service-webapi.mjs → fesm2015/breeze-client-adapter-data-service-webapi.js} +30 -30
  244. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
  245. package/{fesm2022/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -14
  246. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  247. package/{fesm2022/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -14
  248. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
  249. package/{fesm2022/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -9
  250. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
  251. package/{fesm2022/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -86
  252. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  253. package/{fesm2022/breeze-client-mixin-get-entity-graph.mjs → fesm2015/breeze-client-mixin-get-entity-graph.js} +1 -1
  254. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
  255. package/{fesm2022/breeze-client-mixin-save-queuing.mjs → fesm2015/breeze-client-mixin-save-queuing.js} +2 -23
  256. package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
  257. package/{fesm2022/breeze-client.mjs → fesm2015/breeze-client.js} +1543 -2039
  258. package/fesm2015/breeze-client.js.map +1 -0
  259. package/fesm5/breeze-client-adapter-ajax-angularjs.js +186 -0
  260. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  261. package/fesm5/breeze-client-adapter-ajax-fetch.js +186 -0
  262. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
  263. package/fesm5/breeze-client-adapter-ajax-httpclient.js +193 -0
  264. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  265. package/fesm5/breeze-client-adapter-ajax-jquery.js +111 -0
  266. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
  267. package/fesm5/breeze-client-adapter-ajax-post.js +86 -0
  268. package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
  269. package/fesm5/breeze-client-adapter-data-service-odata.js +523 -0
  270. package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
  271. package/fesm5/breeze-client-adapter-data-service-webapi.js +111 -0
  272. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
  273. package/fesm5/breeze-client-adapter-model-library-backing-store.js +276 -0
  274. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  275. package/fesm5/breeze-client-adapter-model-library-ko.js +248 -0
  276. package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
  277. package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
  278. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
  279. package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
  280. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  281. package/fesm5/breeze-client-mixin-get-entity-graph.js +254 -0
  282. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
  283. package/fesm5/breeze-client-mixin-save-queuing.js +356 -0
  284. package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
  285. package/fesm5/breeze-client.js +13956 -0
  286. package/fesm5/breeze-client.js.map +1 -0
  287. package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
  288. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
  289. package/mixin-get-entity-graph/package.json +13 -0
  290. package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
  291. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
  292. package/mixin-save-queuing/package.json +13 -0
  293. package/package.json +11 -93
  294. package/src/config.d.ts +1 -1
  295. package/src/core.d.ts +1 -1
  296. package/src/entity-aspect.d.ts +1 -1
  297. package/src/entity-metadata.d.ts +6 -8
  298. package/src/entity-query.d.ts +1 -1
  299. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -135
  300. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +0 -49
  301. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
  302. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -135
  303. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +0 -49
  304. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
  305. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -139
  306. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +0 -49
  307. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
  308. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -107
  309. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
  310. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
  311. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
  312. package/esm2022/adapter-data-service-odata/adapter-core.mjs +0 -49
  313. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
  314. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -100
  315. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
  316. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -269
  317. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
  318. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -241
  319. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
  320. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +0 -49
  321. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -37
  322. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
  323. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +0 -49
  324. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -191
  325. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
  326. package/esm2022/breeze-client.mjs +0 -5
  327. package/esm2022/index.mjs +0 -2
  328. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
  329. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
  330. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
  331. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +0 -421
  332. package/esm2022/src/abstract-data-service-adapter.mjs +0 -325
  333. package/esm2022/src/array.mjs +0 -4
  334. package/esm2022/src/assert-param.mjs +0 -330
  335. package/esm2022/src/breeze.mjs +0 -85
  336. package/esm2022/src/complex-array.mjs +0 -117
  337. package/esm2022/src/config.mjs +0 -232
  338. package/esm2022/src/core.mjs +0 -712
  339. package/esm2022/src/csdl-metadata-parser.mjs +0 -385
  340. package/esm2022/src/data-service.mjs +0 -239
  341. package/esm2022/src/data-type.mjs +0 -507
  342. package/esm2022/src/default-property-interceptor.mjs +0 -460
  343. package/esm2022/src/entity-aspect.mjs +0 -897
  344. package/esm2022/src/entity-group.mjs +0 -192
  345. package/esm2022/src/entity-key.mjs +0 -127
  346. package/esm2022/src/entity-manager.mjs +0 -2183
  347. package/esm2022/src/entity-metadata.mjs +0 -2242
  348. package/esm2022/src/entity-query.mjs +0 -1024
  349. package/esm2022/src/entity-state.mjs +0 -107
  350. package/esm2022/src/enum.mjs +0 -143
  351. package/esm2022/src/event.mjs +0 -264
  352. package/esm2022/src/interface-registry.mjs +0 -39
  353. package/esm2022/src/key-generator.mjs +0 -110
  354. package/esm2022/src/local-query-comparison-options.mjs +0 -75
  355. package/esm2022/src/mapping-context.mjs +0 -422
  356. package/esm2022/src/observable-array.mjs +0 -183
  357. package/esm2022/src/predicate.mjs +0 -1259
  358. package/esm2022/src/primitive-array.mjs +0 -85
  359. package/esm2022/src/query-options.mjs +0 -160
  360. package/esm2022/src/relation-array.mjs +0 -173
  361. package/esm2022/src/save-options.mjs +0 -51
  362. package/esm2022/src/unattached-children-map.mjs +0 -56
  363. package/esm2022/src/validation-options.mjs +0 -78
  364. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  365. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  366. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  367. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  368. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +0 -1
  369. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  370. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  371. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  372. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  373. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  374. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  375. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  376. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +0 -1
  377. package/fesm2022/breeze-client.mjs.map +0 -1
@@ -0,0 +1,190 @@
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-ajax-angularjs', ['exports', 'breeze-client'], factory) :
4
+ (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-ajax-angularjs'] = {}), global['breeze-client']));
5
+ }(this, (function (exports, breezeClient) { 'use strict';
6
+
7
+ /** Appends parameter to url, with appropriate delimiter */
8
+ function appendQueryStringParameter(url, parameter) {
9
+ if (!parameter)
10
+ return url;
11
+ var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
12
+ return url + separator + parameter;
13
+ }
14
+ /** Encodes the object into query string parameters */
15
+ function encodeParams(obj) {
16
+ var query = '';
17
+ var subValue, innerObj, fullSubName;
18
+ for (var name_1 in obj) {
19
+ if (!obj.hasOwnProperty(name_1)) {
20
+ continue;
21
+ }
22
+ var value = obj[name_1];
23
+ if (value instanceof Array) {
24
+ for (var i = 0; i < value.length; ++i) {
25
+ subValue = value[i];
26
+ fullSubName = name_1 + '[' + i + ']';
27
+ innerObj = {};
28
+ innerObj[fullSubName] = subValue;
29
+ query += encodeParams(innerObj) + '&';
30
+ }
31
+ }
32
+ else if (value && value.toISOString) { // a feature of Date-like things
33
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
34
+ }
35
+ else if (value instanceof Object) {
36
+ for (var subName in value) {
37
+ if (obj.hasOwnProperty(name_1)) {
38
+ subValue = value[subName];
39
+ fullSubName = name_1 + '[' + subName + ']';
40
+ innerObj = {};
41
+ innerObj[fullSubName] = subValue;
42
+ query += encodeParams(innerObj) + '&';
43
+ }
44
+ }
45
+ }
46
+ else if (value === null) {
47
+ query += encodeURIComponent(name_1) + '=&';
48
+ }
49
+ else if (value !== undefined) {
50
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
51
+ }
52
+ }
53
+ return query.length ? query.substr(0, query.length - 1) : query;
54
+ }
55
+
56
+ var AjaxAngularjsAdapter = /** @class */ (function () {
57
+ function AjaxAngularjsAdapter() {
58
+ this.name = "angularjs";
59
+ this.defaultSettings = {};
60
+ this.requestInterceptor = undefined;
61
+ // Will set:
62
+ // this.$http;
63
+ // this.$rootScope;
64
+ }
65
+ AjaxAngularjsAdapter.register = function (breezeConfig) {
66
+ breezeConfig = breezeConfig || breezeClient.config;
67
+ breezeConfig.registerAdapter("ajax", AjaxAngularjsAdapter);
68
+ return breezeConfig.initializeAdapterInstance("ajax", "angularjs", true);
69
+ };
70
+ AjaxAngularjsAdapter.prototype.initialize = function () {
71
+ var ng = breezeClient.core.requireLib("angular");
72
+ if (ng) {
73
+ var $injector = ng.injector(['ng']);
74
+ var http_1, rootScope_1;
75
+ $injector.invoke(['$http', '$rootScope', function ($http, $rootScope) {
76
+ http_1 = $http;
77
+ rootScope_1 = $rootScope;
78
+ }]);
79
+ this.$http = http_1;
80
+ this.$rootScope = rootScope_1;
81
+ }
82
+ };
83
+ AjaxAngularjsAdapter.prototype.setHttp = function (http) {
84
+ this.$http = http;
85
+ this.$rootScope = null; // to suppress $rootScope.digest
86
+ };
87
+ AjaxAngularjsAdapter.prototype.ajax = function (config) {
88
+ if (!this.$http) {
89
+ throw new Error("Unable to locate angularjs for ajax adapter");
90
+ }
91
+ var ngConfig = {
92
+ method: config.type,
93
+ url: config.url,
94
+ dataType: config.dataType,
95
+ contentType: config.contentType,
96
+ crossDomain: config.crossDomain,
97
+ headers: config.headers || {},
98
+ data: undefined
99
+ };
100
+ if (config.params) {
101
+ // Hack: because of the way that Angular handles writing parameters out to the url.
102
+ // so this approach takes over the url param writing completely.
103
+ // See: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/
104
+ ngConfig.url = appendQueryStringParameter(ngConfig.url, encodeParams(config.params));
105
+ }
106
+ if (config.data) {
107
+ ngConfig.data = config.data;
108
+ }
109
+ if (!breezeClient.core.isEmpty(this.defaultSettings)) {
110
+ var compositeConfig = breezeClient.core.extend({}, this.defaultSettings);
111
+ ngConfig = breezeClient.core.extend(compositeConfig, ngConfig);
112
+ // extend is shallow; extend headers separately
113
+ var headers = breezeClient.core.extend({}, this.defaultSettings.headers); // copy default headers 1st
114
+ ngConfig.headers = breezeClient.core.extend(headers, ngConfig.headers);
115
+ }
116
+ var requestInfo = {
117
+ adapter: this,
118
+ config: ngConfig,
119
+ dsaConfig: config,
120
+ success: successFn,
121
+ error: errorFn,
122
+ responseSuccess: responseSuccessFn,
123
+ responseError: responseErrorFn // adapter's error callback (ng 1.6+)
124
+ };
125
+ if (breezeClient.core.isFunction(this.requestInterceptor)) {
126
+ var ri = this.requestInterceptor;
127
+ ri(requestInfo);
128
+ if (ri.oneTime) {
129
+ this.requestInterceptor = undefined;
130
+ }
131
+ }
132
+ if (requestInfo.config) { // exists unless requestInterceptor killed it.
133
+ var prom = this.$http(requestInfo.config);
134
+ if (prom.success) {
135
+ // response for ng < 1.6
136
+ prom.success(requestInfo.success).error(requestInfo.error);
137
+ }
138
+ else {
139
+ // response for ng 1.6+
140
+ prom.then(requestInfo.responseSuccess).catch(requestInfo.responseError);
141
+ }
142
+ this.$rootScope && this.$rootScope.$digest();
143
+ }
144
+ function responseSuccessFn(response) {
145
+ return successFn(response.data, response.status, response.headers, response.config, response.statusText);
146
+ }
147
+ function successFn(data, status, headers, xconfig, statusText) {
148
+ // HACK: because $http returns a server side null as a string containing "null" - this is WRONG.
149
+ if (data === "null")
150
+ data = null;
151
+ var httpResponse = {
152
+ config: config,
153
+ data: data,
154
+ getHeaders: headers,
155
+ ngConfig: xconfig,
156
+ status: status,
157
+ statusText: statusText
158
+ };
159
+ config.success(httpResponse);
160
+ }
161
+ function responseErrorFn(response) {
162
+ return errorFn(response.data, response.status, response.headers, response.config, response.statusText);
163
+ }
164
+ function errorFn(data, status, headers, xconfig, statusText) {
165
+ // Timeout appears as an error with status===0 and no data.
166
+ // Make it better
167
+ if (status === 0 && data == null) {
168
+ data = 'timeout';
169
+ }
170
+ var httpResponse = {
171
+ config: config,
172
+ data: data,
173
+ getHeaders: headers,
174
+ ngConfig: xconfig,
175
+ status: status,
176
+ statusText: statusText
177
+ };
178
+ config.error(httpResponse);
179
+ }
180
+ };
181
+ return AjaxAngularjsAdapter;
182
+ }());
183
+ breezeClient.config.registerAdapter("ajax", AjaxAngularjsAdapter);
184
+
185
+ exports.AjaxAngularjsAdapter = AjaxAngularjsAdapter;
186
+
187
+ Object.defineProperty(exports, '__esModule', { value: true });
188
+
189
+ })));
190
+ //# sourceMappingURL=breeze-client-adapter-ajax-angularjs.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-angularjs.umd.js","sources":["ng://breeze-client/adapter-ajax-angularjs/adapter-core.ts","ng://breeze-client/adapter-ajax-angularjs/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"],"names":["config","core"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-ajax-angularjs",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-ajax-angularjs"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";var r=function(){function e(){this.name="angularjs",this.defaultSettings={},this.requestInterceptor=void 0}return e.register=function(r){return(r=r||t.config).registerAdapter("ajax",e),r.initializeAdapterInstance("ajax","angularjs",!0)},e.prototype.initialize=function(){var e,r,n=t.core.requireLib("angular");n&&(n.injector(["ng"]).invoke(["$http","$rootScope",function(t,n){e=t,r=n}]),this.$http=e,this.$rootScope=r)},e.prototype.setHttp=function(e){this.$http=e,this.$rootScope=null},e.prototype.ajax=function(e){if(!this.$http)throw new Error("Unable to locate angularjs for ajax adapter");var r={method:e.type,url:e.url,dataType:e.dataType,contentType:e.contentType,crossDomain:e.crossDomain,headers:e.headers||{},data:void 0};if(e.params&&(r.url=function(e,t){if(!t)return e;var r=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+r+t}(r.url,function e(t){var r,n,o="";for(var a in t)if(t.hasOwnProperty(a)){var s=t[a];if(s instanceof Array)for(var i=0;i<s.length;++i)r=s[i],(n={})[a+"["+i+"]"]=r,o+=e(n)+"&";else if(s&&s.toISOString)o+=encodeURIComponent(a)+"="+encodeURIComponent(s.toISOString())+"&";else if(s instanceof Object)for(var c in s)t.hasOwnProperty(a)&&(r=s[c],(n={})[a+"["+c+"]"]=r,o+=e(n)+"&");else null===s?o+=encodeURIComponent(a)+"=&":void 0!==s&&(o+=encodeURIComponent(a)+"="+encodeURIComponent(s)+"&")}return o.length?o.substr(0,o.length-1):o}(e.params))),e.data&&(r.data=e.data),!t.core.isEmpty(this.defaultSettings)){var n=t.core.extend({},this.defaultSettings);r=t.core.extend(n,r);var o=t.core.extend({},this.defaultSettings.headers);r.headers=t.core.extend(o,r.headers)}var a={adapter:this,config:r,dsaConfig:e,success:c,error:u,responseSuccess:function(e){return c(e.data,e.status,e.headers,e.config,e.statusText)},responseError:function(e){return u(e.data,e.status,e.headers,e.config,e.statusText)}};if(t.core.isFunction(this.requestInterceptor)){var s=this.requestInterceptor;s(a),s.oneTime&&(this.requestInterceptor=void 0)}if(a.config){var i=this.$http(a.config);i.success?i.success(a.success).error(a.error):i.then(a.responseSuccess).catch(a.responseError),this.$rootScope&&this.$rootScope.$digest()}function c(t,r,n,o,a){"null"===t&&(t=null);var s={config:e,data:t,getHeaders:n,ngConfig:o,status:r,statusText:a};e.success(s)}function u(t,r,n,o,a){0===r&&null==t&&(t="timeout");var s={config:e,data:t,getHeaders:n,ngConfig:o,status:r,statusText:a};e.error(s)}},e}();t.config.registerAdapter("ajax",r),e.AjaxAngularjsAdapter=r,Object.defineProperty(e,"__esModule",{value:!0})}));
2
+ //# sourceMappingURL=breeze-client-adapter-ajax-angularjs.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ng://breeze-client/adapter-ajax-angularjs/adapter-ajax-angularjs.ts","ng://breeze-client/adapter-ajax-angularjs/adapter-core.ts"],"names":["AjaxAngularjsAdapter","this","name","defaultSettings","requestInterceptor","undefined","register","breezeConfig","config","registerAdapter","initializeAdapterInstance","prototype","initialize","http_1","rootScope_1","ng","core","requireLib","injector","invoke","$http","$rootScope","setHttp","http","ajax","Error","ngConfig","method","type","url","dataType","contentType","crossDomain","headers","data","params","parameter","separator","endsWith","includes","appendQueryStringParameter","encodeParams","obj","subValue","innerObj","query","name_1","hasOwnProperty","value","Array","i","length","toISOString","encodeURIComponent","Object","subName","substr","isEmpty","compositeConfig","extend","requestInfo","adapter","dsaConfig","success","successFn","error","errorFn","responseSuccess","response","status","statusText","responseError","isFunction","ri","oneTime","prom","then","catch","$digest","xconfig","httpResponse","getHeaders"],"mappings":"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","sourcesContent":["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","/** 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"]}
@@ -0,0 +1,190 @@
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-ajax-fetch', ['exports', 'breeze-client'], factory) :
4
+ (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-ajax-fetch'] = {}), global['breeze-client']));
5
+ }(this, (function (exports, breezeClient) { 'use strict';
6
+
7
+ /** Appends parameter to url, with appropriate delimiter */
8
+ function appendQueryStringParameter(url, parameter) {
9
+ if (!parameter)
10
+ return url;
11
+ var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
12
+ return url + separator + parameter;
13
+ }
14
+ /** Encodes the object into query string parameters */
15
+ function encodeParams(obj) {
16
+ var query = '';
17
+ var subValue, innerObj, fullSubName;
18
+ for (var name_1 in obj) {
19
+ if (!obj.hasOwnProperty(name_1)) {
20
+ continue;
21
+ }
22
+ var value = obj[name_1];
23
+ if (value instanceof Array) {
24
+ for (var i = 0; i < value.length; ++i) {
25
+ subValue = value[i];
26
+ fullSubName = name_1 + '[' + i + ']';
27
+ innerObj = {};
28
+ innerObj[fullSubName] = subValue;
29
+ query += encodeParams(innerObj) + '&';
30
+ }
31
+ }
32
+ else if (value && value.toISOString) { // a feature of Date-like things
33
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
34
+ }
35
+ else if (value instanceof Object) {
36
+ for (var subName in value) {
37
+ if (obj.hasOwnProperty(name_1)) {
38
+ subValue = value[subName];
39
+ fullSubName = name_1 + '[' + subName + ']';
40
+ innerObj = {};
41
+ innerObj[fullSubName] = subValue;
42
+ query += encodeParams(innerObj) + '&';
43
+ }
44
+ }
45
+ }
46
+ else if (value === null) {
47
+ query += encodeURIComponent(name_1) + '=&';
48
+ }
49
+ else if (value !== undefined) {
50
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
51
+ }
52
+ }
53
+ return query.length ? query.substr(0, query.length - 1) : query;
54
+ }
55
+
56
+ /** Breeze AJAX adapter using fetch API
57
+ * See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
58
+ */
59
+ var AjaxFetchAdapter = /** @class */ (function () {
60
+ function AjaxFetchAdapter() {
61
+ this.name = AjaxFetchAdapter.adapterName;
62
+ this.defaultSettings = {};
63
+ this.requestInterceptor = undefined;
64
+ }
65
+ AjaxFetchAdapter.register = function (breezeConfig) {
66
+ breezeConfig = breezeConfig || breezeClient.config;
67
+ breezeConfig.registerAdapter("ajax", AjaxFetchAdapter);
68
+ return breezeConfig.initializeAdapterInstance("ajax", AjaxFetchAdapter.adapterName, true);
69
+ };
70
+ AjaxFetchAdapter.prototype.initialize = function () {
71
+ };
72
+ AjaxFetchAdapter.prototype.ajax = function (config) {
73
+ if (!fetch) {
74
+ throw new Error("fetch API not supported in this browser");
75
+ }
76
+ var init = {
77
+ method: config.type,
78
+ mode: 'cors',
79
+ cache: 'no-cache',
80
+ credentials: 'include',
81
+ headers: {
82
+ 'Content-Type': config.contentType || 'application/json',
83
+ },
84
+ redirect: 'follow',
85
+ referrer: 'client',
86
+ };
87
+ if (config.type !== "GET" && config.type !== "HEAD") {
88
+ // body data type must match "Content-Type" header
89
+ // let data = config.params || config.data;
90
+ var data = config.data;
91
+ if (typeof (data) !== "string") {
92
+ data = JSON.stringify(data);
93
+ }
94
+ init.body = data;
95
+ }
96
+ var url = config.url;
97
+ if (!breezeClient.core.isEmpty(config.params)) {
98
+ // Hack: Not sure how Fetch handles writing 'search' parameters to the url.
99
+ // so this approach takes over the url param writing completely.
100
+ url = appendQueryStringParameter(url, encodeParams(config.params));
101
+ }
102
+ if (!breezeClient.core.isEmpty(this.defaultSettings)) {
103
+ var compositeConfig = breezeClient.core.extend({}, this.defaultSettings);
104
+ init = breezeClient.core.extend(compositeConfig, init);
105
+ // extend is shallow; extend headers separately
106
+ var headers = breezeClient.core.extend({}, this.defaultSettings.headers); // copy default headers 1st
107
+ init.headers = breezeClient.core.extend(headers, init.headers);
108
+ }
109
+ var requestInfo = {
110
+ adapter: this,
111
+ config: init,
112
+ dsaConfig: config,
113
+ success: successFn,
114
+ error: errorFn,
115
+ };
116
+ if (breezeClient.core.isFunction(this.requestInterceptor)) {
117
+ var ri = this.requestInterceptor;
118
+ ri(requestInfo);
119
+ if (ri.oneTime) {
120
+ this.requestInterceptor = undefined;
121
+ }
122
+ }
123
+ if (requestInfo.config) { // exists unless requestInterceptor killed it.
124
+ fetch(url, requestInfo.config).then(function (response) {
125
+ if (!response.ok) {
126
+ response.text().then(function (s) {
127
+ requestInfo.error(response.status, response.statusText, s, response, null);
128
+ });
129
+ }
130
+ else {
131
+ response.json().then(function (j) {
132
+ requestInfo.success(j, response.statusText, response);
133
+ });
134
+ }
135
+ }).catch(function (err) {
136
+ requestInfo.error(0, err && err.message || err, null, null, err);
137
+ });
138
+ }
139
+ function successFn(data, statusText, response) {
140
+ var httpResponse = {
141
+ config: config,
142
+ data: data,
143
+ getHeaders: getHeadersFn(response),
144
+ status: response.status,
145
+ statusText: statusText
146
+ };
147
+ config.success(httpResponse);
148
+ }
149
+ function errorFn(status, statusText, body, response, errorThrown) {
150
+ var httpResponse = {
151
+ config: config,
152
+ data: body,
153
+ error: errorThrown || statusText,
154
+ getHeaders: getHeadersFn(response),
155
+ status: status,
156
+ statusText: statusText
157
+ };
158
+ config.error(httpResponse);
159
+ }
160
+ };
161
+ AjaxFetchAdapter.adapterName = "fetch";
162
+ return AjaxFetchAdapter;
163
+ }());
164
+ breezeClient.config.registerAdapter("ajax", AjaxFetchAdapter);
165
+ function getHeadersFn(response) {
166
+ if (!response || response.status === 0) { // timeout or abort; no headers
167
+ return function (headerName) {
168
+ return (headerName && headerName.length > 0) ? "" : {};
169
+ };
170
+ }
171
+ else {
172
+ return function (headerName) {
173
+ if (headerName && headerName.length > 0) {
174
+ return response.headers.get(headerName);
175
+ }
176
+ var hob = {};
177
+ response.headers.forEach(function (val, key) {
178
+ hob[key] = val;
179
+ });
180
+ return hob;
181
+ };
182
+ }
183
+ }
184
+
185
+ exports.AjaxFetchAdapter = AjaxFetchAdapter;
186
+
187
+ Object.defineProperty(exports, '__esModule', { value: true });
188
+
189
+ })));
190
+ //# sourceMappingURL=breeze-client-adapter-ajax-fetch.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-ajax-fetch.umd.js","sources":["ng://breeze-client/adapter-ajax-fetch/adapter-core.ts","ng://breeze-client/adapter-ajax-fetch/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"],"names":["config","core"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-ajax-fetch",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-ajax-fetch"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";var n=function(){function e(){this.name=e.adapterName,this.defaultSettings={},this.requestInterceptor=void 0}return e.register=function(n){return(n=n||t.config).registerAdapter("ajax",e),n.initializeAdapterInstance("ajax",e.adapterName,!0)},e.prototype.initialize=function(){},e.prototype.ajax=function(e){if(!fetch)throw new Error("fetch API not supported in this browser");var n={method:e.type,mode:"cors",cache:"no-cache",credentials:"include",headers:{"Content-Type":e.contentType||"application/json"},redirect:"follow",referrer:"client"};if("GET"!==e.type&&"HEAD"!==e.type){var o=e.data;"string"!=typeof o&&(o=JSON.stringify(o)),n.body=o}var i=e.url;if(t.core.isEmpty(e.params)||(i=function(e,t){if(!t)return e;var n=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+n+t}(i,function e(t){var n,r,o="";for(var i in t)if(t.hasOwnProperty(i)){var a=t[i];if(a instanceof Array)for(var s=0;s<a.length;++s)n=a[s],(r={})[i+"["+s+"]"]=n,o+=e(r)+"&";else if(a&&a.toISOString)o+=encodeURIComponent(i)+"="+encodeURIComponent(a.toISOString())+"&";else if(a instanceof Object)for(var c in a)t.hasOwnProperty(i)&&(n=a[c],(r={})[i+"["+c+"]"]=n,o+=e(r)+"&");else null===a?o+=encodeURIComponent(i)+"=&":void 0!==a&&(o+=encodeURIComponent(i)+"="+encodeURIComponent(a)+"&")}return o.length?o.substr(0,o.length-1):o}(e.params))),!t.core.isEmpty(this.defaultSettings)){var a=t.core.extend({},this.defaultSettings);n=t.core.extend(a,n);var s=t.core.extend({},this.defaultSettings.headers);n.headers=t.core.extend(s,n.headers)}var c={adapter:this,config:n,dsaConfig:e,success:function(t,n,o){var i={config:e,data:t,getHeaders:r(o),status:o.status,statusText:n};e.success(i)},error:function(t,n,o,i,a){var s={config:e,data:o,error:a||n,getHeaders:r(i),status:t,statusText:n};e.error(s)}};if(t.core.isFunction(this.requestInterceptor)){var f=this.requestInterceptor;f(c),f.oneTime&&(this.requestInterceptor=void 0)}c.config&&fetch(i,c.config).then((function(e){e.ok?e.json().then((function(t){c.success(t,e.statusText,e)})):e.text().then((function(t){c.error(e.status,e.statusText,t,e,null)}))})).catch((function(e){c.error(0,e&&e.message||e,null,null,e)}))},e.adapterName="fetch",e}();function r(e){return e&&0!==e.status?function(t){if(t&&t.length>0)return e.headers.get(t);var n={};return e.headers.forEach((function(e,t){n[t]=e})),n}:function(e){return e&&e.length>0?"":{}}}t.config.registerAdapter("ajax",n),e.AjaxFetchAdapter=n,Object.defineProperty(e,"__esModule",{value:!0})}));
2
+ //# sourceMappingURL=breeze-client-adapter-ajax-fetch.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ng://breeze-client/adapter-ajax-fetch/adapter-ajax-fetch.ts","ng://breeze-client/adapter-ajax-fetch/adapter-core.ts"],"names":["AjaxFetchAdapter","this","name","adapterName","defaultSettings","requestInterceptor","undefined","register","breezeConfig","config","registerAdapter","initializeAdapterInstance","prototype","initialize","ajax","fetch","Error","init","method","type","mode","cache","credentials","headers","Content-Type","contentType","redirect","referrer","data","JSON","stringify","body","url","core","isEmpty","params","parameter","separator","endsWith","includes","appendQueryStringParameter","encodeParams","obj","subValue","innerObj","query","name_1","hasOwnProperty","value","Array","i","length","toISOString","encodeURIComponent","Object","subName","substr","compositeConfig","extend","requestInfo","adapter","dsaConfig","success","statusText","response","httpResponse","getHeaders","getHeadersFn","status","error","errorThrown","isFunction","ri","oneTime","then","ok","json","j","text","s","catch","err","message","headerName","get","hob","forEach","val","key"],"mappings":"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","sourcesContent":["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","/** 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"]}