breeze-client 2.1.6-mjs → 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/LICENSE +1 -1
  2. package/adapter-ajax-angularjs/{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 +14231 -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 +503 -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 +510 -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} +1624 -2073
  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 +13953 -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/abstract-data-service-adapter.d.ts +20 -0
  295. package/src/config.d.ts +1 -1
  296. package/src/core.d.ts +1 -1
  297. package/src/entity-aspect.d.ts +1 -1
  298. package/src/entity-metadata.d.ts +6 -8
  299. package/src/entity-query.d.ts +18 -4
  300. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -135
  301. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +0 -49
  302. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
  303. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -135
  304. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +0 -49
  305. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
  306. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -139
  307. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +0 -49
  308. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
  309. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -107
  310. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
  311. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
  312. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
  313. package/esm2022/adapter-data-service-odata/adapter-core.mjs +0 -49
  314. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
  315. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -100
  316. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
  317. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -269
  318. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
  319. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -241
  320. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
  321. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +0 -49
  322. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -37
  323. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
  324. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +0 -49
  325. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -191
  326. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
  327. package/esm2022/breeze-client.mjs +0 -5
  328. package/esm2022/index.mjs +0 -2
  329. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
  330. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
  331. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
  332. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +0 -421
  333. package/esm2022/src/abstract-data-service-adapter.mjs +0 -294
  334. package/esm2022/src/array.mjs +0 -4
  335. package/esm2022/src/assert-param.mjs +0 -330
  336. package/esm2022/src/breeze.mjs +0 -85
  337. package/esm2022/src/complex-array.mjs +0 -117
  338. package/esm2022/src/config.mjs +0 -232
  339. package/esm2022/src/core.mjs +0 -712
  340. package/esm2022/src/csdl-metadata-parser.mjs +0 -385
  341. package/esm2022/src/data-service.mjs +0 -239
  342. package/esm2022/src/data-type.mjs +0 -507
  343. package/esm2022/src/default-property-interceptor.mjs +0 -460
  344. package/esm2022/src/entity-aspect.mjs +0 -897
  345. package/esm2022/src/entity-group.mjs +0 -192
  346. package/esm2022/src/entity-key.mjs +0 -127
  347. package/esm2022/src/entity-manager.mjs +0 -2183
  348. package/esm2022/src/entity-metadata.mjs +0 -2242
  349. package/esm2022/src/entity-query.mjs +0 -1005
  350. package/esm2022/src/entity-state.mjs +0 -107
  351. package/esm2022/src/enum.mjs +0 -143
  352. package/esm2022/src/event.mjs +0 -264
  353. package/esm2022/src/interface-registry.mjs +0 -39
  354. package/esm2022/src/key-generator.mjs +0 -110
  355. package/esm2022/src/local-query-comparison-options.mjs +0 -75
  356. package/esm2022/src/mapping-context.mjs +0 -422
  357. package/esm2022/src/observable-array.mjs +0 -183
  358. package/esm2022/src/predicate.mjs +0 -1259
  359. package/esm2022/src/primitive-array.mjs +0 -85
  360. package/esm2022/src/query-options.mjs +0 -160
  361. package/esm2022/src/relation-array.mjs +0 -173
  362. package/esm2022/src/save-options.mjs +0 -51
  363. package/esm2022/src/unattached-children-map.mjs +0 -56
  364. package/esm2022/src/validation-options.mjs +0 -78
  365. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  366. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  367. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  368. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  369. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +0 -1
  370. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  371. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  372. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  373. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  374. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  375. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  376. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  377. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +0 -1
  378. package/fesm2022/breeze-client.mjs.map +0 -1
@@ -0,0 +1,139 @@
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
+ var AjaxHttpClientAdapter = /** @class */ (function () {
6
+ function AjaxHttpClientAdapter(http) {
7
+ this.http = http;
8
+ this.name = AjaxHttpClientAdapter.adapterName;
9
+ this.defaultSettings = {};
10
+ }
11
+ AjaxHttpClientAdapter.register = function (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
+ AjaxHttpClientAdapter.prototype.initialize = function () { };
17
+ AjaxHttpClientAdapter.prototype.ajax = function (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
+ var compositeConfig = core.extend({}, this.defaultSettings);
24
+ config = core.extend(compositeConfig, config);
25
+ // extend is shallow; extend headers separately
26
+ var headers_1 = core.extend({}, this.defaultSettings['headers']); // copy default headers 1st
27
+ config['headers'] = core.extend(headers_1, 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
+ var parameters = core.isEmpty(config.params) ? null : encodeParams(config.params);
35
+ var url = appendQueryStringParameter(config.url, parameters);
36
+ var 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
+ var body = config.data;
43
+ var request = new HttpRequest((config.type || 'GET').toUpperCase(), url, body, { headers: headers, responseType: "text" });
44
+ var 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
+ var ffilter = filter(function (response) { return response instanceof HttpResponse; });
59
+ var 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
+ var response = event;
66
+ var data;
67
+ var 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: data, response: 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
+ var 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
+ var data = void 0;
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
+ var 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
+ var 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
+ AjaxHttpClientAdapter.adapterName = 'httpclient';
132
+ return AjaxHttpClientAdapter;
133
+ }());
134
+ export { AjaxHttpClientAdapter };
135
+ ///// Helpers ////
136
+ function makeGetHeaders(headers) {
137
+ return function getHeaders(headerName) { return headers.getAll(headerName).join('\r\n'); };
138
+ }
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1hamF4LWh0dHBjbGllbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItYWpheC1odHRwY2xpZW50LyIsInNvdXJjZXMiOlsiYWRhcHRlci1hamF4LWh0dHBjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hILE9BQU8sRUFBYyxNQUFNLEVBQUUsSUFBSSxFQUF5RixNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRTtJQU1FLCtCQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSm5DLFNBQUksR0FBRyxxQkFBcUIsQ0FBQyxXQUFXLENBQUM7UUFDekMsb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFHa0IsQ0FBQztJQUVqQyw4QkFBUSxHQUFmLFVBQWdCLElBQWdCLEVBQUUsWUFBMkI7UUFDM0QsWUFBWSxHQUFHLFlBQVksSUFBSSxNQUFNLENBQUM7UUFDdEMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQU8sY0FBYyxPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRyxPQUFPLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBMEIsQ0FBQztJQUMxSCxDQUFDO0lBRUQsMENBQVUsR0FBVixjQUFlLENBQUM7SUFFaEIsb0NBQUksR0FBSixVQUFLLE1BQWtCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FB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LENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBRSx1Q0FBdUM7aUJBQzVGO2dCQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ1QsSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFHLG1DQUFtQztpQkFDM0Q7Z0JBQ0QsSUFBSSxZQUFZLEdBQXVCO29CQUNyQyxNQUFNLEVBQUUsV0FBVyxDQUFDLE9BQU87b0JBQzNCLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztvQkFDNUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO2lCQUN4QixDQUFDO2dCQUNGLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUMvQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDakQsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztnQkFFcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHFDQUFxQzthQUNsRTtRQUNILENBQUM7SUFDSCxDQUFDO0lBN0lNLGlDQUFXLEdBQUcsWUFBWSxDQUFDO0lBK0lwQyw0QkFBQztDQUFBLEFBaEpELElBZ0pDO1NBaEpZLHFCQUFxQjtBQWtKbEMsa0JBQWtCO0FBRWxCLFNBQVMsY0FBYyxDQUFDLE9BQW9CO0lBQzFDLE9BQU8sU0FBUyxVQUFVLENBQUMsVUFBbUIsSUFBSSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBBamF4Q29uZmlnLCBjb25maWcsIGNvcmUsIEh0dHBSZXNwb25zZSBhcyBCcmVlemVIdHRwUmVzcG9uc2UsIEJyZWV6ZUNvbmZpZywgQWpheFJlcXVlc3RJbnRlcmNlcHRvciwgQWpheEFkYXB0ZXIgfSBmcm9tIFwiYnJlZXplLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBhcHBlbmRRdWVyeVN0cmluZ1BhcmFtZXRlciwgZW5jb2RlUGFyYW1zIH0gZnJvbSBcIi4vYWRhcHRlci1jb3JlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQWpheEh0dHBDbGllbnRBZGFwdGVyIGltcGxlbWVudHMgQWpheEFkYXB0ZXIge1xyXG4gIHN0YXRpYyBhZGFwdGVyTmFtZSA9ICdodHRwY2xpZW50JztcclxuICBuYW1lID0gQWpheEh0dHBDbGllbnRBZGFwdGVyLmFkYXB0ZXJOYW1lO1xyXG4gIGRlZmF1bHRTZXR0aW5ncyA9IHt9O1xyXG4gIHJlcXVlc3RJbnRlcmNlcHRvcjogQWpheFJlcXVlc3RJbnRlcmNlcHRvcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICBzdGF0aWMgcmVnaXN0ZXIoaHR0cDogSHR0cENsaWVudCwgYnJlZXplQ29uZmlnPzogQnJlZXplQ29uZmlnKSB7XHJcbiAgICBicmVlemVDb25maWcgPSBicmVlemVDb25maWcgfHwgY29uZmlnO1xyXG4gICAgYnJlZXplQ29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcImFqYXhcIiwgPGFueT5mdW5jdGlvbiAoKSB7IHJldHVybiBuZXcgQWpheEh0dHBDbGllbnRBZGFwdGVyKGh0dHApOyB9KTtcclxuICAgIHJldHVybiBicmVlemVDb25maWcuaW5pdGlhbGl6ZUFkYXB0ZXJJbnN0YW5jZShcImFqYXhcIiwgQWpheEh0dHBDbGllbnRBZGFwdGVyLmFkYXB0ZXJOYW1lLCB0cnVlKSBhcyBBamF4SHR0cENsaWVudEFkYXB0ZXI7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKCkgeyB9XHJcblxyXG4gIGFqYXgoY29uZmlnOiBBamF4Q29uZmlnKSB7XHJcbiAgICBpZiAoIXRoaXMuaHR0cCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBsb2NhdGUgYW5ndWxhciBodHRwIG1vZHVsZSBmb3IgYWpheCBhZGFwdGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbWVyZ2UgZGVmYXVsdCBEYXRhU2V0QWRhcHRlciBTZXR0aW5ncyB3aXRoIGNvbmZpZyBhcmdcclxuICAgIGlmICghY29yZS5pc0VtcHR5KHRoaXMuZGVmYXVsdFNldHRpbmdzKSkge1xyXG4gICAgICBsZXQgY29tcG9zaXRlQ29uZmlnID0gY29yZS5leHRlbmQoe30sIHRoaXMuZGVmYXVsdFNldHRpbmdzKTtcclxuICAgICAgY29uZmlnID0gPEFqYXhDb25maWc+Y29yZS5leHRlbmQoY29tcG9zaXRlQ29uZmlnLCBjb25maWcpO1xyXG4gICAgICAvLyBleHRlbmQgaXMgc2hhbGxvdzsgZXh0ZW5kIGhlYWRlcnMgc2VwYXJhdGVseVxyXG4gICAgICBsZXQgaGVhZGVycyA9IGNvcmUuZXh0ZW5kKHt9LCB0aGlzLmRlZmF1bHRTZXR0aW5nc1snaGVhZGVycyddKTsgLy8gY29weSBkZWZhdWx0IGhlYWRlcnMgMXN0XHJcbiAgICAgIGNvbmZpZ1snaGVhZGVycyddID0gY29yZS5leHRlbmQoaGVhZGVycywgY29uZmlnLmhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb25maWcuY3Jvc3NEb21haW4pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubmFtZSArICcgZG9lcyBub3Qgc3VwcG9ydCBKU09OUCAoY3Jvc3NEb21haW4pIHJlcXVlc3RzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGFjazogTm90IHN1cmUgaG93IEFuZ3VsYXIgaGFuZGxlcyB3cml0aW5nICdzZWFyY2gnIHBhcmFtZXRlcnMgdG8gdGhlIHVybC5cclxuICAgIC8vIHNvIHRoaXMgYXBwcm9hY2ggdGFrZXMgb3ZlciB0aGUgdXJsIHBhcmFtIHdyaXRpbmcgY29tcGxldGVseS5cclxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBjb3JlLmlzRW1wdHkoY29uZmlnLnBhcmFtcykgPyBudWxsIDogZW5jb2RlUGFyYW1zKGNvbmZpZy5wYXJhbXMpO1xyXG4gICAgY29uc3QgdXJsID0gYXBwZW5kUXVlcnlTdHJpbmdQYXJhbWV0ZXIoY29uZmlnLnVybCwgcGFyYW1ldGVycyk7XHJcblxyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoY29uZmlnLmhlYWRlcnMgfHwge30pO1xyXG4gICAgaWYgKCFoZWFkZXJzLmhhcygnQ29udGVudC1UeXBlJykpIHtcclxuICAgICAgaWYgKGNvbmZpZy50eXBlICE9PSAnR0VUJyAmJiBjb25maWcudHlwZSAhPT0gJ0RFTEVURScgJiYgISFjb25maWcuY29udGVudFR5cGUpIHtcclxuICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsXHJcbiAgICAgICAgICA8c3RyaW5nPmNvbmZpZy5jb250ZW50VHlwZSB8fCAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGJvZHk6IGFueSA9IGNvbmZpZy5kYXRhO1xyXG4gICAgbGV0IHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoKGNvbmZpZy50eXBlIHx8ICdHRVQnKS50b1VwcGVyQ2FzZSgpLCB1cmwsIGJvZHksIHsgaGVhZGVyczogaGVhZGVycywgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9KTtcclxuXHJcbiAgICBsZXQgcmVxdWVzdEluZm8gPSB7XHJcbiAgICAgIGFkYXB0ZXI6IHRoaXMsICAgICAgLy8gdGhpcyBhZGFwdGVyXHJcbiAgICAgIHJlcXVlc3Q6IHJlcXVlc3QsICAgLy8gdGhlIGh0dHAgcmVxdWVzdCBmcm9tIHRoZSByZXF1ZXN0T3B0aW9uc1xyXG4gICAgICBkc2FDb25maWc6IGNvbmZpZywgIC8vIHRoZSBjb25maWcgYXJnIGZyb20gdGhlIGNhbGxpbmcgQnJlZXplIERhdGFTZXJ2aWNlQWRhcHRlclxyXG4gICAgICBzdWNjZXNzOiBzdWNjZXNzRm4sIC8vIGFkYXB0ZXIncyBzdWNjZXNzIGNhbGxiYWNrXHJcbiAgICAgIGVycm9yOiBlcnJvckZuICAgICAgLy8gYWRhcHRlcidzIGVycm9yIGNhbGxiYWNrXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChjb3JlLmlzRnVuY3Rpb24odGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3IpKSB7XHJcbiAgICAgIHRoaXMucmVxdWVzdEludGVyY2VwdG9yKHJlcXVlc3RJbmZvIGFzIGFueSk7XHJcbiAgICAgIGlmICh0aGlzLnJlcXVlc3RJbnRlcmNlcHRvclsnb25lVGltZSddKSB7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3IgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcXVlc3RJbmZvLnJlcXVlc3QpIHsgLy8gZXhpc3RzIHVubGVzcyByZXF1ZXN0SW50ZXJjZXB0b3Iga2lsbGVkIGl0LlxyXG4gICAgICBjb25zdCBmZmlsdGVyID0gZmlsdGVyKChyZXNwb25zZTogSHR0cEV2ZW50PGFueT4pID0+IHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKTtcclxuICAgICAgY29uc3QgZm1hcCA9IG1hcChleHRyYWN0RGF0YSk7XHJcblxyXG4gICAgICBmbWFwKGZmaWx0ZXIodGhpcy5odHRwLnJlcXVlc3QocmVxdWVzdEluZm8ucmVxdWVzdCkpKVxyXG4gICAgICAgIC5mb3JFYWNoKHJlcXVlc3RJbmZvLnN1Y2Nlc3MpXHJcbiAgICAgICAgLmNhdGNoKHJlcXVlc3RJbmZvLmVycm9yKTtcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBleHRyYWN0RGF0YShldmVudDogSHR0cEV2ZW50PGFueT4pIHtcclxuICAgICAgbGV0IHJlc3BvbnNlID0gZXZlbnQgYXMgSHR0cFJlc3BvbnNlPGFueT47XHJcbiAgICAgIGxldCBkYXRhOiBhbnk7XHJcbiAgICAgIGxldCBkdCA9IHJlcXVlc3RJbmZvLmRzYUNvbmZpZy5kYXRhVHlwZTtcclxuICAgICAgLy8gYmV3YXJlOmByZXMuanNvbmAgYW5kIGByZXMudGV4dGAgd2lsbCBiZSBhc3luYyBzb21lIGRheVxyXG4gICAgICBpZiAoZHQgJiYgZHQgIT09ICdqc29uJykge1xyXG4gICAgICAgIGRhdGEgPSByZXNwb25zZS5ib2R5O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmJvZHkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IGRhdGEsIHJlc3BvbnNlIH07XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gc3VjY2Vzc0ZuKGFyZzogeyBkYXRhOiBhbnksIHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PiB9KSB7XHJcbiAgICAgIGlmIChhcmcucmVzcG9uc2Uuc3RhdHVzIDwgMjAwIHx8IGFyZy5yZXNwb25zZS5zdGF0dXMgPj0gMzAwKSB7XHJcbiAgICAgICAgdGhyb3cgeyBkYXRhOiBhcmcuZGF0YSwgcmVzcG9uc2U6IGFyZy5yZXNwb25zZSB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaHR0cFJlc3BvbnNlOiBCcmVlemVIdHRwUmVzcG9uc2UgPSB7XHJcbiAgICAgICAgY29uZmlnOiByZXF1ZXN0SW5mby5yZXF1ZXN0LFxyXG4gICAgICAgIGRhdGE6IGFyZy5kYXRhLFxyXG4gICAgICAgIGdldEhlYWRlcnM6IG1ha2VHZXRIZWFkZXJzKGFyZy5yZXNwb25zZS5oZWFkZXJzKSxcclxuICAgICAgICBzdGF0dXM6IGFyZy5yZXNwb25zZS5zdGF0dXNcclxuICAgICAgfTtcclxuICAgICAgaHR0cFJlc3BvbnNlWyduZ0NvbmZpZyddID0gcmVxdWVzdEluZm8ucmVxdWVzdDtcclxuICAgICAgaHR0cFJlc3BvbnNlWydzdGF0dXNUZXh0J10gPSBhcmcucmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgaHR0cFJlc3BvbnNlWydyZXNwb25zZSddID0gYXJnLnJlc3BvbnNlO1xyXG4gICAgICBjb25maWcuc3VjY2VzcyhodHRwUmVzcG9uc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIGVycm9yRm4ocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIEVycm9yKSB7XHJcbiAgICAgICAgdGhyb3cgcmVzcG9uc2U7IC8vIHByb2dyYW0gZXJyb3I7IG5vdGhpbmcgd2UgY2FuIGRvXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGRhdGE6IGFueTtcclxuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3IgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGRhdGEgPSByZXNwb25zZS5lcnJvci5ib2R5O1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICAgICAgZGF0YSA9IHJlc3BvbnNlLmVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRhdGEgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRpbWVvdXQgYXBwZWFycyBhcyBhbiBlcnJvciB3aXRoIHN0YXR1cz09PTAgYW5kIG5vIGRhdGEuXHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMCAmJiBkYXRhID09IG51bGwpIHtcclxuICAgICAgICAgIGRhdGEgPSAndGltZW91dCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZXJyb3JNZXNzYWdlID0gcmVzcG9uc2Uuc3RhdHVzICsgXCI6IFwiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIGRhdGFbXCJtZXNzYWdlXCJdID0gZGF0YVtcIm1lc3NhZ2VcIl0gfHwgZXJyb3JNZXNzYWdlOyAgLy8gYnJlZXplIGxvb2tzIGF0IHRoZSBtZXNzYWdlIHByb3BlcnR5XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgZGF0YSA9IGVycm9yTWVzc2FnZTsgICAvLyBSZXR1cm4gdGhlIGVycm9yIG1lc3NhZ2UgYXMgZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgaHR0cFJlc3BvbnNlOiBCcmVlemVIdHRwUmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICBjb25maWc6IHJlcXVlc3RJbmZvLnJlcXVlc3QsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhLFxyXG4gICAgICAgICAgZ2V0SGVhZGVyczogbWFrZUdldEhlYWRlcnMocmVzcG9uc2UuaGVhZGVycyksXHJcbiAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1c1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaHR0cFJlc3BvbnNlWyduZ0NvbmZpZyddID0gcmVxdWVzdEluZm8ucmVxdWVzdDtcclxuICAgICAgICBodHRwUmVzcG9uc2VbJ3N0YXR1c1RleHQnXSA9IHJlc3BvbnNlLnN0YXR1c1RleHQ7XHJcbiAgICAgICAgaHR0cFJlc3BvbnNlWydyZXNwb25zZSddID0gcmVzcG9uc2U7XHJcblxyXG4gICAgICAgIGNvbmZpZy5lcnJvcihodHRwUmVzcG9uc2UpOyAvLyBzZW5kIGVycm9yIHRvIGJyZWV6ZSBlcnJvciBoYW5kbGVyXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vLy8vLyBIZWxwZXJzIC8vLy9cclxuXHJcbmZ1bmN0aW9uIG1ha2VHZXRIZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzKSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIGdldEhlYWRlcnMoaGVhZGVyTmFtZT86IHN0cmluZykgeyByZXR1cm4gaGVhZGVycy5nZXRBbGwoaGVhZGVyTmFtZSkuam9pbignXFxyXFxuJyk7IH07XHJcbn0iXX0=
@@ -0,0 +1,49 @@
1
+ /** Appends parameter to url, with appropriate delimiter */
2
+ export function appendQueryStringParameter(url, parameter) {
3
+ if (!parameter)
4
+ return url;
5
+ var 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
+ var query = '';
11
+ var subValue, innerObj, fullSubName;
12
+ for (var name_1 in obj) {
13
+ if (!obj.hasOwnProperty(name_1)) {
14
+ continue;
15
+ }
16
+ var value = obj[name_1];
17
+ if (value instanceof Array) {
18
+ for (var i = 0; i < value.length; ++i) {
19
+ subValue = value[i];
20
+ fullSubName = name_1 + '[' + 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_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
28
+ }
29
+ else if (value instanceof Object) {
30
+ for (var subName in value) {
31
+ if (obj.hasOwnProperty(name_1)) {
32
+ subValue = value[subName];
33
+ fullSubName = name_1 + '[' + subName + ']';
34
+ innerObj = {};
35
+ innerObj[fullSubName] = subValue;
36
+ query += encodeParams(innerObj) + '&';
37
+ }
38
+ }
39
+ }
40
+ else if (value === null) {
41
+ query += encodeURIComponent(name_1) + '=&';
42
+ }
43
+ else if (value !== undefined) {
44
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
45
+ }
46
+ }
47
+ return query.length ? query.substr(0, query.length - 1) : query;
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1jb3JlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC9hZGFwdGVyLWFqYXgtaHR0cGNsaWVudC8iLCJzb3VyY2VzIjpbImFkYXB0ZXItY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyREFBMkQ7QUFDM0QsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEdBQVcsRUFBRSxTQUFpQjtJQUN2RSxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sR0FBRyxDQUFDO0lBRTNCLElBQUksU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFFdkUsT0FBTyxHQUFHLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBTztJQUNsQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDZixJQUFJLFFBQWEsRUFBRSxRQUFhLEVBQUUsV0FBZ0IsQ0FBQztJQUVuRCxLQUFLLElBQUksTUFBSSxJQUFJLEdBQUcsRUFBRTtRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFJLENBQUMsRUFBRTtZQUFFLFNBQVM7U0FBRTtRQUU1QyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBSSxDQUFDLENBQUM7UUFFdEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNyQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixXQUFXLEdBQUcsTUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUNuQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNkLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQ2pDLEtBQUssSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ3ZDO1NBQ0Y7YUFBTSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsZ0NBQWdDO1lBQ3ZFLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxNQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3pGO2FBQU0sSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQ2xDLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFO2dCQUN6QixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBSSxDQUFDLEVBQUU7b0JBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzFCLFdBQVcsR0FBRyxNQUFJLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7b0JBQ3pDLFFBQVEsR0FBRyxFQUFFLENBQUM7b0JBQ2QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztvQkFDakMsS0FBSyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7aUJBQ3ZDO2FBQ0Y7U0FDRjthQUFNLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN6QixLQUFLLElBQUksa0JBQWtCLENBQUMsTUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzFDO2FBQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzlCLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxNQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzNFO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFwcGVuZHMgcGFyYW1ldGVyIHRvIHVybCwgd2l0aCBhcHByb3ByaWF0ZSBkZWxpbWl0ZXIgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFF1ZXJ5U3RyaW5nUGFyYW1ldGVyKHVybDogc3RyaW5nLCBwYXJhbWV0ZXI6IHN0cmluZykge1xyXG4gIGlmICghcGFyYW1ldGVyKSByZXR1cm4gdXJsO1xyXG5cclxuICBsZXQgc2VwYXJhdG9yID0gdXJsLmVuZHNXaXRoKFwiP1wiKSA/IFwiXCIgOiB1cmwuaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIjtcclxuXHJcbiAgcmV0dXJuIHVybCArIHNlcGFyYXRvciArIHBhcmFtZXRlcjtcclxufVxyXG5cclxuLyoqIEVuY29kZXMgdGhlIG9iamVjdCBpbnRvIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzICovXHJcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVQYXJhbXMob2JqOiB7fSkge1xyXG4gIGxldCBxdWVyeSA9ICcnO1xyXG4gIGxldCBzdWJWYWx1ZTogYW55LCBpbm5lck9iajogYW55LCBmdWxsU3ViTmFtZTogYW55O1xyXG5cclxuICBmb3IgKGxldCBuYW1lIGluIG9iaikge1xyXG4gICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkobmFtZSkpIHsgY29udGludWU7IH1cclxuXHJcbiAgICBsZXQgdmFsdWUgPSBvYmpbbmFtZV07XHJcblxyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgIHN1YlZhbHVlID0gdmFsdWVbaV07XHJcbiAgICAgICAgZnVsbFN1Yk5hbWUgPSBuYW1lICsgJ1snICsgaSArICddJztcclxuICAgICAgICBpbm5lck9iaiA9IHt9O1xyXG4gICAgICAgIGlubmVyT2JqW2Z1bGxTdWJOYW1lXSA9IHN1YlZhbHVlO1xyXG4gICAgICAgIHF1ZXJ5ICs9IGVuY29kZVBhcmFtcyhpbm5lck9iaikgKyAnJic7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgdmFsdWUudG9JU09TdHJpbmcpIHsgLy8gYSBmZWF0dXJlIG9mIERhdGUtbGlrZSB0aGluZ3NcclxuICAgICAgcXVlcnkgKz0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlLnRvSVNPU3RyaW5nKCkpICsgJyYnO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICBmb3IgKGxldCBzdWJOYW1lIGluIHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xyXG4gICAgICAgICAgc3ViVmFsdWUgPSB2YWx1ZVtzdWJOYW1lXTtcclxuICAgICAgICAgIGZ1bGxTdWJOYW1lID0gbmFtZSArICdbJyArIHN1Yk5hbWUgKyAnXSc7XHJcbiAgICAgICAgICBpbm5lck9iaiA9IHt9O1xyXG4gICAgICAgICAgaW5uZXJPYmpbZnVsbFN1Yk5hbWVdID0gc3ViVmFsdWU7XHJcbiAgICAgICAgICBxdWVyeSArPSBlbmNvZGVQYXJhbXMoaW5uZXJPYmopICsgJyYnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICBxdWVyeSArPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPSYnO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHF1ZXJ5ICs9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkgKyAnJic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcXVlcnkubGVuZ3RoID8gcXVlcnkuc3Vic3RyKDAsIHF1ZXJ5Lmxlbmd0aCAtIDEpIDogcXVlcnk7XHJcbn1cclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './adapter-ajax-httpclient';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWFqYXgtaHR0cGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1hamF4LWh0dHBjbGllbnQvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItYWpheC1odHRwY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWFqYXgtaHR0cGNsaWVudCc7XG4iXX0=
@@ -0,0 +1,105 @@
1
+ import { config, core } from 'breeze-client';
2
+ var AjaxJQueryAdapter = /** @class */ (function () {
3
+ function AjaxJQueryAdapter() {
4
+ this.name = "jQuery";
5
+ this.defaultSettings = {};
6
+ this.requestInterceptor = undefined;
7
+ }
8
+ AjaxJQueryAdapter.register = function (breezeConfig) {
9
+ breezeConfig = breezeConfig || config;
10
+ breezeConfig.registerAdapter("ajax", AjaxJQueryAdapter);
11
+ return breezeConfig.initializeAdapterInstance("ajax", "jQuery", true);
12
+ };
13
+ AjaxJQueryAdapter.prototype.initialize = function () {
14
+ this.jQuery = jQuery;
15
+ // look for the jQuery lib but don't fail immediately if not found
16
+ if (!jQuery) {
17
+ this.jQuery = core.requireLib("jQuery;jquery");
18
+ }
19
+ };
20
+ AjaxJQueryAdapter.prototype.ajax = function (config) {
21
+ if (!this.jQuery) {
22
+ throw new Error("Unable to locate jQuery");
23
+ }
24
+ var jqConfig = {
25
+ type: config.type,
26
+ url: config.url,
27
+ data: config.params || config.data,
28
+ dataType: config.dataType,
29
+ contentType: config.contentType,
30
+ crossDomain: config.crossDomain,
31
+ headers: config.headers || {}
32
+ };
33
+ if (!core.isEmpty(this.defaultSettings)) {
34
+ var compositeConfig = core.extend({}, this.defaultSettings);
35
+ jqConfig = core.extend(compositeConfig, jqConfig);
36
+ // extend is shallow; extend headers separately
37
+ var headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st
38
+ jqConfig.headers = core.extend(headers, jqConfig.headers);
39
+ }
40
+ var requestInfo = {
41
+ adapter: this,
42
+ config: jqConfig,
43
+ dsaConfig: config,
44
+ success: successFn,
45
+ error: errorFn,
46
+ };
47
+ if (core.isFunction(this.requestInterceptor)) {
48
+ var ri = this.requestInterceptor;
49
+ ri(requestInfo);
50
+ if (ri.oneTime) {
51
+ this.requestInterceptor = undefined;
52
+ }
53
+ }
54
+ if (requestInfo.config) { // exists unless requestInterceptor killed it.
55
+ requestInfo.jqXHR = this.jQuery.ajax(requestInfo.config)
56
+ .done(requestInfo.success)
57
+ .fail(requestInfo.error);
58
+ }
59
+ function successFn(data, statusText, jqXHR) {
60
+ var httpResponse = {
61
+ config: config,
62
+ data: data,
63
+ getHeaders: getHeadersFn(jqXHR),
64
+ status: jqXHR.status,
65
+ statusText: statusText
66
+ };
67
+ config.success(httpResponse);
68
+ // TODO: not sure how to do this or if needed.
69
+ // jqXHR.onreadystatechange = null;
70
+ // jqXHR.abort = null;
71
+ }
72
+ function errorFn(jqXHR, statusText, errorThrown) {
73
+ var httpResponse = {
74
+ config: config,
75
+ data: jqXHR.responseText,
76
+ error: errorThrown,
77
+ getHeaders: getHeadersFn(jqXHR),
78
+ status: jqXHR.status,
79
+ statusText: statusText
80
+ };
81
+ config.error(httpResponse);
82
+ // TODO: not sure how to do this or if needed.
83
+ // jqXHR.onreadystatechange = null;
84
+ // jqXHR.abort = null;
85
+ }
86
+ };
87
+ return AjaxJQueryAdapter;
88
+ }());
89
+ export { AjaxJQueryAdapter };
90
+ config.registerAdapter("ajax", AjaxJQueryAdapter);
91
+ function getHeadersFn(jqXHR) {
92
+ if (jqXHR.status === 0) { // timeout or abort; no headers
93
+ return function (headerName) {
94
+ return (headerName && headerName.length > 0) ? "" : {};
95
+ };
96
+ }
97
+ else { // jqXHR should have header functions
98
+ return function (headerName) {
99
+ return (headerName && headerName.length > 0) ?
100
+ jqXHR.getResponseHeader(headerName) :
101
+ jqXHR.getAllResponseHeaders();
102
+ };
103
+ }
104
+ }
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1hamF4LWpxdWVyeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1hamF4LWpxdWVyeS8iLCJzb3VyY2VzIjpbImFkYXB0ZXItYWpheC1qcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTVHO0lBTUU7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFTSwwQkFBUSxHQUFmLFVBQWdCLFlBQTJCO1FBQ3pDLFlBQVksR0FBRyxZQUFZLElBQUksTUFBTSxDQUFDO1FBQ3RDLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxZQUFZLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQXNCLENBQUM7SUFDN0YsQ0FBQztJQUVELHNDQUFVLEdBQVY7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFRCxnQ0FBSSxHQUFKLFVBQUssTUFBa0I7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxRQUFRLEdBQUc7WUFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO1lB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LENBQUMsQUFuR0QsSUFtR0M7O0FBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUVsRCxTQUFTLFlBQVksQ0FBQyxLQUFxQjtJQUN6QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLEVBQUUsK0JBQStCO1FBQ3ZELE9BQU8sVUFBVSxVQUFrQjtZQUNqQyxPQUFPLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pELENBQUMsQ0FBQztLQUNIO1NBQU0sRUFBRSxxQ0FBcUM7UUFDNUMsT0FBTyxVQUFVLFVBQWtCO1lBQ2pDLE9BQU8sQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDckMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDO0tBQ0g7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWpheEFkYXB0ZXIsIEFqYXhDb25maWcsIEFqYXhSZXF1ZXN0SW50ZXJjZXB0b3IsIEJyZWV6ZUNvbmZpZywgY29uZmlnLCBjb3JlIH0gZnJvbSAnYnJlZXplLWNsaWVudCc7XHJcblxyXG5kZWNsYXJlIHZhciBqUXVlcnk6IGFueTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBamF4SlF1ZXJ5QWRhcHRlciBpbXBsZW1lbnRzIEFqYXhBZGFwdGVyIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVmYXVsdFNldHRpbmdzOiB7IGhlYWRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB9O1xyXG4gIHJlcXVlc3RJbnRlcmNlcHRvcj86IEFqYXhSZXF1ZXN0SW50ZXJjZXB0b3I7XHJcbiAgalF1ZXJ5OiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5uYW1lID0gXCJqUXVlcnlcIjtcclxuICAgIHRoaXMuZGVmYXVsdFNldHRpbmdzID0geyB9O1xyXG4gICAgdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3IgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVnaXN0ZXIoYnJlZXplQ29uZmlnPzogQnJlZXplQ29uZmlnKSB7XHJcbiAgICBicmVlemVDb25maWcgPSBicmVlemVDb25maWcgfHwgY29uZmlnO1xyXG4gICAgYnJlZXplQ29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcImFqYXhcIiwgQWpheEpRdWVyeUFkYXB0ZXIpO1xyXG4gICAgcmV0dXJuIGJyZWV6ZUNvbmZpZy5pbml0aWFsaXplQWRhcHRlckluc3RhbmNlKFwiYWpheFwiLCBcImpRdWVyeVwiLCB0cnVlKSBhcyBBamF4SlF1ZXJ5QWRhcHRlcjtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKSB7XHJcbiAgICB0aGlzLmpRdWVyeSA9IGpRdWVyeTtcclxuICAgIC8vIGxvb2sgZm9yIHRoZSBqUXVlcnkgbGliIGJ1dCBkb24ndCBmYWlsIGltbWVkaWF0ZWx5IGlmIG5vdCBmb3VuZFxyXG4gICAgaWYgKCFqUXVlcnkpIHtcclxuICAgICAgdGhpcy5qUXVlcnkgPSBjb3JlLnJlcXVpcmVMaWIoXCJqUXVlcnk7anF1ZXJ5XCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWpheChjb25maWc6IEFqYXhDb25maWcpIHtcclxuICAgIGlmICghdGhpcy5qUXVlcnkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGxvY2F0ZSBqUXVlcnlcIik7XHJcbiAgICB9XHJcbiAgICBsZXQganFDb25maWcgPSB7XHJcbiAgICAgIHR5cGU6IGNvbmZpZy50eXBlLFxyXG4gICAgICB1cmw6IGNvbmZpZy51cmwsXHJcbiAgICAgIGRhdGE6IGNvbmZpZy5wYXJhbXMgfHwgY29uZmlnLmRhdGEsXHJcbiAgICAgIGRhdGFUeXBlOiBjb25maWcuZGF0YVR5cGUsXHJcbiAgICAgIGNvbnRlbnRUeXBlOiBjb25maWcuY29udGVudFR5cGUsXHJcbiAgICAgIGNyb3NzRG9tYWluOiBjb25maWcuY3Jvc3NEb21haW4sXHJcbiAgICAgIGhlYWRlcnM6IGNvbmZpZy5oZWFkZXJzIHx8IHt9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICghY29yZS5pc0VtcHR5KHRoaXMuZGVmYXVsdFNldHRpbmdzKSkge1xyXG4gICAgICBsZXQgY29tcG9zaXRlQ29uZmlnID0gY29yZS5leHRlbmQoe30sIHRoaXMuZGVmYXVsdFNldHRpbmdzKTtcclxuICAgICAganFDb25maWcgPSBjb3JlLmV4dGVuZChjb21wb3NpdGVDb25maWcsIGpxQ29uZmlnKSBhcyBhbnk7XHJcbiAgICAgIC8vIGV4dGVuZCBpcyBzaGFsbG93OyBleHRlbmQgaGVhZGVycyBzZXBhcmF0ZWx5XHJcbiAgICAgIGxldCBoZWFkZXJzID0gY29yZS5leHRlbmQoe30sIHRoaXMuZGVmYXVsdFNldHRpbmdzLmhlYWRlcnMpOyAvLyBjb3B5IGRlZmF1bHQgaGVhZGVycyAxc3RcclxuICAgICAganFDb25maWcuaGVhZGVycyA9IGNvcmUuZXh0ZW5kKGhlYWRlcnMsIGpxQ29uZmlnLmhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXF1ZXN0SW5mbyA9IHtcclxuICAgICAgYWRhcHRlcjogdGhpcywgICAgICAvLyB0aGlzIGFkYXB0ZXJcclxuICAgICAgY29uZmlnOiBqcUNvbmZpZywgICAvLyBqUXVlcnkncyBhamF4ICdzZXR0aW5ncycgb2JqZWN0XHJcbiAgICAgIGRzYUNvbmZpZzogY29uZmlnLCAgLy8gdGhlIGNvbmZpZyBhcmcgZnJvbSB0aGUgY2FsbGluZyBCcmVlemUgRGF0YVNlcnZpY2VBZGFwdGVyXHJcbiAgICAgIHN1Y2Nlc3M6IHN1Y2Nlc3NGbiwgLy8gYWRhcHRlcidzIHN1Y2Nlc3MgY2FsbGJhY2tcclxuICAgICAgZXJyb3I6IGVycm9yRm4sICAgICAgLy8gYWRhcHRlcidzIGVycm9yIGNhbGxiYWNrXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChjb3JlLmlzRnVuY3Rpb24odGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3IpKSB7XHJcbiAgICAgIGxldCByaSA9IHRoaXMucmVxdWVzdEludGVyY2VwdG9yIGFzIGFueTtcclxuICAgICAgcmkocmVxdWVzdEluZm8pO1xyXG4gICAgICBpZiAocmkub25lVGltZSkge1xyXG4gICAgICAgIHRoaXMucmVxdWVzdEludGVyY2VwdG9yID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcXVlc3RJbmZvLmNvbmZpZykgeyAvLyBleGlzdHMgdW5sZXNzIHJlcXVlc3RJbnRlcmNlcHRvciBraWxsZWQgaXQuXHJcbiAgICAgIChyZXF1ZXN0SW5mbyBhcyBhbnkpLmpxWEhSID0gdGhpcy5qUXVlcnkuYWpheChyZXF1ZXN0SW5mby5jb25maWcpXHJcbiAgICAgICAgLmRvbmUocmVxdWVzdEluZm8uc3VjY2VzcylcclxuICAgICAgICAuZmFpbChyZXF1ZXN0SW5mby5lcnJvcik7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gc3VjY2Vzc0ZuKGRhdGE6IGFueSwgc3RhdHVzVGV4dDogc3RyaW5nLCBqcVhIUjogWE1MSHR0cFJlcXVlc3QpIHtcclxuICAgICAgbGV0IGh0dHBSZXNwb25zZSA9IHtcclxuICAgICAgICBjb25maWc6IGNvbmZpZyxcclxuICAgICAgICBkYXRhOiBkYXRhLFxyXG4gICAgICAgIGdldEhlYWRlcnM6IGdldEhlYWRlcnNGbihqcVhIUiksXHJcbiAgICAgICAgc3RhdHVzOiBqcVhIUi5zdGF0dXMsXHJcbiAgICAgICAgc3RhdHVzVGV4dDogc3RhdHVzVGV4dFxyXG4gICAgICB9O1xyXG4gICAgICBjb25maWcuc3VjY2VzcyhodHRwUmVzcG9uc2UpO1xyXG4gICAgICAvLyBUT0RPOiBub3Qgc3VyZSBob3cgdG8gZG8gdGhpcyBvciBpZiBuZWVkZWQuXHJcbiAgICAgIC8vIGpxWEhSLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XHJcbiAgICAgIC8vIGpxWEhSLmFib3J0ID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBlcnJvckZuKGpxWEhSOiBYTUxIdHRwUmVxdWVzdCwgc3RhdHVzVGV4dDogc3RyaW5nLCBlcnJvclRocm93bjogYW55KSB7XHJcbiAgICAgIGxldCBodHRwUmVzcG9uc2UgPSB7XHJcbiAgICAgICAgY29uZmlnOiBjb25maWcsXHJcbiAgICAgICAgZGF0YToganFYSFIucmVzcG9uc2VUZXh0LFxyXG4gICAgICAgIGVycm9yOiBlcnJvclRocm93bixcclxuICAgICAgICBnZXRIZWFkZXJzOiBnZXRIZWFkZXJzRm4oanFYSFIpLFxyXG4gICAgICAgIHN0YXR1czoganFYSFIuc3RhdHVzLFxyXG4gICAgICAgIHN0YXR1c1RleHQ6IHN0YXR1c1RleHRcclxuICAgICAgfTtcclxuICAgICAgY29uZmlnLmVycm9yKGh0dHBSZXNwb25zZSk7XHJcbiAgICAgIC8vIFRPRE86IG5vdCBzdXJlIGhvdyB0byBkbyB0aGlzIG9yIGlmIG5lZWRlZC5cclxuICAgICAgLy8ganFYSFIub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcclxuICAgICAgLy8ganFYSFIuYWJvcnQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcImFqYXhcIiwgQWpheEpRdWVyeUFkYXB0ZXIpO1xyXG5cclxuZnVuY3Rpb24gZ2V0SGVhZGVyc0ZuKGpxWEhSOiBYTUxIdHRwUmVxdWVzdCk6IGFueSB7XHJcbiAgaWYgKGpxWEhSLnN0YXR1cyA9PT0gMCkgeyAvLyB0aW1lb3V0IG9yIGFib3J0OyBubyBoZWFkZXJzXHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGhlYWRlck5hbWU6IHN0cmluZykge1xyXG4gICAgICByZXR1cm4gKGhlYWRlck5hbWUgJiYgaGVhZGVyTmFtZS5sZW5ndGggPiAwKSA/IFwiXCIgOiB7fTtcclxuICAgIH07XHJcbiAgfSBlbHNlIHsgLy8ganFYSFIgc2hvdWxkIGhhdmUgaGVhZGVyIGZ1bmN0aW9uc1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChoZWFkZXJOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIChoZWFkZXJOYW1lICYmIGhlYWRlck5hbWUubGVuZ3RoID4gMCkgP1xyXG4gICAgICAgIGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKGhlYWRlck5hbWUpIDpcclxuICAgICAgICBqcVhIUi5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './adapter-ajax-jquery';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWFqYXgtanF1ZXJ5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC9hZGFwdGVyLWFqYXgtanF1ZXJ5LyIsInNvdXJjZXMiOlsiYnJlZXplLWNsaWVudC1hZGFwdGVyLWFqYXgtanF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWFqYXgtanF1ZXJ5JztcbiJdfQ==
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Functions to enable Breeze to use POST for queries when
3
+ * special parameters are passed using the .withParameters function.
4
+ *
5
+ * Copyright 2015-2021 IdeaBlade, Inc. All Rights Reserved.
6
+ * Use, reproduction, distribution, and modification of this code is subject to the terms and
7
+ * conditions of the IdeaBlade Breeze license, available at http://www.breezejs.com/license
8
+ *
9
+ * Author: Steve Schmitt
10
+ * Version:
11
+ * 1.2.0 - Moved into breeze-client repo and npm package
12
+ * 1.1.0 - revised: eliminated return object, configAjaxAdapter method; add ajaxPostEnabled flag
13
+ * 1.0.6 - original
14
+ *
15
+ * Special parameters:
16
+ * $method: ‘POST’ or ‘GET’ (the default)
17
+ * $encoding: ‘JSON’ or x-www-form-urlencoded (the default)
18
+ * $data: contains the data to be sent to the server
19
+ *
20
+ * Installation:
21
+ * var ajaxAdapter = config.initializeAdapterInstance('ajax', adapterName, true);
22
+ * AjaxPostWrapper.wrapAjax(ajaxAdapter);
23
+ *
24
+ * Example:
25
+ * var query = breeze.EntityQuery.from('SimilarCustomersPOST')
26
+ * .withParameters({
27
+ * $method: 'POST',
28
+ * $encoding: 'JSON',
29
+ * $data: { CompanyName: 'Hilo Hattie', ContactName: 'Donald', City: 'Duck', Country: 'USA', Phone: '808-234-5678' }
30
+ * });
31
+ *
32
+ **/
33
+ var AjaxPostWrapper = /** @class */ (function () {
34
+ function AjaxPostWrapper() {
35
+ }
36
+ AjaxPostWrapper.wrapAjax = function (ajaxAdapter) {
37
+ if (ajaxAdapter.ajaxPostEnabled) {
38
+ return; // already wrapped it.
39
+ }
40
+ var ajaxFunction = ajaxAdapter.ajax;
41
+ if (ajaxFunction) {
42
+ ajaxAdapter.ajax = function (settings) {
43
+ processSettings(settings);
44
+ return ajaxFunction.call(ajaxAdapter, settings);
45
+ };
46
+ ajaxAdapter.ajaxPostEnabled = true;
47
+ }
48
+ // Handle the POST-specific properties in the settings - $method, $data, $encoding
49
+ function processSettings(settings) {
50
+ var parameters = settings && settings.params;
51
+ if (!parameters)
52
+ return settings;
53
+ // wrapped data; handle the special properties
54
+ settings.type = parameters.$method || settings.type; // GET is default method
55
+ var data = parameters.$data;
56
+ if (data) {
57
+ // if $data exists, assume all of other parameters are guidance for building a POST
58
+ if (parameters.$encoding === 'JSON') {
59
+ // JSON encoding
60
+ settings.processData = false; // don't let JQuery form-encode it
61
+ settings.contentType = "application/json; charset=UTF-8";
62
+ if (typeof (data) === 'object') {
63
+ settings.data = JSON.stringify(data); // encode parameters as JSON
64
+ }
65
+ else {
66
+ settings.data = data;
67
+ }
68
+ }
69
+ else {
70
+ settings.data = data;
71
+ }
72
+ // must be null or jQuery ajax adapter won't see settings.data
73
+ settings.params = null;
74
+ }
75
+ return settings;
76
+ }
77
+ };
78
+ return AjaxPostWrapper;
79
+ }());
80
+ export { AjaxPostWrapper };
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1hamF4LXBvc3QuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItYWpheC1wb3N0LyIsInNvdXJjZXMiOlsiYWRhcHRlci1hamF4LXBvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUErQkk7QUFDSjtJQUFBO0lBbURBLENBQUM7SUFqRFEsd0JBQVEsR0FBZixVQUFnQixXQUErQjtRQUU3QyxJQUFLLFdBQW1CLENBQUMsZUFBZSxFQUFFO1lBQ3hDLE9BQU8sQ0FBQyxzQkFBc0I7U0FDL0I7UUFFRCxJQUFJLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3BDLElBQUksWUFBWSxFQUFFO1lBQ2hCLFdBQVcsQ0FBQyxJQUFJLEdBQUcsVUFBVSxRQUFRO2dCQUNuQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDO1lBQ0QsV0FBbUIsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdDO1FBR0Qsa0ZBQWtGO1FBQ2xGLFNBQVMsZUFBZSxDQUFDLFFBQWE7WUFDcEMsSUFBSSxVQUFVLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDN0MsSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTyxRQUFRLENBQUM7WUFFakMsOENBQThDO1lBQzlDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsd0JBQXdCO1lBRTdFLElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDNUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsbUZBQW1GO2dCQUNuRixJQUFJLFVBQVUsQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO29CQUNuQyxnQkFBZ0I7b0JBQ2hCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsa0NBQWtDO29CQUNoRSxRQUFRLENBQUMsV0FBVyxHQUFHLGlDQUFpQyxDQUFDO29CQUV6RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLEVBQUU7d0JBQzlCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtxQkFDbkU7eUJBQU07d0JBQ0wsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7cUJBQ3RCO2lCQUNGO3FCQUFNO29CQUNMLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2lCQUN0QjtnQkFDRCw4REFBOEQ7Z0JBQzlELFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO1lBRUQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFHSCxzQkFBQztBQUFELENBQUMsQUFuREQsSUFtREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBicmVlemUgZnJvbSAnYnJlZXplLWNsaWVudCc7XHJcblxyXG4vKipcclxuICogIEZ1bmN0aW9ucyB0byBlbmFibGUgQnJlZXplIHRvIHVzZSBQT1NUIGZvciBxdWVyaWVzIHdoZW5cclxuICogIHNwZWNpYWwgcGFyYW1ldGVycyBhcmUgcGFzc2VkIHVzaW5nIHRoZSAud2l0aFBhcmFtZXRlcnMgZnVuY3Rpb24uXHJcbiAqXHJcbiAqIENvcHlyaWdodCAyMDE1LTIwMjEgSWRlYUJsYWRlLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKiBVc2UsIHJlcHJvZHVjdGlvbiwgZGlzdHJpYnV0aW9uLCBhbmQgbW9kaWZpY2F0aW9uIG9mIHRoaXMgY29kZSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmRcclxuICogY29uZGl0aW9ucyBvZiB0aGUgSWRlYUJsYWRlIEJyZWV6ZSBsaWNlbnNlLCBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5icmVlemVqcy5jb20vbGljZW5zZVxyXG4gKlxyXG4gKiBBdXRob3I6IFN0ZXZlIFNjaG1pdHRcclxuICogVmVyc2lvbjogXHJcbiAqICAxLjIuMCAtIE1vdmVkIGludG8gYnJlZXplLWNsaWVudCByZXBvIGFuZCBucG0gcGFja2FnZVxyXG4gKiAgMS4xLjAgLSByZXZpc2VkOiBlbGltaW5hdGVkIHJldHVybiBvYmplY3QsIGNvbmZpZ0FqYXhBZGFwdGVyIG1ldGhvZDsgYWRkIGFqYXhQb3N0RW5hYmxlZCBmbGFnXHJcbiAqICAxLjAuNiAtIG9yaWdpbmFsXHJcbiAqXHJcbiAqIFNwZWNpYWwgcGFyYW1ldGVyczpcclxuICogICRtZXRob2Q6IOKAmFBPU1TigJkgb3Ig4oCYR0VU4oCZICh0aGUgZGVmYXVsdClcclxuICogICRlbmNvZGluZzog4oCYSlNPTuKAmSBvciB4LXd3dy1mb3JtLXVybGVuY29kZWQgKHRoZSBkZWZhdWx0KVxyXG4gKiAgJGRhdGE6IGNvbnRhaW5zIHRoZSBkYXRhIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlclxyXG4gKlxyXG4gKiBJbnN0YWxsYXRpb246XHJcbiAqICAgIHZhciBhamF4QWRhcHRlciA9IGNvbmZpZy5pbml0aWFsaXplQWRhcHRlckluc3RhbmNlKCdhamF4JywgYWRhcHRlck5hbWUsIHRydWUpO1xyXG4gKiAgICBBamF4UG9zdFdyYXBwZXIud3JhcEFqYXgoYWpheEFkYXB0ZXIpO1xyXG4gKlxyXG4gKiBFeGFtcGxlOlxyXG4gKiAgIHZhciBxdWVyeSA9IGJyZWV6ZS5FbnRpdHlRdWVyeS5mcm9tKCdTaW1pbGFyQ3VzdG9tZXJzUE9TVCcpXHJcbiAqICAgICAgICAgICAgLndpdGhQYXJhbWV0ZXJzKHtcclxuICogICAgICAgICAgICAgICAgJG1ldGhvZDogJ1BPU1QnLFxyXG4gKiAgICAgICAgICAgICAgICAkZW5jb2Rpbmc6ICdKU09OJyxcclxuICogICAgICAgICAgICAgICAkZGF0YTogeyBDb21wYW55TmFtZTogJ0hpbG8gSGF0dGllJywgQ29udGFjdE5hbWU6ICdEb25hbGQnLCBDaXR5OiAnRHVjaycsIENvdW50cnk6ICdVU0EnLCBQaG9uZTogJzgwOC0yMzQtNTY3OCcgfVxyXG4gKiAgICAgICAgICAgfSk7XHJcbiAqXHJcbiAqKi9cclxuZXhwb3J0IGNsYXNzIEFqYXhQb3N0V3JhcHBlciB7XHJcblxyXG4gIHN0YXRpYyB3cmFwQWpheChhamF4QWRhcHRlcjogYnJlZXplLkFqYXhBZGFwdGVyKSB7XHJcblxyXG4gICAgaWYgKChhamF4QWRhcHRlciBhcyBhbnkpLmFqYXhQb3N0RW5hYmxlZCkge1xyXG4gICAgICByZXR1cm47IC8vIGFscmVhZHkgd3JhcHBlZCBpdC5cclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWpheEZ1bmN0aW9uID0gYWpheEFkYXB0ZXIuYWpheDtcclxuICAgIGlmIChhamF4RnVuY3Rpb24pIHtcclxuICAgICAgYWpheEFkYXB0ZXIuYWpheCA9IGZ1bmN0aW9uIChzZXR0aW5ncykge1xyXG4gICAgICAgIHByb2Nlc3NTZXR0aW5ncyhzZXR0aW5ncyk7XHJcbiAgICAgICAgcmV0dXJuIGFqYXhGdW5jdGlvbi5jYWxsKGFqYXhBZGFwdGVyLCBzZXR0aW5ncyk7XHJcbiAgICAgIH07XHJcbiAgICAgIChhamF4QWRhcHRlciBhcyBhbnkpLmFqYXhQb3N0RW5hYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIEhhbmRsZSB0aGUgUE9TVC1zcGVjaWZpYyBwcm9wZXJ0aWVzIGluIHRoZSBzZXR0aW5ncyAtICRtZXRob2QsICRkYXRhLCAkZW5jb2RpbmdcclxuICAgIGZ1bmN0aW9uIHByb2Nlc3NTZXR0aW5ncyhzZXR0aW5nczogYW55KSB7XHJcbiAgICAgIGxldCBwYXJhbWV0ZXJzID0gc2V0dGluZ3MgJiYgc2V0dGluZ3MucGFyYW1zO1xyXG4gICAgICBpZiAoIXBhcmFtZXRlcnMpIHJldHVybiBzZXR0aW5ncztcclxuXHJcbiAgICAgIC8vIHdyYXBwZWQgZGF0YTsgaGFuZGxlIHRoZSBzcGVjaWFsIHByb3BlcnRpZXNcclxuICAgICAgc2V0dGluZ3MudHlwZSA9IHBhcmFtZXRlcnMuJG1ldGhvZCB8fCBzZXR0aW5ncy50eXBlOyAvLyBHRVQgaXMgZGVmYXVsdCBtZXRob2RcclxuXHJcbiAgICAgIGxldCBkYXRhID0gcGFyYW1ldGVycy4kZGF0YTtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAvLyBpZiAkZGF0YSBleGlzdHMsIGFzc3VtZSBhbGwgb2Ygb3RoZXIgcGFyYW1ldGVycyBhcmUgZ3VpZGFuY2UgZm9yIGJ1aWxkaW5nIGEgUE9TVFxyXG4gICAgICAgIGlmIChwYXJhbWV0ZXJzLiRlbmNvZGluZyA9PT0gJ0pTT04nKSB7XHJcbiAgICAgICAgICAvLyBKU09OIGVuY29kaW5nXHJcbiAgICAgICAgICBzZXR0aW5ncy5wcm9jZXNzRGF0YSA9IGZhbHNlOyAvLyBkb24ndCBsZXQgSlF1ZXJ5IGZvcm0tZW5jb2RlIGl0XHJcbiAgICAgICAgICBzZXR0aW5ncy5jb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOFwiO1xyXG5cclxuICAgICAgICAgIGlmICh0eXBlb2YgKGRhdGEpID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBzZXR0aW5ncy5kYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7IC8vIGVuY29kZSBwYXJhbWV0ZXJzIGFzIEpTT05cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNldHRpbmdzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZXR0aW5ncy5kYXRhID0gZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbXVzdCBiZSBudWxsIG9yIGpRdWVyeSBhamF4IGFkYXB0ZXIgd29uJ3Qgc2VlIHNldHRpbmdzLmRhdGFcclxuICAgICAgICBzZXR0aW5ncy5wYXJhbXMgPSBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gc2V0dGluZ3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn0iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './adapter-ajax-post';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWFqYXgtcG9zdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1hamF4LXBvc3QvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItYWpheC1wb3N0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWFqYXgtcG9zdCc7XG4iXX0=
@@ -0,0 +1,49 @@
1
+ /** Appends parameter to url, with appropriate delimiter */
2
+ export function appendQueryStringParameter(url, parameter) {
3
+ if (!parameter)
4
+ return url;
5
+ var 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
+ var query = '';
11
+ var subValue, innerObj, fullSubName;
12
+ for (var name_1 in obj) {
13
+ if (!obj.hasOwnProperty(name_1)) {
14
+ continue;
15
+ }
16
+ var value = obj[name_1];
17
+ if (value instanceof Array) {
18
+ for (var i = 0; i < value.length; ++i) {
19
+ subValue = value[i];
20
+ fullSubName = name_1 + '[' + 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_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
28
+ }
29
+ else if (value instanceof Object) {
30
+ for (var subName in value) {
31
+ if (obj.hasOwnProperty(name_1)) {
32
+ subValue = value[subName];
33
+ fullSubName = name_1 + '[' + subName + ']';
34
+ innerObj = {};
35
+ innerObj[fullSubName] = subValue;
36
+ query += encodeParams(innerObj) + '&';
37
+ }
38
+ }
39
+ }
40
+ else if (value === null) {
41
+ query += encodeURIComponent(name_1) + '=&';
42
+ }
43
+ else if (value !== undefined) {
44
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
45
+ }
46
+ }
47
+ return query.length ? query.substr(0, query.length - 1) : query;
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1jb3JlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC9hZGFwdGVyLWRhdGEtc2VydmljZS1vZGF0YS8iLCJzb3VyY2VzIjpbImFkYXB0ZXItY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyREFBMkQ7QUFDM0QsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEdBQVcsRUFBRSxTQUFpQjtJQUN2RSxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sR0FBRyxDQUFDO0lBRTNCLElBQUksU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFFdkUsT0FBTyxHQUFHLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBTztJQUNsQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDZixJQUFJLFFBQWEsRUFBRSxRQUFhLEVBQUUsV0FBZ0IsQ0FBQztJQUVuRCxLQUFLLElBQUksTUFBSSxJQUFJLEdBQUcsRUFBRTtRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFJLENBQUMsRUFBRTtZQUFFLFNBQVM7U0FBRTtRQUU1QyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBSSxDQUFDLENBQUM7UUFFdEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNyQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixXQUFXLEdBQUcsTUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUNuQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNkLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQ2pDLEtBQUssSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ3ZDO1NBQ0Y7YUFBTSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsZ0NBQWdDO1lBQ3ZFLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxNQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3pGO2FBQU0sSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQ2xDLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFO2dCQUN6QixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBSSxDQUFDLEVBQUU7b0JBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzFCLFdBQVcsR0FBRyxNQUFJLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7b0JBQ3pDLFFBQVEsR0FBRyxFQUFFLENBQUM7b0JBQ2QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztvQkFDakMsS0FBSyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7aUJBQ3ZDO2FBQ0Y7U0FDRjthQUFNLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN6QixLQUFLLElBQUksa0JBQWtCLENBQUMsTUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzFDO2FBQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzlCLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxNQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzNFO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFwcGVuZHMgcGFyYW1ldGVyIHRvIHVybCwgd2l0aCBhcHByb3ByaWF0ZSBkZWxpbWl0ZXIgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFF1ZXJ5U3RyaW5nUGFyYW1ldGVyKHVybDogc3RyaW5nLCBwYXJhbWV0ZXI6IHN0cmluZykge1xyXG4gIGlmICghcGFyYW1ldGVyKSByZXR1cm4gdXJsO1xyXG5cclxuICBsZXQgc2VwYXJhdG9yID0gdXJsLmVuZHNXaXRoKFwiP1wiKSA/IFwiXCIgOiB1cmwuaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIjtcclxuXHJcbiAgcmV0dXJuIHVybCArIHNlcGFyYXRvciArIHBhcmFtZXRlcjtcclxufVxyXG5cclxuLyoqIEVuY29kZXMgdGhlIG9iamVjdCBpbnRvIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzICovXHJcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVQYXJhbXMob2JqOiB7fSkge1xyXG4gIGxldCBxdWVyeSA9ICcnO1xyXG4gIGxldCBzdWJWYWx1ZTogYW55LCBpbm5lck9iajogYW55LCBmdWxsU3ViTmFtZTogYW55O1xyXG5cclxuICBmb3IgKGxldCBuYW1lIGluIG9iaikge1xyXG4gICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkobmFtZSkpIHsgY29udGludWU7IH1cclxuXHJcbiAgICBsZXQgdmFsdWUgPSBvYmpbbmFtZV07XHJcblxyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgIHN1YlZhbHVlID0gdmFsdWVbaV07XHJcbiAgICAgICAgZnVsbFN1Yk5hbWUgPSBuYW1lICsgJ1snICsgaSArICddJztcclxuICAgICAgICBpbm5lck9iaiA9IHt9O1xyXG4gICAgICAgIGlubmVyT2JqW2Z1bGxTdWJOYW1lXSA9IHN1YlZhbHVlO1xyXG4gICAgICAgIHF1ZXJ5ICs9IGVuY29kZVBhcmFtcyhpbm5lck9iaikgKyAnJic7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgdmFsdWUudG9JU09TdHJpbmcpIHsgLy8gYSBmZWF0dXJlIG9mIERhdGUtbGlrZSB0aGluZ3NcclxuICAgICAgcXVlcnkgKz0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlLnRvSVNPU3RyaW5nKCkpICsgJyYnO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICBmb3IgKGxldCBzdWJOYW1lIGluIHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xyXG4gICAgICAgICAgc3ViVmFsdWUgPSB2YWx1ZVtzdWJOYW1lXTtcclxuICAgICAgICAgIGZ1bGxTdWJOYW1lID0gbmFtZSArICdbJyArIHN1Yk5hbWUgKyAnXSc7XHJcbiAgICAgICAgICBpbm5lck9iaiA9IHt9O1xyXG4gICAgICAgICAgaW5uZXJPYmpbZnVsbFN1Yk5hbWVdID0gc3ViVmFsdWU7XHJcbiAgICAgICAgICBxdWVyeSArPSBlbmNvZGVQYXJhbXMoaW5uZXJPYmopICsgJyYnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICBxdWVyeSArPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPSYnO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHF1ZXJ5ICs9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkgKyAnJic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcXVlcnkubGVuZ3RoID8gcXVlcnkuc3Vic3RyKDAsIHF1ZXJ5Lmxlbmd0aCAtIDEpIDogcXVlcnk7XHJcbn1cclxuIl19