breeze-client 2.1.5-mjs → 2.1.5

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 (394) hide show
  1. package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
  2. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
  3. package/adapter-ajax-angularjs/package.json +13 -0
  4. package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
  5. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
  6. package/adapter-ajax-fetch/package.json +13 -0
  7. package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
  8. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
  9. package/adapter-ajax-httpclient/package.json +13 -0
  10. package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
  11. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
  12. package/adapter-ajax-jquery/package.json +13 -0
  13. package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
  14. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
  15. package/adapter-ajax-post/package.json +13 -0
  16. package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
  17. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
  18. package/adapter-data-service-odata/package.json +13 -0
  19. package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
  20. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
  21. package/adapter-data-service-webapi/package.json +13 -0
  22. package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
  23. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
  24. package/adapter-model-library-backing-store/package.json +13 -0
  25. package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
  26. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
  27. package/adapter-model-library-ko/package.json +13 -0
  28. package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
  29. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
  30. package/adapter-uri-builder-json/package.json +13 -0
  31. package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
  32. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
  33. package/adapter-uri-builder-odata/package.json +13 -0
  34. package/breeze-client.d.ts +8 -0
  35. package/breeze-client.metadata.json +1 -0
  36. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
  37. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
  38. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
  39. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
  40. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
  41. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
  42. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
  43. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
  44. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
  45. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
  46. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
  47. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
  48. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
  49. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
  50. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
  51. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
  52. package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
  53. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
  54. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
  55. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
  56. package/bundles/breeze-client-adapter-data-service-odata.umd.js +743 -0
  57. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
  58. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
  59. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
  60. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +326 -0
  61. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
  62. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
  63. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
  64. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
  65. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
  66. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
  67. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
  68. package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
  69. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
  70. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
  71. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
  72. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
  73. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
  74. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
  75. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
  76. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
  77. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
  78. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
  79. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
  80. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
  81. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
  82. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
  83. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
  84. package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
  85. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
  86. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
  87. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
  88. package/bundles/breeze-client.umd.js +14098 -0
  89. package/bundles/breeze-client.umd.js.map +1 -0
  90. package/bundles/breeze-client.umd.min.js +16 -0
  91. package/bundles/breeze-client.umd.min.js.map +1 -0
  92. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
  93. package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
  94. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  95. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
  96. package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
  97. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  98. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
  99. package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
  100. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  101. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
  102. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  103. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
  104. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  105. package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
  106. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +459 -0
  107. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  108. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +93 -0
  109. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  110. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
  111. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  112. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
  113. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  114. package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
  115. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
  116. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  117. package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
  118. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
  119. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  120. package/esm2015/breeze-client.js +9 -0
  121. package/esm2015/index.js +2 -0
  122. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  123. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  124. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  125. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
  126. package/esm2015/src/abstract-data-service-adapter.js +296 -0
  127. package/esm2015/src/array.js +4 -0
  128. package/esm2015/src/assert-param.js +312 -0
  129. package/esm2015/src/breeze.js +85 -0
  130. package/esm2015/src/complex-array.js +119 -0
  131. package/esm2015/src/config.js +223 -0
  132. package/esm2015/src/core.js +709 -0
  133. package/esm2015/src/csdl-metadata-parser.js +385 -0
  134. package/esm2015/src/data-service.js +203 -0
  135. package/esm2015/src/data-type.js +444 -0
  136. package/esm2015/src/default-property-interceptor.js +460 -0
  137. package/esm2015/src/entity-action.js +45 -0
  138. package/esm2015/src/entity-aspect.js +806 -0
  139. package/esm2015/src/entity-group.js +187 -0
  140. package/esm2015/src/entity-key.js +116 -0
  141. package/esm2015/src/entity-manager.js +2094 -0
  142. package/esm2015/src/entity-metadata.js +2109 -0
  143. package/esm2015/src/entity-query.js +996 -0
  144. package/esm2015/src/entity-state.js +99 -0
  145. package/esm2015/src/enum.js +141 -0
  146. package/esm2015/src/event.js +256 -0
  147. package/esm2015/src/interface-registry.js +41 -0
  148. package/esm2015/src/key-generator.js +108 -0
  149. package/esm2015/src/local-query-comparison-options.js +65 -0
  150. package/esm2015/src/mapping-context.js +405 -0
  151. package/esm2015/src/naming-convention.js +88 -0
  152. package/esm2015/src/observable-array.js +185 -0
  153. package/esm2015/src/predicate.js +1235 -0
  154. package/esm2015/src/primitive-array.js +87 -0
  155. package/esm2015/src/query-options.js +152 -0
  156. package/esm2015/src/relation-array.js +175 -0
  157. package/esm2015/src/save-options.js +41 -0
  158. package/esm2015/src/unattached-children-map.js +58 -0
  159. package/esm2015/src/validate.js +991 -0
  160. package/esm2015/src/validation-options.js +64 -0
  161. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
  162. package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
  163. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  164. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
  165. package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
  166. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  167. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
  168. package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
  169. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  170. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
  171. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  172. package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
  173. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  174. package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
  175. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +466 -0
  176. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  177. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +98 -0
  178. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  179. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
  180. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  181. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
  182. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  183. package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
  184. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
  185. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  186. package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
  187. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
  188. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  189. package/esm5/breeze-client.js +9 -0
  190. package/esm5/index.js +2 -0
  191. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  192. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  193. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  194. package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
  195. package/esm5/src/abstract-data-service-adapter.js +302 -0
  196. package/esm5/src/array.js +4 -0
  197. package/esm5/src/assert-param.js +317 -0
  198. package/esm5/src/breeze.js +85 -0
  199. package/esm5/src/complex-array.js +119 -0
  200. package/esm5/src/config.js +228 -0
  201. package/esm5/src/core.js +717 -0
  202. package/esm5/src/csdl-metadata-parser.js +385 -0
  203. package/esm5/src/data-service.js +207 -0
  204. package/esm5/src/data-type.js +451 -0
  205. package/esm5/src/default-property-interceptor.js +460 -0
  206. package/esm5/src/entity-action.js +52 -0
  207. package/esm5/src/entity-aspect.js +812 -0
  208. package/esm5/src/entity-group.js +189 -0
  209. package/esm5/src/entity-key.js +118 -0
  210. package/esm5/src/entity-manager.js +2112 -0
  211. package/esm5/src/entity-metadata.js +2144 -0
  212. package/esm5/src/entity-query.js +1023 -0
  213. package/esm5/src/entity-state.js +106 -0
  214. package/esm5/src/enum.js +144 -0
  215. package/esm5/src/event.js +259 -0
  216. package/esm5/src/interface-registry.js +43 -0
  217. package/esm5/src/key-generator.js +111 -0
  218. package/esm5/src/local-query-comparison-options.js +67 -0
  219. package/esm5/src/mapping-context.js +407 -0
  220. package/esm5/src/naming-convention.js +90 -0
  221. package/esm5/src/observable-array.js +201 -0
  222. package/esm5/src/predicate.js +1300 -0
  223. package/esm5/src/primitive-array.js +87 -0
  224. package/esm5/src/query-options.js +167 -0
  225. package/esm5/src/relation-array.js +175 -0
  226. package/esm5/src/save-options.js +43 -0
  227. package/esm5/src/unattached-children-map.js +60 -0
  228. package/esm5/src/validate.js +996 -0
  229. package/esm5/src/validation-options.js +66 -0
  230. package/fesm2015/{breeze-client-adapter-ajax-angularjs.mjs → breeze-client-adapter-ajax-angularjs.js} +1 -2
  231. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  232. package/fesm2015/{breeze-client-adapter-ajax-fetch.mjs → breeze-client-adapter-ajax-fetch.js} +3 -6
  233. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
  234. package/fesm2015/{breeze-client-adapter-ajax-httpclient.mjs → breeze-client-adapter-ajax-httpclient.js} +1 -2
  235. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  236. package/fesm2015/{breeze-client-adapter-ajax-jquery.mjs → breeze-client-adapter-ajax-jquery.js} +2 -3
  237. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
  238. package/{fesm2020/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -2
  239. package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
  240. package/fesm2015/{breeze-client-adapter-data-service-odata.mjs → breeze-client-adapter-data-service-odata.js} +22 -21
  241. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
  242. package/fesm2015/{breeze-client-adapter-data-service-webapi.mjs → breeze-client-adapter-data-service-webapi.js} +13 -14
  243. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
  244. package/{fesm2020/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -14
  245. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  246. package/{fesm2020/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -14
  247. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
  248. package/{fesm2020/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -9
  249. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
  250. package/{fesm2020/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -86
  251. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  252. package/fesm2015/{breeze-client-mixin-get-entity-graph.mjs → breeze-client-mixin-get-entity-graph.js} +1 -2
  253. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
  254. package/fesm2015/{breeze-client-mixin-save-queuing.mjs → breeze-client-mixin-save-queuing.js} +1 -2
  255. package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
  256. package/fesm2015/{breeze-client.mjs → breeze-client.js} +417 -408
  257. package/fesm2015/breeze-client.js.map +1 -0
  258. package/{fesm2020/breeze-client-adapter-ajax-angularjs.mjs → fesm5/breeze-client-adapter-ajax-angularjs.js} +42 -42
  259. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  260. package/{fesm2020/breeze-client-adapter-ajax-fetch.mjs → fesm5/breeze-client-adapter-ajax-fetch.js} +43 -45
  261. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
  262. package/{fesm2020/breeze-client-adapter-ajax-httpclient.mjs → fesm5/breeze-client-adapter-ajax-httpclient.js} +44 -44
  263. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  264. package/{fesm2020/breeze-client-adapter-ajax-jquery.mjs → fesm5/breeze-client-adapter-ajax-jquery.js} +19 -19
  265. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
  266. package/{fesm2015/breeze-client-adapter-ajax-post.mjs → fesm5/breeze-client-adapter-ajax-post.js} +11 -9
  267. package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
  268. package/{fesm2020/breeze-client-adapter-data-service-odata.mjs → fesm5/breeze-client-adapter-data-service-odata.js} +134 -127
  269. package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
  270. package/{fesm2020/breeze-client-adapter-data-service-webapi.mjs → fesm5/breeze-client-adapter-data-service-webapi.js} +42 -39
  271. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
  272. package/{fesm2015/breeze-client-adapter-model-library-backing-store.mjs → fesm5/breeze-client-adapter-model-library-backing-store.js} +64 -64
  273. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  274. package/{fesm2015/breeze-client-adapter-model-library-ko.mjs → fesm5/breeze-client-adapter-model-library-ko.js} +58 -58
  275. package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
  276. package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
  277. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
  278. package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
  279. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  280. package/{fesm2020/breeze-client-mixin-get-entity-graph.mjs → fesm5/breeze-client-mixin-get-entity-graph.js} +45 -46
  281. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
  282. package/{fesm2020/breeze-client-mixin-save-queuing.mjs → fesm5/breeze-client-mixin-save-queuing.js} +126 -117
  283. package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
  284. package/{fesm2020/breeze-client.mjs → fesm5/breeze-client.js} +3629 -3413
  285. package/fesm5/breeze-client.js.map +1 -0
  286. package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
  287. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
  288. package/mixin-get-entity-graph/package.json +13 -0
  289. package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
  290. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
  291. package/mixin-save-queuing/package.json +13 -0
  292. package/package.json +11 -125
  293. package/src/entity-metadata.d.ts +4 -6
  294. package/src/entity-query.d.ts +1 -1
  295. package/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -130
  296. package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +0 -49
  297. package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
  298. package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -132
  299. package/esm2020/adapter-ajax-fetch/adapter-core.mjs +0 -49
  300. package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
  301. package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -137
  302. package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +0 -49
  303. package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
  304. package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -103
  305. package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
  306. package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
  307. package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
  308. package/esm2020/adapter-data-service-odata/adapter-core.mjs +0 -49
  309. package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +0 -456
  310. package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
  311. package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -93
  312. package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
  313. package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -268
  314. package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
  315. package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -240
  316. package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
  317. package/esm2020/adapter-uri-builder-json/adapter-core.mjs +0 -49
  318. package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -36
  319. package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
  320. package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +0 -49
  321. package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -190
  322. package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
  323. package/esm2020/breeze-client.mjs +0 -5
  324. package/esm2020/index.mjs +0 -2
  325. package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
  326. package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
  327. package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
  328. package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +0 -400
  329. package/esm2020/src/abstract-data-service-adapter.mjs +0 -296
  330. package/esm2020/src/array.mjs +0 -4
  331. package/esm2020/src/assert-param.mjs +0 -312
  332. package/esm2020/src/breeze.mjs +0 -85
  333. package/esm2020/src/complex-array.mjs +0 -117
  334. package/esm2020/src/config.mjs +0 -223
  335. package/esm2020/src/core.mjs +0 -707
  336. package/esm2020/src/csdl-metadata-parser.mjs +0 -385
  337. package/esm2020/src/data-service.mjs +0 -203
  338. package/esm2020/src/data-type.mjs +0 -444
  339. package/esm2020/src/default-property-interceptor.mjs +0 -460
  340. package/esm2020/src/entity-action.mjs +0 -45
  341. package/esm2020/src/entity-aspect.mjs +0 -806
  342. package/esm2020/src/entity-group.mjs +0 -187
  343. package/esm2020/src/entity-key.mjs +0 -116
  344. package/esm2020/src/entity-manager.mjs +0 -2094
  345. package/esm2020/src/entity-metadata.mjs +0 -2109
  346. package/esm2020/src/entity-query.mjs +0 -996
  347. package/esm2020/src/entity-state.mjs +0 -99
  348. package/esm2020/src/enum.mjs +0 -141
  349. package/esm2020/src/event.mjs +0 -256
  350. package/esm2020/src/interface-registry.mjs +0 -41
  351. package/esm2020/src/key-generator.mjs +0 -108
  352. package/esm2020/src/local-query-comparison-options.mjs +0 -65
  353. package/esm2020/src/mapping-context.mjs +0 -405
  354. package/esm2020/src/naming-convention.mjs +0 -88
  355. package/esm2020/src/observable-array.mjs +0 -183
  356. package/esm2020/src/predicate.mjs +0 -1232
  357. package/esm2020/src/primitive-array.mjs +0 -85
  358. package/esm2020/src/query-options.mjs +0 -152
  359. package/esm2020/src/relation-array.mjs +0 -173
  360. package/esm2020/src/save-options.mjs +0 -41
  361. package/esm2020/src/unattached-children-map.mjs +0 -58
  362. package/esm2020/src/validate.mjs +0 -988
  363. package/esm2020/src/validation-options.mjs +0 -64
  364. package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  365. package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  366. package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  367. package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  368. package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +0 -1
  369. package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  370. package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  371. package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  372. package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  373. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs +0 -92
  374. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  375. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs +0 -246
  376. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  377. package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  378. package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +0 -1
  379. package/fesm2015/breeze-client.mjs.map +0 -1
  380. package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  381. package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  382. package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  383. package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  384. package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +0 -1
  385. package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  386. package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  387. package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  388. package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  389. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  390. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  391. package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  392. package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +0 -1
  393. package/fesm2020/breeze-client.mjs.map +0 -1
  394. package/mjs/README.md +0 -17
@@ -1,93 +0,0 @@
1
- import * as breeze from 'breeze-client';
2
- // import { JsonResultsAdapter, KeyMapping } from './breeze';
3
- /** @hidden */
4
- export class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {
5
- constructor() {
6
- super();
7
- this.jsonResultsAdapter = new breeze.JsonResultsAdapter({
8
- name: "webApi_default",
9
- visitNode: function (node, mappingContext, nodeContext) {
10
- if (node == null)
11
- return {};
12
- let entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);
13
- let entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
14
- let propertyName = nodeContext.propertyName;
15
- let ignore = propertyName && propertyName.substr(0, 1) === "$";
16
- return {
17
- entityType: entityType,
18
- nodeId: node.$id,
19
- nodeRefId: node.$ref,
20
- ignore: ignore
21
- };
22
- }
23
- });
24
- this.name = "webApi";
25
- }
26
- static register(config) {
27
- config = config || breeze.config;
28
- config.registerAdapter("dataService", DataServiceWebApiAdapter);
29
- return config.initializeAdapterInstance("dataService", "webApi", true);
30
- }
31
- /** @hidden @internal */
32
- _prepareSaveBundle(saveContext, saveBundle) {
33
- let changeRequestInterceptor = this._createChangeRequestInterceptor(saveContext, saveBundle);
34
- let em = saveContext.entityManager;
35
- let metadataStore = em.metadataStore;
36
- let helper = em.helper;
37
- let serSaveBundle = {};
38
- serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {
39
- let rawEntity = helper.unwrapInstance(e);
40
- let autoGeneratedKey;
41
- if (e.entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {
42
- autoGeneratedKey = {
43
- propertyName: e.entityType.keyProperties[0].nameOnServer,
44
- autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name
45
- };
46
- }
47
- let originalValuesOnServer = helper.unwrapOriginalValues(e, metadataStore);
48
- rawEntity.entityAspect = {
49
- entityTypeName: e.entityType.name,
50
- defaultResourceName: e.entityType.defaultResourceName,
51
- entityState: e.entityAspect.entityState.name,
52
- originalValuesMap: originalValuesOnServer,
53
- autoGeneratedKey: autoGeneratedKey
54
- };
55
- rawEntity = changeRequestInterceptor.getRequest(rawEntity, e, ix);
56
- return rawEntity;
57
- });
58
- serSaveBundle.saveOptions = { tag: saveBundle.saveOptions.tag };
59
- changeRequestInterceptor.done(serSaveBundle.entities);
60
- return serSaveBundle;
61
- }
62
- /** @hidden @internal */
63
- _prepareSaveResult(saveContext, data) {
64
- // use the jsonResultAdapter to extractResults and extractKeyMappings
65
- let jra = saveContext.dataService.jsonResultsAdapter || this.jsonResultsAdapter;
66
- let entities = jra.extractSaveResults(data) || [];
67
- let keyMappings = jra.extractKeyMappings(data) || [];
68
- let deletedKeys = jra.extractDeletedKeys ? (jra.extractDeletedKeys(data)) || [] : [];
69
- if (keyMappings.length) {
70
- // HACK: need to change the 'case' of properties in the saveResult
71
- // but KeyMapping properties internally are still ucase. ugh...
72
- keyMappings = keyMappings.map(function (km) {
73
- if (km.entityTypeName)
74
- return km; // it's already lower case
75
- let kmHack = km;
76
- let entityTypeName = breeze.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
77
- return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };
78
- });
79
- }
80
- if (deletedKeys.length) {
81
- deletedKeys = deletedKeys.map(function (dk) {
82
- if (dk.entityTypeName)
83
- return dk; // it's already lower case
84
- let entityTypeName = breeze.MetadataStore.normalizeTypeName(dk.EntityTypeName);
85
- // NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey
86
- return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };
87
- });
88
- }
89
- return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };
90
- }
91
- }
92
- breeze.config.registerAdapter("dataService", DataServiceWebApiAdapter);
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1kYXRhLXNlcnZpY2Utd2ViYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkYXB0ZXItZGF0YS1zZXJ2aWNlLXdlYmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4Qyw2REFBNkQ7QUFFN0QsY0FBYztBQUNkLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxNQUFNLENBQUMsMEJBQTBCO0lBRTdFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE2RVYsdUJBQWtCLEdBQThCLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDO1lBRTVFLElBQUksRUFBRSxnQkFBZ0I7WUFFdEIsU0FBUyxFQUFFLFVBQVUsSUFBUyxFQUFFLGNBQXFDLEVBQUUsV0FBK0I7Z0JBQ3BHLElBQUksSUFBSSxJQUFJLElBQUk7b0JBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQzVCLElBQUksY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLFVBQVUsR0FBRyxjQUFjLElBQUksY0FBYyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbEgsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztnQkFDNUMsSUFBSSxNQUFNLEdBQUcsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFFL0QsT0FBTztvQkFDTCxVQUFVLEVBQUUsVUFBVTtvQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHO29CQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQ3BCLE1BQU0sRUFBRSxNQUFNO2lCQUNSLENBQUM7WUFDWCxDQUFDO1NBRUYsQ0FBQyxD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QUM7SUFFcEYsQ0FBQztDQXVCRjtBQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYnJlZXplIGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG4vLyBpbXBvcnQgeyBKc29uUmVzdWx0c0FkYXB0ZXIsIEtleU1hcHBpbmcgfSBmcm9tICcuL2JyZWV6ZSc7XHJcblxyXG4vKiogQGhpZGRlbiAqL1xyXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2VXZWJBcGlBZGFwdGVyIGV4dGVuZHMgYnJlZXplLkFic3RyYWN0RGF0YVNlcnZpY2VBZGFwdGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5uYW1lID0gXCJ3ZWJBcGlcIjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWdpc3Rlcihjb25maWc/OiBicmVlemUuQnJlZXplQ29uZmlnKSB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgYnJlZXplLmNvbmZpZztcclxuICAgIGNvbmZpZy5yZWdpc3RlckFkYXB0ZXIoXCJkYXRhU2VydmljZVwiLCBEYXRhU2VydmljZVdlYkFwaUFkYXB0ZXIpO1xyXG4gICAgcmV0dXJuIGNvbmZpZy5pbml0aWFsaXplQWRhcHRlckluc3RhbmNlKFwiZGF0YVNlcnZpY2VcIiwgXCJ3ZWJBcGlcIiwgdHJ1ZSkgYXMgRGF0YVNlcnZpY2VXZWJBcGlBZGFwdGVyO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX3ByZXBhcmVTYXZlQnVuZGxlKHNhdmVDb250ZXh0OiBicmVlemUuU2F2ZUNvbnRleHQsIHNhdmVCdW5kbGU6IGJyZWV6ZS5TYXZlQnVuZGxlKSB7XHJcbiAgICBsZXQgY2hhbmdlUmVxdWVzdEludGVyY2VwdG9yID0gdGhpcy5fY3JlYXRlQ2hhbmdlUmVxdWVzdEludGVyY2VwdG9yKHNhdmVDb250ZXh0LCBzYXZlQnVuZGxlKTtcclxuICAgIGxldCBlbSA9IHNhdmVDb250ZXh0LmVudGl0eU1hbmFnZXI7XHJcbiAgICBsZXQgbWV0YWRhdGFTdG9yZSA9IGVtLm1ldGFkYXRhU3RvcmU7XHJcbiAgICBsZXQgaGVscGVyID0gZW0uaGVscGVyO1xyXG4gICAgbGV0IHNlclNhdmVCdW5kbGU6IGFueSA9IHt9O1xyXG4gICAgc2VyU2F2ZUJ1bmRsZS5lbnRpdGllcyA9IHNhdmVCdW5kbGUuZW50aXRpZXMubWFwKGZ1bmN0aW9uIChlLCBpeCkge1xyXG4gICAgICBsZXQgcmF3RW50aXR5ID0gaGVscGVyLnVud3JhcEluc3RhbmNlKGUpO1xyXG5cclxuICAgICAgbGV0IGF1dG9HZW5lcmF0ZWRLZXk6IE9iamVjdCB8IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKGUuZW50aXR5VHlwZS5hdXRvR2VuZXJhdGVkS2V5VHlwZSAhPT0gYnJlZXplLkF1dG9HZW5lcmF0ZWRLZXlUeXBlLk5vbmUpIHtcclxuICAgICAgICBhdXRvR2VuZXJhdGVkS2V5ID0ge1xyXG4gICAgICAgICAgcHJvcGVydHlOYW1lOiBlLmVudGl0eVR5cGUua2V5UHJvcGVydGllc1swXS5uYW1lT25TZXJ2ZXIsXHJcbiAgICAgICAgICBhdXRvR2VuZXJhdGVkS2V5VHlwZTogZS5lbnRpdHlUeXBlLmF1dG9HZW5lcmF0ZWRLZXlUeXBlLm5hbWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgb3JpZ2luYWxWYWx1ZXNPblNlcnZlciA9IGhlbHBlci51bndyYXBPcmlnaW5hbFZhbHVlcyhlLCBtZXRhZGF0YVN0b3JlKTtcclxuICAgICAgcmF3RW50aXR5LmVudGl0eUFzcGVjdCA9IHtcclxuICAgICAgICBlbnRpdHlUeXBlTmFtZTogZS5lbnRpdHlUeXBlLm5hbWUsXHJcbiAgICAgICAgZGVmYXVsdFJlc291cmNlTmFtZTogZS5lbnRpdHlUeXBlLmRlZmF1bHRSZXNvdXJjZU5hbWUsXHJcbiAgICAgICAgZW50aXR5U3RhdGU6IGUuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLm5hbWUsXHJcbiAgICAgICAgb3JpZ2luYWxWYWx1ZXNNYXA6IG9yaWdpbmFsVmFsdWVzT25TZXJ2ZXIsXHJcbiAgICAgICAgYXV0b0dlbmVyYXRlZEtleTogYXV0b0dlbmVyYXRlZEtleVxyXG4gICAgICB9O1xyXG4gICAgICByYXdFbnRpdHkgPSBjaGFuZ2VSZXF1ZXN0SW50ZXJjZXB0b3IuZ2V0UmVxdWVzdChyYXdFbnRpdHksIGUsIGl4KTtcclxuICAgICAgcmV0dXJuIHJhd0VudGl0eTtcclxuICAgIH0pO1xyXG5cclxuICAgIHNlclNhdmVCdW5kbGUuc2F2ZU9wdGlvbnMgPSB7IHRhZzogc2F2ZUJ1bmRsZS5zYXZlT3B0aW9ucy50YWcgfTtcclxuICAgIGNoYW5nZVJlcXVlc3RJbnRlcmNlcHRvci5kb25lKHNlclNhdmVCdW5kbGUuZW50aXRpZXMpO1xyXG4gICAgcmV0dXJuIHNlclNhdmVCdW5kbGU7XHJcbiAgfVxyXG5cclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBfcHJlcGFyZVNhdmVSZXN1bHQoc2F2ZUNvbnRleHQ6IGJyZWV6ZS5TYXZlQ29udGV4dCwgZGF0YTogYW55KSB7XHJcbiAgICAvLyB1c2UgdGhlIGpzb25SZXN1bHRBZGFwdGVyIHRvIGV4dHJhY3RSZXN1bHRzIGFuZCBleHRyYWN0S2V5TWFwcGluZ3NcclxuICAgIGxldCBqcmEgPSBzYXZlQ29udGV4dC5kYXRhU2VydmljZS5qc29uUmVzdWx0c0FkYXB0ZXIgfHwgdGhpcy5qc29uUmVzdWx0c0FkYXB0ZXI7XHJcbiAgICBsZXQgZW50aXRpZXMgPSBqcmEuZXh0cmFjdFNhdmVSZXN1bHRzKGRhdGEpIHx8IFtdO1xyXG4gICAgbGV0IGtleU1hcHBpbmdzOiBicmVlemUuS2V5TWFwcGluZ1tdID0ganJhLmV4dHJhY3RLZXlNYXBwaW5ncyhkYXRhKSB8fCBbXTtcclxuICAgIGxldCBkZWxldGVkS2V5cyA9IGpyYS5leHRyYWN0RGVsZXRlZEtleXMgPyAoanJhLmV4dHJhY3REZWxldGVkS2V5cyhkYXRhKSkgfHwgW10gOiBbXTtcclxuXHJcbiAgICBpZiAoa2V5TWFwcGluZ3MubGVuZ3RoKSB7XHJcbiAgICAgIC8vIEhBQ0s6IG5lZWQgdG8gY2hhbmdlIHRoZSAnY2FzZScgb2YgcHJvcGVydGllcyBpbiB0aGUgc2F2ZVJlc3VsdFxyXG4gICAgICAvLyBidXQgS2V5TWFwcGluZyBwcm9wZXJ0aWVzIGludGVybmFsbHkgYXJlIHN0aWxsIHVjYXNlLiB1Z2guLi5cclxuICAgICAga2V5TWFwcGluZ3MgPSBrZXlNYXBwaW5ncy5tYXAoZnVuY3Rpb24gKGttKSB7XHJcbiAgICAgICAgaWYgKGttLmVudGl0eVR5cGVOYW1lKSByZXR1cm4ga207IC8vIGl0J3MgYWxyZWFkeSBsb3dlciBjYXNlXHJcbiAgICAgICAgbGV0IGttSGFjayA9IGttIGFzIGFueTtcclxuICAgICAgICBsZXQgZW50aXR5VHlwZU5hbWUgPSBicmVlemUuTWV0YWRhdGFTdG9yZS5ub3JtYWxpemVUeXBlTmFtZShrbUhhY2suRW50aXR5VHlwZU5hbWUpO1xyXG4gICAgICAgIHJldHVybiB7IGVudGl0eVR5cGVOYW1lOiBlbnRpdHlUeXBlTmFtZSwgdGVtcFZhbHVlOiBrbUhhY2suVGVtcFZhbHVlLCByZWFsVmFsdWU6IGttSGFjay5SZWFsVmFsdWUgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRlbGV0ZWRLZXlzLmxlbmd0aCkge1xyXG4gICAgICBkZWxldGVkS2V5cyA9IGRlbGV0ZWRLZXlzLm1hcChmdW5jdGlvbiAoZGspIHtcclxuICAgICAgICBpZiAoZGsuZW50aXR5VHlwZU5hbWUpIHJldHVybiBkazsgLy8gaXQncyBhbHJlYWR5IGxvd2VyIGNhc2VcclxuICAgICAgICBsZXQgZW50aXR5VHlwZU5hbWUgPSBicmVlemUuTWV0YWRhdGFTdG9yZS5ub3JtYWxpemVUeXBlTmFtZShkay5FbnRpdHlUeXBlTmFtZSk7XHJcbiAgICAgICAgLy8gTk9URSB0aGUgZGsuS2V5VmFsdWUgPT4ga2V5VmFsdWVzIHRyYW5zaXRpb24gLSBuZWVkZWQgYmVjYXVzZSB3ZSBhcmUgZGVzZXJpYWxpemluZyBhbiAuTkVUIEVudGl0eUtleVxyXG4gICAgICAgIHJldHVybiB7IGVudGl0eVR5cGVOYW1lOiBlbnRpdHlUeXBlTmFtZSwga2V5VmFsdWVzOiBkay5LZXlWYWx1ZSB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyBlbnRpdGllczogZW50aXRpZXMsIGtleU1hcHBpbmdzOiBrZXlNYXBwaW5ncywgZGVsZXRlZEtleXM6IGRlbGV0ZWRLZXlzIH07XHJcblxyXG4gIH1cclxuXHJcbiAganNvblJlc3VsdHNBZGFwdGVyOiBicmVlemUuSnNvblJlc3VsdHNBZGFwdGVyID0gbmV3IGJyZWV6ZS5Kc29uUmVzdWx0c0FkYXB0ZXIoe1xyXG5cclxuICAgIG5hbWU6IFwid2ViQXBpX2RlZmF1bHRcIixcclxuXHJcbiAgICB2aXNpdE5vZGU6IGZ1bmN0aW9uIChub2RlOiBhbnksIG1hcHBpbmdDb250ZXh0OiBicmVlemUuTWFwcGluZ0NvbnRleHQsIG5vZGVDb250ZXh0OiBicmVlemUuTm9kZUNvbnRleHQpIHtcclxuICAgICAgaWYgKG5vZGUgPT0gbnVsbCkgcmV0dXJuIHt9O1xyXG4gICAgICBsZXQgZW50aXR5VHlwZU5hbWUgPSBicmVlemUuTWV0YWRhdGFTdG9yZS5ub3JtYWxpemVUeXBlTmFtZShub2RlLiR0eXBlKTtcclxuICAgICAgbGV0IGVudGl0eVR5cGUgPSBlbnRpdHlUeXBlTmFtZSAmJiBtYXBwaW5nQ29udGV4dC5lbnRpdHlNYW5hZ2VyLm1ldGFkYXRhU3RvcmUuZ2V0RW50aXR5VHlwZShlbnRpdHlUeXBlTmFtZSwgdHJ1ZSk7XHJcbiAgICAgIGxldCBwcm9wZXJ0eU5hbWUgPSBub2RlQ29udGV4dC5wcm9wZXJ0eU5hbWU7XHJcbiAgICAgIGxldCBpZ25vcmUgPSBwcm9wZXJ0eU5hbWUgJiYgcHJvcGVydHlOYW1lLnN1YnN0cigwLCAxKSA9PT0gXCIkXCI7XHJcblxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGVudGl0eVR5cGU6IGVudGl0eVR5cGUsXHJcbiAgICAgICAgbm9kZUlkOiBub2RlLiRpZCxcclxuICAgICAgICBub2RlUmVmSWQ6IG5vZGUuJHJlZixcclxuICAgICAgICBpZ25vcmU6IGlnbm9yZVxyXG4gICAgICB9IGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgfSk7XHJcblxyXG59XHJcblxyXG5icmVlemUuY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcImRhdGFTZXJ2aWNlXCIsIERhdGFTZXJ2aWNlV2ViQXBpQWRhcHRlcik7XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './adapter-data-service-webapi';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXItZGF0YS1zZXJ2aWNlLXdlYmFwaSc7XG4iXX0=
@@ -1,268 +0,0 @@
1
- import * as breeze from 'breeze-client';
2
- let core = breeze.core;
3
- export class ModelLibraryBackingStoreAdapter {
4
- constructor() {
5
- this.name = "backingStore";
6
- }
7
- static register(config) {
8
- config = config || breeze.config;
9
- config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
10
- return config.initializeAdapterInstance("modelLibrary", "backingStore", true);
11
- }
12
- initialize() {
13
- }
14
- getTrackablePropertyNames(entity) {
15
- let names = [];
16
- for (let p in entity) {
17
- if (p === "entityAspect" || p === "entityType")
18
- continue;
19
- if (p === "_$typeName" || p === "_pendingSets" || p === "_backingStore")
20
- continue;
21
- let val = entity[p];
22
- if (!core.isFunction(val)) {
23
- names.push(p);
24
- }
25
- }
26
- return names;
27
- }
28
- // This method is called during Metadata initialization
29
- initializeEntityPrototype(proto) {
30
- proto.getProperty = function (propertyName) {
31
- return this[propertyName];
32
- };
33
- proto.setProperty = function (propertyName, value) {
34
- //if (!this._backingStore.hasOwnProperty(propertyName)) {
35
- // throw new Error("Unknown property name:" + propertyName);
36
- //}
37
- this[propertyName] = value;
38
- // allow setProperty chaining.
39
- return this;
40
- };
41
- movePropDefsToProto(proto);
42
- }
43
- // This method is called when an EntityAspect is first created - this will occur as part of the entityType.createEntity call.
44
- // which can be called either directly or via standard query materialization
45
- // entity is either an entity or a complexObject
46
- startTracking(entity, proto) {
47
- // can't touch the normal property sets within this method - access the backingStore directly instead.
48
- let bs = movePropsToBackingStore(entity);
49
- // assign default values to the entity
50
- let stype = breeze.EntityAspect.isEntity(entity) ? entity.entityType : entity.complexType;
51
- stype.getProperties().forEach(function (prop) {
52
- let propName = prop.name;
53
- let val = entity[propName];
54
- if (prop instanceof breeze.DataProperty) {
55
- if (prop.isComplexProperty) {
56
- if (prop.isScalar) {
57
- val = prop.dataType._createInstanceCore(entity, prop);
58
- }
59
- else {
60
- val = breeze.makeComplexArray([], entity, prop);
61
- }
62
- }
63
- else if (!prop.isScalar) {
64
- val = breeze.makePrimitiveArray([], entity, prop);
65
- }
66
- else if (val === undefined) {
67
- val = prop.defaultValue;
68
- }
69
- }
70
- else if (prop.isNavigationProperty) {
71
- if (val !== undefined && val !== null) {
72
- throw new Error("Cannot assign a navigation property in an entity ctor.: " + propName);
73
- }
74
- if (prop.isScalar) {
75
- // TODO: change this to nullstob later.
76
- val = null;
77
- }
78
- else {
79
- val = breeze.makeRelationArray([], entity, prop);
80
- }
81
- }
82
- else {
83
- throw new Error("unknown property: " + propName);
84
- }
85
- // can't touch the normal property sets within this method (IE9 Bug) - so we access the backingStore directly instead.
86
- // otherwise we could just do
87
- // entity[propName] = val
88
- // after all of the interception logic had been injected.
89
- if (prop.isSettable || prop.isNavigationProperty) {
90
- bs[propName] = val;
91
- }
92
- });
93
- }
94
- }
95
- breeze.config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
96
- // private methods
97
- // This method is called during Metadata initialization to correctly "wrap" properties.
98
- function movePropDefsToProto(proto) {
99
- let stype = (proto.entityType || proto.complexType);
100
- let extra = stype._extra;
101
- let alreadyWrapped = extra.alreadyWrappedProps || {};
102
- stype.getProperties().forEach(function (prop) {
103
- let propName = prop.name;
104
- // we only want to wrap props that haven't already been wrapped
105
- if (alreadyWrapped[propName])
106
- return;
107
- // If property is already defined on the prototype then wrap it in another propertyDescriptor.
108
- // otherwise create a propDescriptor for it.
109
- let descr;
110
- if (propName in proto) {
111
- descr = wrapPropDescription(proto, prop);
112
- }
113
- else {
114
- descr = makePropDescription(proto, prop);
115
- }
116
- // descr will be null for a wrapped descr that is not configurable
117
- if (descr != null) {
118
- Object.defineProperty(proto, propName, descr);
119
- }
120
- alreadyWrapped[propName] = true;
121
- });
122
- extra.alreadyWrappedProps = alreadyWrapped;
123
- }
124
- // This method is called when an instance is first created via materialization or createEntity.
125
- // this method cannot be called while a 'defineProperty' accessor is executing
126
- // because of IE bug mentioned above.
127
- function movePropsToBackingStore(instance) {
128
- let bs = getBackingStore(instance);
129
- let proto = Object.getPrototypeOf(instance);
130
- let stype = (proto.entityType || proto.complexType);
131
- stype.getProperties().forEach(function (prop) {
132
- let propName = prop.name;
133
- if (prop.isUnmapped) {
134
- // insure that any unmapped properties that were added after entityType
135
- // was first created are wrapped with a property descriptor.
136
- if (!core.getPropertyDescriptor(proto, propName)) {
137
- let descr = makePropDescription(proto, prop);
138
- Object.defineProperty(proto, propName, descr);
139
- }
140
- }
141
- if (!instance.hasOwnProperty(propName))
142
- return;
143
- // pulls off the value, removes the instance property and then rewrites it via ES5 accessor
144
- let value = instance[propName];
145
- delete instance[propName];
146
- instance[propName] = value;
147
- });
148
- return bs;
149
- }
150
- function makePropDescription(proto, property) {
151
- let propName = property.name;
152
- let pendingStores = proto._pendingBackingStores;
153
- if (!pendingStores) {
154
- pendingStores = [];
155
- proto._pendingBackingStores = pendingStores;
156
- }
157
- let descr = {
158
- get: function () {
159
- let bs = this._backingStore || getBackingStore(this);
160
- return bs[propName];
161
- },
162
- set: function (value) {
163
- // IE9 cannot touch instance._backingStore here
164
- let bs = this._backingStore || getPendingBackingStore(this);
165
- let accessorFn = getAccessorFn(bs, propName);
166
- this._$interceptor(property, value, accessorFn);
167
- },
168
- enumerable: true,
169
- configurable: true
170
- };
171
- descr.set.rawSet = function (value) {
172
- let bs = this._backingStore || getPendingBackingStore(this);
173
- let accessorFn = getAccessorFn(bs, propName);
174
- accessorFn(value);
175
- };
176
- return descr;
177
- }
178
- function getAccessorFn(bs, propName) {
179
- return function () {
180
- if (arguments.length === 0) {
181
- return bs[propName];
182
- }
183
- else {
184
- bs[propName] = arguments[0];
185
- return undefined;
186
- }
187
- };
188
- }
189
- function wrapPropDescription(proto, property) {
190
- if (!proto.hasOwnProperty(property.name)) {
191
- let nextProto = Object.getPrototypeOf(proto);
192
- return wrapPropDescription(nextProto, property);
193
- }
194
- let propDescr = Object.getOwnPropertyDescriptor(proto, property.name);
195
- if (!propDescr)
196
- return undefined;
197
- // if not configurable; we can't touch it - so leave.
198
- if (!propDescr.configurable)
199
- return undefined;
200
- // if a data descriptor - don't change it - this is basically a static property - i.e. defined on every instance of the type with the same value.
201
- if (propDescr.value)
202
- return undefined;
203
- // if a read only property descriptor - no need to change it.
204
- if (!propDescr.set)
205
- return undefined;
206
- let localAccessorFn = function (entity) {
207
- return function () {
208
- if (!propDescr)
209
- return undefined;
210
- if (arguments.length === 0) {
211
- return propDescr.get.bind(entity)();
212
- }
213
- else {
214
- let set = propDescr.set;
215
- let rawSet = set.rawSet || set;
216
- rawSet.bind(entity)(arguments[0]);
217
- return undefined;
218
- }
219
- };
220
- };
221
- let newDescr = {
222
- get: function () {
223
- if (!propDescr)
224
- return undefined;
225
- return propDescr.get.bind(this)();
226
- },
227
- set: function (value) {
228
- this._$interceptor(property, value, localAccessorFn(this));
229
- },
230
- enumerable: propDescr.enumerable,
231
- configurable: true
232
- };
233
- newDescr.set.rawSet = propDescr.set;
234
- return newDescr;
235
- }
236
- function getBackingStore(instance) {
237
- let proto = Object.getPrototypeOf(instance);
238
- processPendingStores(proto);
239
- let bs = instance._backingStore;
240
- if (!bs) {
241
- bs = {};
242
- instance._backingStore = bs;
243
- }
244
- return bs;
245
- }
246
- // workaround for IE9 bug where instance properties cannot be changed when executing a property 'set' method.
247
- function getPendingBackingStore(instance) {
248
- let proto = Object.getPrototypeOf(instance);
249
- let pendingStores = proto._pendingBackingStores;
250
- let pending = core.arrayFirst(pendingStores, function (pending) {
251
- return pending.entity === instance;
252
- });
253
- if (pending)
254
- return pending.backingStore;
255
- let bs = {};
256
- pendingStores.push({ entity: instance, backingStore: bs });
257
- return bs;
258
- }
259
- function processPendingStores(proto) {
260
- let pendingStores = proto._pendingBackingStores;
261
- if (pendingStores) {
262
- pendingStores.forEach(function (pending) {
263
- pending.entity._backingStore = pending.backingStore;
264
- });
265
- pendingStores.length = 0;
266
- }
267
- }
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFeEMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUV2QixNQUFNLE9BQU8sK0JBQStCO0lBRzFDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBNEI7UUFDMUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFDeEUsT0FBTyxNQUFNLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQW9DLENBQUM7SUFDbkgsQ0FBQztJQUVELFVBQVU7SUFDVixDQUFDO0lBRUQseUJBQXlCLENBQUMsTUFBcUI7UUFDN0MsSUFBSSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLEtBQUssSUFBSSxDQUFDLElBQUksTUFBTSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLGNBQWMsSUFBSSxDQUFDLEtBQUssWUFBWTtnQkFBRSxTQUFTO1lBQ3pELElBQUksQ0FBQyxLQUFLLFlBQVksSUFBSSxDQUFDLEtBQUssY0FBYyxJQUFJLENBQUMsS0FBSyxlQUFlO2dCQUFFLFNBQVM7WUFDbEYsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMs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QUFzQixDQUFDLFFBQWE7SUFDM0MsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUM7SUFDaEQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxPQUFPO1FBQzVELE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLE9BQU87UUFBRSxPQUFRLE9BQWUsQ0FBQyxZQUFZLENBQUM7SUFDbEQsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1osYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxLQUFVO0lBQ3RDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztJQUNoRCxJQUFJLGFBQWEsRUFBRTtRQUNqQixhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsT0FBWTtZQUMxQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0gsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7S0FDMUI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYnJlZXplIGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG5cclxubGV0IGNvcmUgPSBicmVlemUuY29yZTtcclxuXHJcbmV4cG9ydCBjbGFzcyBNb2RlbExpYnJhcnlCYWNraW5nU3RvcmVBZGFwdGVyIGltcGxlbWVudHMgYnJlZXplLk1vZGVsTGlicmFyeUFkYXB0ZXIge1xyXG4gIG5hbWU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLm5hbWUgPSBcImJhY2tpbmdTdG9yZVwiO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJlZ2lzdGVyKGNvbmZpZz86IGJyZWV6ZS5CcmVlemVDb25maWcpIHtcclxuICAgIGNvbmZpZyA9IGNvbmZpZyB8fCBicmVlemUuY29uZmlnO1xyXG4gICAgY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcIm1vZGVsTGlicmFyeVwiLCBNb2RlbExpYnJhcnlCYWNraW5nU3RvcmVBZGFwdGVyKTtcclxuICAgIHJldHVybiBjb25maWcuaW5pdGlhbGl6ZUFkYXB0ZXJJbnN0YW5jZShcIm1vZGVsTGlicmFyeVwiLCBcImJhY2tpbmdTdG9yZVwiLCB0cnVlKSBhcyBNb2RlbExpYnJhcnlCYWNraW5nU3RvcmVBZGFwdGVyO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSgpIHtcclxuICB9XHJcblxyXG4gIGdldFRyYWNrYWJsZVByb3BlcnR5TmFtZXMoZW50aXR5OiBicmVlemUuRW50aXR5KSB7XHJcbiAgICBsZXQgbmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBmb3IgKGxldCBwIGluIGVudGl0eSkge1xyXG4gICAgICBpZiAocCA9PT0gXCJlbnRpdHlBc3BlY3RcIiB8fCBwID09PSBcImVudGl0eVR5cGVcIikgY29udGludWU7XHJcbiAgICAgIGlmIChwID09PSBcIl8kdHlwZU5hbWVcIiB8fCBwID09PSBcIl9wZW5kaW5nU2V0c1wiIHx8IHAgPT09IFwiX2JhY2tpbmdTdG9yZVwiKSBjb250aW51ZTtcclxuICAgICAgbGV0IHZhbCA9IGVudGl0eVtwXTtcclxuICAgICAgaWYgKCFjb3JlLmlzRnVuY3Rpb24odmFsKSkge1xyXG4gICAgICAgIG5hbWVzLnB1c2gocCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBuYW1lcztcclxuICB9XHJcblxyXG4gIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBkdXJpbmcgTWV0YWRhdGEgaW5pdGlhbGl6YXRpb25cclxuICBpbml0aWFsaXplRW50aXR5UHJvdG90eXBlKHByb3RvOiBhbnkpIHtcclxuXHJcbiAgICBwcm90by5nZXRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChwcm9wZXJ0eU5hbWU6IHN0cmluZykge1xyXG4gICAgICByZXR1cm4gdGhpc1twcm9wZXJ0eU5hbWVdO1xyXG4gICAgfTtcclxuXHJcbiAgICBwcm90by5zZXRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgICAvL2lmICghdGhpcy5fYmFja2luZ1N0b3JlLmhhc093blByb3BlcnR5KHByb3BlcnR5TmFtZSkpIHtcclxuICAgICAgLy8gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBwcm9wZXJ0eSBuYW1lOlwiICsgcHJvcGVydHlOYW1lKTtcclxuICAgICAgLy99XHJcbiAgICAgIHRoaXNbcHJvcGVydHlOYW1lXSA9IHZhbHVlO1xyXG4gICAgICAvLyBhbGxvdyBzZXRQcm9wZXJ0eSBjaGFpbmluZy5cclxuICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9O1xyXG5cclxuICAgIG1vdmVQcm9wRGVmc1RvUHJvdG8ocHJvdG8pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gRW50aXR5QXNwZWN0IGlzIGZpcnN0IGNyZWF0ZWQgLSB0aGlzIHdpbGwgb2NjdXIgYXMgcGFydCBvZiB0aGUgZW50aXR5VHlwZS5jcmVhdGVFbnRpdHkgY2FsbC5cclxuICAvLyB3aGljaCBjYW4gYmUgY2FsbGVkIGVpdGhlciBkaXJlY3RseSBvciB2aWEgc3RhbmRhcmQgcXVlcnkgbWF0ZXJpYWxpemF0aW9uXHJcblxyXG4gIC8vIGVudGl0eSBpcyBlaXRoZXIgYW4gZW50aXR5IG9yIGEgY29tcGxleE9iamVjdFxyXG4gIHN0YXJ0VHJhY2tpbmcoZW50aXR5OiBicmVlemUuU3RydWN0dXJhbE9iamVjdCwgcHJvdG86IGFueSkge1xyXG4gICAgLy8gY2FuJ3QgdG91Y2ggdGhlIG5vcm1hbCBwcm9wZXJ0eSBzZXRzIHdpdGhpbiB0aGlzIG1ldGhvZCAtIGFjY2VzcyB0aGUgYmFja2luZ1N0b3JlIGRpcmVjdGx5IGluc3RlYWQuXHJcbiAgICBsZXQgYnMgPSBtb3ZlUHJvcHNUb0JhY2tpbmdTdG9yZShlbnRpdHkpO1xyXG5cclxuICAgIC8vIGFzc2lnbiBkZWZhdWx0IHZhbHVlcyB0byB0aGUgZW50aXR5XHJcbiAgICBsZXQgc3R5cGUgPSBicmVlemUuRW50aXR5QXNwZWN0LmlzRW50aXR5KGVudGl0eSkgPyBlbnRpdHkuZW50aXR5VHlwZSA6IGVudGl0eS5jb21wbGV4VHlwZTtcclxuICAgIHN0eXBlLmdldFByb3BlcnRpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XHJcblxyXG4gICAgICBsZXQgcHJvcE5hbWUgPSBwcm9wLm5hbWU7XHJcbiAgICAgIGxldCB2YWwgPSBlbnRpdHlbcHJvcE5hbWVdO1xyXG5cclxuICAgICAgaWYgKHByb3AgaW5zdGFuY2VvZiBicmVlemUuRGF0YVByb3BlcnR5KSB7XHJcbiAgICAgICAgaWYgKHByb3AuaXNDb21wbGV4UHJvcGVydHkpIHtcclxuICAgICAgICAgIGlmIChwcm9wLmlzU2NhbGFyKSB7XHJcbiAgICAgICAgICAgIHZhbCA9IChwcm9wLmRhdGFUeXBlIGFzIGJyZWV6ZS5Db21wbGV4VHlwZSkuX2NyZWF0ZUluc3RhbmNlQ29yZShlbnRpdHksIHByb3ApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmFsID0gYnJlZXplLm1ha2VDb21wbGV4QXJyYXkoW10sIGVudGl0eSwgcHJvcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICghcHJvcC5pc1NjYWxhcikge1xyXG4gICAgICAgICAgdmFsID0gYnJlZXplLm1ha2VQcmltaXRpdmVBcnJheShbXSwgZW50aXR5LCBwcm9wKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB2YWwgPSBwcm9wLmRlZmF1bHRWYWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IGVsc2UgaWYgKHByb3AuaXNOYXZpZ2F0aW9uUHJvcGVydHkpIHtcclxuICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdmFsICE9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYXNzaWduIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eSBpbiBhbiBlbnRpdHkgY3Rvci46IFwiICsgcHJvcE5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcC5pc1NjYWxhcikge1xyXG4gICAgICAgICAgLy8gVE9ETzogY2hhbmdlIHRoaXMgdG8gbnVsbHN0b2IgbGF0ZXIuXHJcbiAgICAgICAgICB2YWwgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWwgPSBicmVlemUubWFrZVJlbGF0aW9uQXJyYXkoW10sIGVudGl0eSBhcyBicmVlemUuRW50aXR5LCBwcm9wKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidW5rbm93biBwcm9wZXJ0eTogXCIgKyBwcm9wTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2FuJ3QgdG91Y2ggdGhlIG5vcm1hbCBwcm9wZXJ0eSBzZXRzIHdpdGhpbiB0aGlzIG1ldGhvZCAoSUU5IEJ1ZykgLSBzbyB3ZSBhY2Nlc3MgdGhlIGJhY2tpbmdTdG9yZSBkaXJlY3RseSBpbnN0ZWFkLlxyXG4gICAgICAvLyBvdGhlcndpc2Ugd2UgY291bGQganVzdCBkb1xyXG4gICAgICAvLyBlbnRpdHlbcHJvcE5hbWVdID0gdmFsXHJcbiAgICAgIC8vIGFmdGVyIGFsbCBvZiB0aGUgaW50ZXJjZXB0aW9uIGxvZ2ljIGhhZCBiZWVuIGluamVjdGVkLlxyXG4gICAgICBpZiAoKHByb3AgYXMgYnJlZXplLkRhdGFQcm9wZXJ0eSkuaXNTZXR0YWJsZSB8fCBwcm9wLmlzTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgICAgICAgYnNbcHJvcE5hbWVdID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmJyZWV6ZS5jb25maWcucmVnaXN0ZXJBZGFwdGVyKFwibW9kZWxMaWJyYXJ5XCIsIE1vZGVsTGlicmFyeUJhY2tpbmdTdG9yZUFkYXB0ZXIpO1xyXG5cclxuLy8gcHJpdmF0ZSBtZXRob2RzXHJcblxyXG4vLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZHVyaW5nIE1ldGFkYXRhIGluaXRpYWxpemF0aW9uIHRvIGNvcnJlY3RseSBcIndyYXBcIiBwcm9wZXJ0aWVzLlxyXG5mdW5jdGlvbiBtb3ZlUHJvcERlZnNUb1Byb3RvKHByb3RvOiBhbnkpIHtcclxuICBsZXQgc3R5cGUgPSAocHJvdG8uZW50aXR5VHlwZSB8fCBwcm90by5jb21wbGV4VHlwZSkgYXMgYnJlZXplLlN0cnVjdHVyYWxUeXBlO1xyXG4gIGxldCBleHRyYSA9IHN0eXBlLl9leHRyYTtcclxuXHJcbiAgbGV0IGFscmVhZHlXcmFwcGVkID0gZXh0cmEuYWxyZWFkeVdyYXBwZWRQcm9wcyB8fCB7fTtcclxuXHJcbiAgc3R5cGUuZ2V0UHJvcGVydGllcygpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcclxuICAgIGxldCBwcm9wTmFtZSA9IHByb3AubmFtZTtcclxuICAgIC8vIHdlIG9ubHkgd2FudCB0byB3cmFwIHByb3BzIHRoYXQgaGF2ZW4ndCBhbHJlYWR5IGJlZW4gd3JhcHBlZFxyXG4gICAgaWYgKGFscmVhZHlXcmFwcGVkW3Byb3BOYW1lXSkgcmV0dXJuO1xyXG5cclxuICAgIC8vIElmIHByb3BlcnR5IGlzIGFscmVhZHkgZGVmaW5lZCBvbiB0aGUgcHJvdG90eXBlIHRoZW4gd3JhcCBpdCBpbiBhbm90aGVyIHByb3BlcnR5RGVzY3JpcHRvci5cclxuICAgIC8vIG90aGVyd2lzZSBjcmVhdGUgYSBwcm9wRGVzY3JpcHRvciBmb3IgaXQuXHJcbiAgICBsZXQgZGVzY3I6IGFueTtcclxuICAgIGlmIChwcm9wTmFtZSBpbiBwcm90bykge1xyXG4gICAgICBkZXNjciA9IHdyYXBQcm9wRGVzY3JpcHRpb24ocHJvdG8sIHByb3ApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVzY3IgPSBtYWtlUHJvcERlc2NyaXB0aW9uKHByb3RvLCBwcm9wKTtcclxuICAgIH1cclxuICAgIC8vIGRlc2NyIHdpbGwgYmUgbnVsbCBmb3IgYSB3cmFwcGVkIGRlc2NyIHRoYXQgaXMgbm90IGNvbmZpZ3VyYWJsZVxyXG4gICAgaWYgKGRlc2NyICE9IG51bGwpIHtcclxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCBwcm9wTmFtZSwgZGVzY3IpO1xyXG4gICAgfVxyXG4gICAgYWxyZWFkeVdyYXBwZWRbcHJvcE5hbWVdID0gdHJ1ZTtcclxuICB9KTtcclxuICBleHRyYS5hbHJlYWR5V3JhcHBlZFByb3BzID0gYWxyZWFkeVdyYXBwZWQ7XHJcbn1cclxuXHJcbi8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIGluc3RhbmNlIGlzIGZpcnN0IGNyZWF0ZWQgdmlhIG1hdGVyaWFsaXphdGlvbiBvciBjcmVhdGVFbnRpdHkuXHJcbi8vIHRoaXMgbWV0aG9kIGNhbm5vdCBiZSBjYWxsZWQgd2hpbGUgYSAnZGVmaW5lUHJvcGVydHknIGFjY2Vzc29yIGlzIGV4ZWN1dGluZ1xyXG4vLyBiZWNhdXNlIG9mIElFIGJ1ZyBtZW50aW9uZWQgYWJvdmUuXHJcblxyXG5mdW5jdGlvbiBtb3ZlUHJvcHNUb0JhY2tpbmdTdG9yZShpbnN0YW5jZTogYW55KSB7XHJcblxyXG4gIGxldCBicyA9IGdldEJhY2tpbmdTdG9yZShpbnN0YW5jZSk7XHJcbiAgbGV0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKTtcclxuICBsZXQgc3R5cGUgPSAocHJvdG8uZW50aXR5VHlwZSB8fCBwcm90by5jb21wbGV4VHlwZSkgYXMgYnJlZXplLlN0cnVjdHVyYWxUeXBlO1xyXG4gIHN0eXBlLmdldFByb3BlcnRpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XHJcbiAgICBsZXQgcHJvcE5hbWUgPSBwcm9wLm5hbWU7XHJcbiAgICBpZiAocHJvcC5pc1VubWFwcGVkKSB7XHJcbiAgICAgIC8vIGluc3VyZSB0aGF0IGFueSB1bm1hcHBlZCBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBhZGRlZCBhZnRlciBlbnRpdHlUeXBlXHJcbiAgICAgIC8vIHdhcyBmaXJzdCBjcmVhdGVkIGFyZSB3cmFwcGVkIHdpdGggYSBwcm9wZXJ0eSBkZXNjcmlwdG9yLlxyXG4gICAgICBpZiAoIWNvcmUuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCBwcm9wTmFtZSkpIHtcclxuICAgICAgICBsZXQgZGVzY3IgPSBtYWtlUHJvcERlc2NyaXB0aW9uKHByb3RvLCBwcm9wKTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sIHByb3BOYW1lLCBkZXNjcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghaW5zdGFuY2UuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSByZXR1cm47XHJcbiAgICAvLyBwdWxscyBvZmYgdGhlIHZhbHVlLCByZW1vdmVzIHRoZSBpbnN0YW5jZSBwcm9wZXJ0eSBhbmQgdGhlbiByZXdyaXRlcyBpdCB2aWEgRVM1IGFjY2Vzc29yXHJcbiAgICBsZXQgdmFsdWUgPSBpbnN0YW5jZVtwcm9wTmFtZV07XHJcbiAgICBkZWxldGUgaW5zdGFuY2VbcHJvcE5hbWVdO1xyXG4gICAgaW5zdGFuY2VbcHJvcE5hbWVdID0gdmFsdWU7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGJzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtYWtlUHJvcERlc2NyaXB0aW9uKHByb3RvOiBhbnksIHByb3BlcnR5OiBicmVlemUuRW50aXR5UHJvcGVydHkpIHtcclxuICBsZXQgcHJvcE5hbWUgPSBwcm9wZXJ0eS5uYW1lO1xyXG4gIGxldCBwZW5kaW5nU3RvcmVzID0gcHJvdG8uX3BlbmRpbmdCYWNraW5nU3RvcmVzO1xyXG4gIGlmICghcGVuZGluZ1N0b3Jlcykge1xyXG4gICAgcGVuZGluZ1N0b3JlcyA9IFtdO1xyXG4gICAgcHJvdG8uX3BlbmRpbmdCYWNraW5nU3RvcmVzID0gcGVuZGluZ1N0b3JlcztcclxuICB9XHJcbiAgbGV0IGRlc2NyID0ge1xyXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBicyA9IHRoaXMuX2JhY2tpbmdTdG9yZSB8fCBnZXRCYWNraW5nU3RvcmUodGhpcyk7XHJcbiAgICAgIHJldHVybiBic1twcm9wTmFtZV07XHJcbiAgICB9LFxyXG4gICAgc2V0OiBmdW5jdGlvbiAodmFsdWU6IGFueSkge1xyXG4gICAgICAvLyBJRTkgY2Fubm90IHRvdWNoIGluc3RhbmNlLl9iYWNraW5nU3RvcmUgaGVyZVxyXG4gICAgICBsZXQgYnMgPSB0aGlzLl9iYWNraW5nU3RvcmUgfHwgZ2V0UGVuZGluZ0JhY2tpbmdTdG9yZSh0aGlzKTtcclxuICAgICAgbGV0IGFjY2Vzc29yRm4gPSBnZXRBY2Nlc3NvckZuKGJzLCBwcm9wTmFtZSk7XHJcbiAgICAgIHRoaXMuXyRpbnRlcmNlcHRvcihwcm9wZXJ0eSwgdmFsdWUsIGFjY2Vzc29yRm4pO1xyXG4gICAgfSxcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBjb25maWd1cmFibGU6IHRydWVcclxuICB9O1xyXG5cclxuICAoZGVzY3Iuc2V0IGFzIGFueSkucmF3U2V0ID0gZnVuY3Rpb24gKHZhbHVlOiBhbnkpIHtcclxuICAgIGxldCBicyA9IHRoaXMuX2JhY2tpbmdTdG9yZSB8fCBnZXRQZW5kaW5nQmFja2luZ1N0b3JlKHRoaXMpO1xyXG4gICAgbGV0IGFjY2Vzc29yRm4gPSBnZXRBY2Nlc3NvckZuKGJzLCBwcm9wTmFtZSk7XHJcbiAgICBhY2Nlc3NvckZuKHZhbHVlKTtcclxuICB9O1xyXG4gIHJldHVybiBkZXNjcjtcclxuXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFjY2Vzc29yRm4oYnM6IHt9LCBwcm9wTmFtZTogc3RyaW5nKTogYW55IHtcclxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGJzW3Byb3BOYW1lXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJzW3Byb3BOYW1lXSA9IGFyZ3VtZW50c1swXTtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiB3cmFwUHJvcERlc2NyaXB0aW9uKHByb3RvOiBhbnksIHByb3BlcnR5OiBicmVlemUuRW50aXR5UHJvcGVydHkpOiBhbnkge1xyXG4gIGlmICghcHJvdG8uaGFzT3duUHJvcGVydHkocHJvcGVydHkubmFtZSkpIHtcclxuICAgIGxldCBuZXh0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xyXG4gICAgcmV0dXJuIHdyYXBQcm9wRGVzY3JpcHRpb24obmV4dFByb3RvLCBwcm9wZXJ0eSk7XHJcbiAgfVxyXG5cclxuICBsZXQgcHJvcERlc2NyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgcHJvcGVydHkubmFtZSk7XHJcbiAgaWYgKCFwcm9wRGVzY3IpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgLy8gaWYgbm90IGNvbmZpZ3VyYWJsZTsgd2UgY2FuJ3QgdG91Y2ggaXQgLSBzbyBsZWF2ZS5cclxuICBpZiAoIXByb3BEZXNjci5jb25maWd1cmFibGUpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgLy8gaWYgYSBkYXRhIGRlc2NyaXB0b3IgLSBkb24ndCBjaGFuZ2UgaXQgLSB0aGlzIGlzIGJhc2ljYWxseSBhIHN0YXRpYyBwcm9wZXJ0eSAtIGkuZS4gZGVmaW5lZCBvbiBldmVyeSBpbnN0YW5jZSBvZiB0aGUgdHlwZSB3aXRoIHRoZSBzYW1lIHZhbHVlLlxyXG4gIGlmIChwcm9wRGVzY3IudmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgLy8gaWYgYSByZWFkIG9ubHkgcHJvcGVydHkgZGVzY3JpcHRvciAtIG5vIG5lZWQgdG8gY2hhbmdlIGl0LlxyXG4gIGlmICghcHJvcERlc2NyLnNldCkgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgbGV0IGxvY2FsQWNjZXNzb3JGbiA9IGZ1bmN0aW9uIChlbnRpdHk6IGFueSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcclxuICAgICAgaWYgKCFwcm9wRGVzY3IpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BEZXNjci5nZXQhLmJpbmQoZW50aXR5KSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBzZXQgPSBwcm9wRGVzY3Iuc2V0O1xyXG4gICAgICAgIGxldCByYXdTZXQgPSAoc2V0IGFzIGFueSkucmF3U2V0IHx8IHNldDtcclxuICAgICAgICByYXdTZXQuYmluZChlbnRpdHkpKGFyZ3VtZW50c1swXSk7XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBsZXQgbmV3RGVzY3IgPSB7XHJcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgaWYgKCFwcm9wRGVzY3IpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIHJldHVybiBwcm9wRGVzY3IuZ2V0IS5iaW5kKHRoaXMpKCk7XHJcbiAgICB9LFxyXG4gICAgc2V0OiBmdW5jdGlvbiAodmFsdWU6IGFueSkge1xyXG4gICAgICB0aGlzLl8kaW50ZXJjZXB0b3IocHJvcGVydHksIHZhbHVlLCBsb2NhbEFjY2Vzc29yRm4odGhpcykpO1xyXG4gICAgfSxcclxuICAgIGVudW1lcmFibGU6IHByb3BEZXNjci5lbnVtZXJhYmxlLFxyXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgfTtcclxuICAobmV3RGVzY3Iuc2V0IGFzIGFueSkucmF3U2V0ID0gcHJvcERlc2NyLnNldDtcclxuICByZXR1cm4gbmV3RGVzY3I7XHJcbn1cclxuXHJcblxyXG5mdW5jdGlvbiBnZXRCYWNraW5nU3RvcmUoaW5zdGFuY2U6IGFueSkge1xyXG4gIGxldCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSk7XHJcbiAgcHJvY2Vzc1BlbmRpbmdTdG9yZXMocHJvdG8pO1xyXG4gIGxldCBicyA9IGluc3RhbmNlLl9iYWNraW5nU3RvcmU7XHJcbiAgaWYgKCFicykge1xyXG4gICAgYnMgPSB7fTtcclxuICAgIGluc3RhbmNlLl9iYWNraW5nU3RvcmUgPSBicztcclxuICB9XHJcbiAgcmV0dXJuIGJzO1xyXG59XHJcblxyXG4vLyB3b3JrYXJvdW5kIGZvciBJRTkgYnVnIHdoZXJlIGluc3RhbmNlIHByb3BlcnRpZXMgY2Fubm90IGJlIGNoYW5nZWQgd2hlbiBleGVjdXRpbmcgYSBwcm9wZXJ0eSAnc2V0JyBtZXRob2QuXHJcbmZ1bmN0aW9uIGdldFBlbmRpbmdCYWNraW5nU3RvcmUoaW5zdGFuY2U6IGFueSkge1xyXG4gIGxldCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSk7XHJcbiAgbGV0IHBlbmRpbmdTdG9yZXMgPSBwcm90by5fcGVuZGluZ0JhY2tpbmdTdG9yZXM7XHJcbiAgbGV0IHBlbmRpbmcgPSBjb3JlLmFycmF5Rmlyc3QocGVuZGluZ1N0b3JlcywgZnVuY3Rpb24gKHBlbmRpbmcpIHtcclxuICAgIHJldHVybiBwZW5kaW5nLmVudGl0eSA9PT0gaW5zdGFuY2U7XHJcbiAgfSk7XHJcbiAgaWYgKHBlbmRpbmcpIHJldHVybiAocGVuZGluZyBhcyBhbnkpLmJhY2tpbmdTdG9yZTtcclxuICBsZXQgYnMgPSB7fTtcclxuICBwZW5kaW5nU3RvcmVzLnB1c2goeyBlbnRpdHk6IGluc3RhbmNlLCBiYWNraW5nU3RvcmU6IGJzIH0pO1xyXG4gIHJldHVybiBicztcclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc1BlbmRpbmdTdG9yZXMocHJvdG86IGFueSkge1xyXG4gIGxldCBwZW5kaW5nU3RvcmVzID0gcHJvdG8uX3BlbmRpbmdCYWNraW5nU3RvcmVzO1xyXG4gIGlmIChwZW5kaW5nU3RvcmVzKSB7XHJcbiAgICBwZW5kaW5nU3RvcmVzLmZvckVhY2goZnVuY3Rpb24gKHBlbmRpbmc6IGFueSkge1xyXG4gICAgICBwZW5kaW5nLmVudGl0eS5fYmFja2luZ1N0b3JlID0gcGVuZGluZy5iYWNraW5nU3RvcmU7XHJcbiAgICB9KTtcclxuICAgIHBlbmRpbmdTdG9yZXMubGVuZ3RoID0gMDtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './adapter-model-library-backing-store';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9icmVlemUtY2xpZW50LWFkYXB0ZXItbW9kZWwtbGlicmFyeS1iYWNraW5nLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZSc7XG4iXX0=