breeze-client 2.1.7 → 2.2.0

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