breeze-client 2.2.1-cjs → 2.2.1

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/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
  2. package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
  3. package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
  4. package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
  5. package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
  6. package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
  7. package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
  8. package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
  9. package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
  10. package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
  11. package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
  12. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +135 -0
  13. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +49 -0
  14. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
  15. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +135 -0
  16. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +49 -0
  17. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
  18. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +139 -0
  19. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +49 -0
  20. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
  21. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +107 -0
  22. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
  23. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
  24. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
  25. package/esm2022/adapter-data-service-odata/adapter-core.mjs +49 -0
  26. package/{esm5/adapter-data-service-odata/adapter-data-service-odata.js → esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs} +138 -147
  27. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
  28. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +100 -0
  29. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
  30. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +269 -0
  31. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
  32. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +241 -0
  33. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
  34. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +49 -0
  35. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +37 -0
  36. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
  37. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +49 -0
  38. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +191 -0
  39. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
  40. package/esm2022/breeze-client.mjs +5 -0
  41. package/esm2022/index.mjs +2 -0
  42. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
  43. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
  44. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
  45. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +421 -0
  46. package/esm2022/src/abstract-data-service-adapter.mjs +325 -0
  47. package/esm2022/src/array.mjs +4 -0
  48. package/esm2022/src/assert-param.mjs +330 -0
  49. package/esm2022/src/breeze.mjs +85 -0
  50. package/esm2022/src/complex-array.mjs +117 -0
  51. package/esm2022/src/config.mjs +232 -0
  52. package/esm2022/src/core.mjs +712 -0
  53. package/esm2022/src/csdl-metadata-parser.mjs +385 -0
  54. package/esm2022/src/data-service.mjs +221 -0
  55. package/esm2022/src/data-type.mjs +510 -0
  56. package/esm2022/src/default-property-interceptor.mjs +460 -0
  57. package/{esm2015/src/entity-action.js → esm2022/src/entity-action.mjs} +25 -25
  58. package/esm2022/src/entity-aspect.mjs +897 -0
  59. package/esm2022/src/entity-group.mjs +192 -0
  60. package/esm2022/src/entity-key.mjs +125 -0
  61. package/esm2022/src/entity-manager.mjs +2163 -0
  62. package/esm2022/src/entity-metadata.mjs +2242 -0
  63. package/esm2022/src/entity-query.mjs +1024 -0
  64. package/esm2022/src/entity-state.mjs +107 -0
  65. package/esm2022/src/enum.mjs +143 -0
  66. package/esm2022/src/event.mjs +264 -0
  67. package/esm2022/src/interface-registry.mjs +39 -0
  68. package/esm2022/src/key-generator.mjs +110 -0
  69. package/esm2022/src/local-query-comparison-options.mjs +65 -0
  70. package/esm2022/src/mapping-context.mjs +411 -0
  71. package/esm2022/src/naming-convention.mjs +92 -0
  72. package/esm2022/src/observable-array.mjs +183 -0
  73. package/esm2022/src/predicate.mjs +1259 -0
  74. package/esm2022/src/primitive-array.mjs +85 -0
  75. package/esm2022/src/query-options.mjs +152 -0
  76. package/esm2022/src/relation-array.mjs +173 -0
  77. package/esm2022/src/save-options.mjs +41 -0
  78. package/esm2022/src/unattached-children-map.mjs +56 -0
  79. package/esm2022/src/validate.mjs +995 -0
  80. package/esm2022/src/validation-options.mjs +64 -0
  81. package/{fesm2015/breeze-client-adapter-ajax-angularjs.js → fesm2022/breeze-client-adapter-ajax-angularjs.mjs} +6 -1
  82. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  83. package/{fesm2015/breeze-client-adapter-ajax-fetch.js → fesm2022/breeze-client-adapter-ajax-fetch.mjs} +9 -4
  84. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  85. package/{fesm2015/breeze-client-adapter-ajax-httpclient.js → fesm2022/breeze-client-adapter-ajax-httpclient.mjs} +6 -4
  86. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  87. package/{fesm2015/breeze-client-adapter-ajax-jquery.js → fesm2022/breeze-client-adapter-ajax-jquery.mjs} +6 -2
  88. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  89. package/{fesm2015/breeze-client-adapter-ajax-post.js → fesm2022/breeze-client-adapter-ajax-post.mjs} +1 -1
  90. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +1 -0
  91. package/{fesm2015/breeze-client-adapter-data-service-odata.js → fesm2022/breeze-client-adapter-data-service-odata.mjs} +68 -69
  92. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  93. package/{fesm2015/breeze-client-adapter-data-service-webapi.js → fesm2022/breeze-client-adapter-data-service-webapi.mjs} +30 -30
  94. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  95. package/{fesm2015/breeze-client-adapter-model-library-backing-store.js → fesm2022/breeze-client-adapter-model-library-backing-store.mjs} +14 -13
  96. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  97. package/{fesm2015/breeze-client-adapter-model-library-ko.js → fesm2022/breeze-client-adapter-model-library-ko.mjs} +14 -13
  98. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  99. package/{fesm2015/breeze-client-adapter-uri-builder-json.js → fesm2022/breeze-client-adapter-uri-builder-json.mjs} +9 -8
  100. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  101. package/{fesm2015/breeze-client-adapter-uri-builder-odata.js → fesm2022/breeze-client-adapter-uri-builder-odata.mjs} +86 -86
  102. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  103. package/{fesm2015/breeze-client-mixin-get-entity-graph.js → fesm2022/breeze-client-mixin-get-entity-graph.mjs} +1 -1
  104. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  105. package/{fesm2015/breeze-client-mixin-save-queuing.js → fesm2022/breeze-client-mixin-save-queuing.mjs} +23 -2
  106. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +1 -0
  107. package/{fesm2015/breeze-client.js → fesm2022/breeze-client.mjs} +1933 -1538
  108. package/fesm2022/breeze-client.mjs.map +1 -0
  109. package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
  110. package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
  111. package/package.json +94 -12
  112. package/src/config.d.ts +1 -1
  113. package/src/core.d.ts +1 -1
  114. package/src/entity-aspect.d.ts +1 -1
  115. package/src/entity-metadata.d.ts +8 -6
  116. package/src/entity-query.d.ts +1 -1
  117. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  118. package/adapter-ajax-angularjs/package.json +0 -13
  119. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  120. package/adapter-ajax-fetch/package.json +0 -13
  121. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  122. package/adapter-ajax-httpclient/package.json +0 -13
  123. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  124. package/adapter-ajax-jquery/package.json +0 -13
  125. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  126. package/adapter-ajax-post/package.json +0 -13
  127. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  128. package/adapter-data-service-odata/package.json +0 -13
  129. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  130. package/adapter-data-service-webapi/package.json +0 -13
  131. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  132. package/adapter-model-library-backing-store/package.json +0 -13
  133. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  134. package/adapter-model-library-ko/package.json +0 -13
  135. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  136. package/adapter-uri-builder-json/package.json +0 -13
  137. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  138. package/adapter-uri-builder-odata/package.json +0 -13
  139. package/breeze-client.d.ts +0 -8
  140. package/breeze-client.metadata.json +0 -1
  141. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  142. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  143. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  144. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  145. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  146. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  147. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  148. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  149. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  150. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  151. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  152. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  153. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  154. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  155. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  156. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  157. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  158. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  159. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  160. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  161. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -747
  162. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  163. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  164. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  165. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -333
  166. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  167. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  168. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  169. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  170. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  171. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  172. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  173. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  174. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  175. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  176. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  177. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  178. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  179. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  180. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  181. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  182. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  183. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  184. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  185. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  186. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  187. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  188. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  189. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
  190. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  191. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  192. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  193. package/bundles/breeze-client.umd.js +0 -14234
  194. package/bundles/breeze-client.umd.js.map +0 -1
  195. package/bundles/breeze-client.umd.min.js +0 -16
  196. package/bundles/breeze-client.umd.min.js.map +0 -1
  197. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  198. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  199. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  200. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  201. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  202. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  203. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  204. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  205. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  206. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  207. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  208. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  209. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  210. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  211. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -463
  212. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  213. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -100
  214. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  215. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  216. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  217. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  218. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  219. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  220. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  221. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  222. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  223. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  224. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  225. package/esm2015/breeze-client.js +0 -9
  226. package/esm2015/index.js +0 -2
  227. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  228. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  229. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  230. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  231. package/esm2015/src/abstract-data-service-adapter.js +0 -327
  232. package/esm2015/src/array.js +0 -4
  233. package/esm2015/src/assert-param.js +0 -312
  234. package/esm2015/src/breeze.js +0 -85
  235. package/esm2015/src/complex-array.js +0 -119
  236. package/esm2015/src/config.js +0 -223
  237. package/esm2015/src/core.js +0 -714
  238. package/esm2015/src/csdl-metadata-parser.js +0 -385
  239. package/esm2015/src/data-service.js +0 -203
  240. package/esm2015/src/data-type.js +0 -506
  241. package/esm2015/src/default-property-interceptor.js +0 -460
  242. package/esm2015/src/entity-aspect.js +0 -804
  243. package/esm2015/src/entity-group.js +0 -187
  244. package/esm2015/src/entity-key.js +0 -116
  245. package/esm2015/src/entity-manager.js +0 -2094
  246. package/esm2015/src/entity-metadata.js +0 -2109
  247. package/esm2015/src/entity-query.js +0 -1015
  248. package/esm2015/src/entity-state.js +0 -107
  249. package/esm2015/src/enum.js +0 -141
  250. package/esm2015/src/event.js +0 -256
  251. package/esm2015/src/interface-registry.js +0 -41
  252. package/esm2015/src/key-generator.js +0 -108
  253. package/esm2015/src/local-query-comparison-options.js +0 -65
  254. package/esm2015/src/mapping-context.js +0 -411
  255. package/esm2015/src/naming-convention.js +0 -88
  256. package/esm2015/src/observable-array.js +0 -185
  257. package/esm2015/src/predicate.js +0 -1242
  258. package/esm2015/src/primitive-array.js +0 -87
  259. package/esm2015/src/query-options.js +0 -152
  260. package/esm2015/src/relation-array.js +0 -175
  261. package/esm2015/src/save-options.js +0 -41
  262. package/esm2015/src/unattached-children-map.js +0 -58
  263. package/esm2015/src/validate.js +0 -991
  264. package/esm2015/src/validation-options.js +0 -64
  265. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  266. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  267. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  268. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  269. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  270. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  271. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  272. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  273. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  274. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  275. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  276. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  277. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  278. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  279. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  280. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -105
  281. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  282. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  283. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  284. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  285. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  286. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  287. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  288. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  289. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  290. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  291. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  292. package/esm5/breeze-client.js +0 -9
  293. package/esm5/index.js +0 -2
  294. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  295. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  296. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  297. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
  298. package/esm5/src/abstract-data-service-adapter.js +0 -333
  299. package/esm5/src/array.js +0 -4
  300. package/esm5/src/assert-param.js +0 -317
  301. package/esm5/src/breeze.js +0 -85
  302. package/esm5/src/complex-array.js +0 -119
  303. package/esm5/src/config.js +0 -228
  304. package/esm5/src/core.js +0 -722
  305. package/esm5/src/csdl-metadata-parser.js +0 -385
  306. package/esm5/src/data-service.js +0 -207
  307. package/esm5/src/data-type.js +0 -513
  308. package/esm5/src/default-property-interceptor.js +0 -460
  309. package/esm5/src/entity-action.js +0 -52
  310. package/esm5/src/entity-aspect.js +0 -810
  311. package/esm5/src/entity-group.js +0 -189
  312. package/esm5/src/entity-key.js +0 -118
  313. package/esm5/src/entity-manager.js +0 -2112
  314. package/esm5/src/entity-metadata.js +0 -2144
  315. package/esm5/src/entity-query.js +0 -1042
  316. package/esm5/src/entity-state.js +0 -114
  317. package/esm5/src/enum.js +0 -144
  318. package/esm5/src/event.js +0 -259
  319. package/esm5/src/interface-registry.js +0 -43
  320. package/esm5/src/key-generator.js +0 -111
  321. package/esm5/src/local-query-comparison-options.js +0 -67
  322. package/esm5/src/mapping-context.js +0 -413
  323. package/esm5/src/naming-convention.js +0 -90
  324. package/esm5/src/observable-array.js +0 -201
  325. package/esm5/src/predicate.js +0 -1307
  326. package/esm5/src/primitive-array.js +0 -87
  327. package/esm5/src/query-options.js +0 -167
  328. package/esm5/src/relation-array.js +0 -175
  329. package/esm5/src/save-options.js +0 -43
  330. package/esm5/src/unattached-children-map.js +0 -60
  331. package/esm5/src/validate.js +0 -996
  332. package/esm5/src/validation-options.js +0 -66
  333. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  334. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  335. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  336. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  337. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  338. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  339. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  340. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  341. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  342. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  343. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  344. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  345. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  346. package/fesm2015/breeze-client.js.map +0 -1
  347. package/fesm5/breeze-client-adapter-ajax-angularjs.js +0 -186
  348. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  349. package/fesm5/breeze-client-adapter-ajax-fetch.js +0 -186
  350. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  351. package/fesm5/breeze-client-adapter-ajax-httpclient.js +0 -193
  352. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  353. package/fesm5/breeze-client-adapter-ajax-jquery.js +0 -111
  354. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  355. package/fesm5/breeze-client-adapter-ajax-post.js +0 -86
  356. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  357. package/fesm5/breeze-client-adapter-data-service-odata.js +0 -523
  358. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  359. package/fesm5/breeze-client-adapter-data-service-webapi.js +0 -111
  360. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  361. package/fesm5/breeze-client-adapter-model-library-backing-store.js +0 -276
  362. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  363. package/fesm5/breeze-client-adapter-model-library-ko.js +0 -248
  364. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  365. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  366. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  367. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  368. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  369. package/fesm5/breeze-client-mixin-get-entity-graph.js +0 -254
  370. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  371. package/fesm5/breeze-client-mixin-save-queuing.js +0 -356
  372. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  373. package/fesm5/breeze-client.js +0 -13956
  374. package/fesm5/breeze-client.js.map +0 -1
  375. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  376. package/mixin-get-entity-graph/package.json +0 -13
  377. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  378. package/mixin-save-queuing/package.json +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-model-library-ko.umd.js","sources":["ng://breeze-client/adapter-model-library-ko/adapter-model-library-ko.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nlet canIsolateES5Props = core.isES5Supported;\r\nlet ko: any;\r\n\r\nexport class ModelLibraryKnockoutAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n constructor() {\r\n this.name = \"ko\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"ko\", true) as ModelLibraryKnockoutAdapter;\r\n }\r\n\r\n initialize() {\r\n ko = core.requireLib(\"ko;knockout\", \"The Knockout library\");\r\n ko.extenders.intercept = function (target: any, interceptorOptions: any) {\r\n let instance = interceptorOptions.instance;\r\n let property = interceptorOptions.property;\r\n\r\n // create a computed observable to intercept writes to our observable\r\n let result: any;\r\n if (target.splice) {\r\n result = ko.computed({\r\n read: target //always return the original observables value\r\n });\r\n } else {\r\n result = ko.computed({\r\n read: target, //always return the original observables value\r\n write: function (newValue: any) {\r\n instance._$interceptor(property, newValue, target);\r\n return instance;\r\n }\r\n });\r\n }\r\n //return the new computed observable\r\n return result;\r\n };\r\n\r\n }\r\n\r\n getTrackablePropertyNames(entity: any) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityType\") continue;\r\n if (p === \"_$typeName\") continue;\r\n\r\n let propDescr = getES5PropDescriptor(entity, p);\r\n if (propDescr && propDescr.get) {\r\n names.push(p);\r\n } else {\r\n let val = entity[p];\r\n if (ko.isObservable(val)) {\r\n names.push(p);\r\n } else if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n initializeEntityPrototype(proto: any) {\r\n\r\n proto.getProperty = function (propertyName: string) {\r\n return this[propertyName]();\r\n };\r\n\r\n proto.setProperty = function (propertyName: string, value: any) {\r\n this[propertyName](value);\r\n // allow set property chaining.\r\n return this;\r\n };\r\n\r\n if (canIsolateES5Props) {\r\n isolateES5Props(proto);\r\n }\r\n\r\n }\r\n\r\n startTracking(entity: any, proto: any) {\r\n // create ko's for each property and assign defaultValues\r\n\r\n let stype = (entity.entityType || entity.complexType) as breeze.StructuralType;\r\n let es5Descriptors = stype._extra.es5Descriptors || {};\r\n\r\n // sort unmapped properties to the end\r\n stype.getProperties().sort(function (p1, p2) {\r\n let v1 = p1.isUnmapped ? 1 : 0;\r\n let v2 = p2.isUnmapped ? 1 : 0;\r\n return v1 - v2;\r\n }).forEach(function (prop) {\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n let propDescr = es5Descriptors[propName];\r\n let koObj: any;\r\n\r\n // check if property is an ES5 property\r\n if (propDescr) {\r\n let getFn = propDescr.get.bind(entity);\r\n if (propDescr.set) {\r\n let setFn = propDescr.set.bind(entity);\r\n let rawAccessorFn = function (newValue: any) {\r\n if (arguments.length === 0) {\r\n getFn();\r\n return;\r\n } else {\r\n setFn(newValue);\r\n }\r\n };\r\n koObj = ko.computed({\r\n read: function () {\r\n (stype as any)._koDummy();\r\n return getFn();\r\n },\r\n write: function (newValue: any) {\r\n entity._$interceptor(prop, newValue, rawAccessorFn);\r\n (stype as any)._koDummy.valueHasMutated();\r\n return entity;\r\n }\r\n });\r\n } else {\r\n koObj = ko.computed({\r\n read: getFn,\r\n write: function () {\r\n }\r\n\r\n });\r\n }\r\n // check if property is already exposed as a ko object\r\n } else if (ko.isObservable(val)) {\r\n if (prop.isNavigationProperty) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n koObj = val;\r\n // otherwise\r\n } else {\r\n val = initializeValueForProp(entity, prop, val);\r\n koObj = prop.isScalar ? ko.observable(val) : ko.observableArray(val);\r\n }\r\n\r\n\r\n if (prop.isScalar) {\r\n if (propDescr) {\r\n Object.defineProperty(entity, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: koObj\r\n });\r\n } else {\r\n let koExt = koObj.extend({ intercept: { instance: entity, property: prop } });\r\n entity[propName] = koExt;\r\n }\r\n } else {\r\n val._koObj = koObj;\r\n // code to suppress extra breeze notification when\r\n // ko's array methods are called.\r\n koObj.subscribe(onBeforeChange, null, \"beforeChange\");\r\n // code to insure that any direct breeze changes notify ko\r\n val.arrayChanged.subscribe(onArrayChanged);\r\n\r\n koObj.equalityComparer = function () {\r\n throw new Error(\"Collection navigation properties may NOT be set.\");\r\n };\r\n entity[propName] = koObj;\r\n }\r\n\r\n });\r\n\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n\r\n\r\n// private fns\r\n\r\nfunction getES5PropDescriptor(proto: any, propName: string): any {\r\n if (!canIsolateES5Props) {\r\n return null;\r\n }\r\n if (proto.hasOwnProperty(propName)) {\r\n return Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(proto, propName);\r\n } else {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return nextProto ? getES5PropDescriptor(nextProto, propName) : null;\r\n }\r\n}\r\n\r\nfunction initializeValueForProp(entity: any, prop: breeze.EntityProperty, val: any) {\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\r\n // TODO: right now we create Empty complexObjects here - these should actually come from the entity\r\n if (prop.isScalar) {\r\n val = (prop.dataType as breeze.ComplexType)._createInstanceCore(entity, prop);\r\n } else {\r\n val = breeze.makeComplexArray([], entity, prop);\r\n }\r\n } else if (!prop.isScalar) {\r\n val = breeze.makePrimitiveArray([], entity, prop);\r\n } else if (val === undefined) {\r\n val = prop.defaultValue;\r\n }\r\n\r\n } else if (prop instanceof breeze.NavigationProperty) {\r\n if (val !== undefined) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + prop.name);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullEntity later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + (prop as any).name);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nfunction onBeforeChange(args: any) {\r\n args._koObj._suppressBreeze = true;\r\n}\r\n\r\nfunction onArrayChanged(args: any) {\r\n let koObj = args.array._koObj;\r\n if (koObj._suppressBreeze) {\r\n koObj._suppressBreeze = false;\r\n } else {\r\n koObj.valueHasMutated();\r\n }\r\n}\r\n\r\nfunction isolateES5Props(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let es5Descriptors = {};\r\n stype.getProperties().forEach(function (prop) {\r\n let propDescr = getES5PropDescriptor(proto, prop.name);\r\n if (propDescr) {\r\n es5Descriptors[prop.name] = propDescr;\r\n }\r\n });\r\n if (!core.isEmpty(es5Descriptors)) {\r\n let extra = stype._extra;\r\n extra.es5Descriptors = es5Descriptors;\r\n (stype as any)._koDummy = ko.observable(null);\r\n }\r\n}\r\n\r\n"],"names":["breeze.core","config","breeze.config","breeze.DataProperty","breeze.makeComplexArray","breeze.makePrimitiveArray","breeze.NavigationProperty","breeze.makeRelationArray"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-model-library-ko",["exports","breeze-client"],r):r(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-model-library-ko"]={}),e["breeze-client"])}(this,(function(e,r){"use strict";var t,n=r.core,i=n.isES5Supported,o=function(){function e(){this.name="ko"}return e.register=function(t){return(t=t||r.config).registerAdapter("modelLibrary",e),t.initializeAdapterInstance("modelLibrary","ko",!0)},e.prototype.initialize=function(){(t=n.requireLib("ko;knockout","The Knockout library")).extenders.intercept=function(e,r){var n=r.instance,i=r.property;return e.splice?t.computed({read:e}):t.computed({read:e,write:function(r){return n._$interceptor(i,r,e),n}})}},e.prototype.getTrackablePropertyNames=function(e){var r=[];for(var i in e)if("entityType"!==i&&"_$typeName"!==i){var o=a(e,i);if(o&&o.get)r.push(i);else{var s=e[i];t.isObservable(s)?r.push(i):n.isFunction(s)||r.push(i)}}return r},e.prototype.initializeEntityPrototype=function(e){e.getProperty=function(e){return this[e]()},e.setProperty=function(e,r){return this[e](r),this},i&&function(e){var r=e.entityType||e.complexType,i={};if(r.getProperties().forEach((function(r){var t=a(e,r.name);t&&(i[r.name]=t)})),!n.isEmpty(i)){r._extra.es5Descriptors=i,r._koDummy=t.observable(null)}}(e)},e.prototype.startTracking=function(e,n){var i=e.entityType||e.complexType,o=i._extra.es5Descriptors||{};i.getProperties().sort((function(e,r){return(e.isUnmapped?1:0)-(r.isUnmapped?1:0)})).forEach((function(n){var a,c=n.name,u=e[c],l=o[c];if(l){var f=l.get.bind(e);if(l.set){var y=l.set.bind(e),b=function(e){0!==arguments.length?y(e):f()};a=t.computed({read:function(){return i._koDummy(),f()},write:function(r){return e._$interceptor(n,r,b),i._koDummy.valueHasMutated(),e}})}else a=t.computed({read:f,write:function(){}})}else if(t.isObservable(u)){if(n.isNavigationProperty)throw new Error("Cannot assign a navigation property in an entity ctor.: "+c);a=u}else u=function(e,t,n){if(t instanceof r.DataProperty)t.isComplexProperty?n=t.isScalar?t.dataType._createInstanceCore(e,t):r.makeComplexArray([],e,t):t.isScalar?void 0===n&&(n=t.defaultValue):n=r.makePrimitiveArray([],e,t);else{if(!(t instanceof r.NavigationProperty))throw new Error("unknown property: "+t.name);if(void 0!==n)throw new Error("Cannot assign a navigation property in an entity ctor.: "+t.name);n=t.isScalar?null:r.makeRelationArray([],e,t)}return n}(e,n,u),a=n.isScalar?t.observable(u):t.observableArray(u);if(n.isScalar)if(l)Object.defineProperty(e,c,{enumerable:!0,configurable:!0,writable:!0,value:a});else{var d=a.extend({intercept:{instance:e,property:n}});e[c]=d}else u._koObj=a,a.subscribe(s,null,"beforeChange"),u.arrayChanged.subscribe(p),a.equalityComparer=function(){throw new Error("Collection navigation properties may NOT be set.")},e[c]=a}))},e}();function a(e,r){if(!i)return null;if(e.hasOwnProperty(r))return Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(e,r);var t=Object.getPrototypeOf(e);return t?a(t,r):null}function s(e){e._koObj._suppressBreeze=!0}function p(e){var r=e.array._koObj;r._suppressBreeze?r._suppressBreeze=!1:r.valueHasMutated()}r.config.registerAdapter("modelLibrary",o),e.ModelLibraryKnockoutAdapter=o,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=breeze-client-adapter-model-library-ko.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ng://breeze-client/adapter-model-library-ko/adapter-model-library-ko.ts"],"names":["ko","core","breeze.core","canIsolateES5Props","isES5Supported","ModelLibraryKnockoutAdapter","this","name","register","config","breeze.config","registerAdapter","initializeAdapterInstance","prototype","initialize","requireLib","extenders","intercept","target","interceptorOptions","instance","property","splice","computed","read","write","newValue","_$interceptor","getTrackablePropertyNames","entity","names","p","propDescr","getES5PropDescriptor","get","push","val","isObservable","isFunction","initializeEntityPrototype","proto","getProperty","propertyName","setProperty","value","stype","entityType","complexType","es5Descriptors","getProperties","forEach","prop","isEmpty","_extra","_koDummy","observable","isolateES5Props","startTracking","sort","p1","p2","isUnmapped","koObj","propName","getFn_1","bind","set","setFn_1","rawAccessorFn_1","arguments","length","valueHasMutated","isNavigationProperty","Error","breeze.DataProperty","isComplexProperty","isScalar","dataType","_createInstanceCore","breeze.makeComplexArray","undefined","defaultValue","breeze.makePrimitiveArray","breeze.NavigationProperty","breeze.makeRelationArray","initializeValueForProp","observableArray","Object","defineProperty","enumerable","configurable","writable","koExt","extend","_koObj","subscribe","onBeforeChange","arrayChanged","onArrayChanged","equalityComparer","hasOwnProperty","getOwnPropertyDescriptor","nextProto","getPrototypeOf","args","_suppressBreeze","array"],"mappings":"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","sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nlet canIsolateES5Props = core.isES5Supported;\r\nlet ko: any;\r\n\r\nexport class ModelLibraryKnockoutAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n constructor() {\r\n this.name = \"ko\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"ko\", true) as ModelLibraryKnockoutAdapter;\r\n }\r\n\r\n initialize() {\r\n ko = core.requireLib(\"ko;knockout\", \"The Knockout library\");\r\n ko.extenders.intercept = function (target: any, interceptorOptions: any) {\r\n let instance = interceptorOptions.instance;\r\n let property = interceptorOptions.property;\r\n\r\n // create a computed observable to intercept writes to our observable\r\n let result: any;\r\n if (target.splice) {\r\n result = ko.computed({\r\n read: target //always return the original observables value\r\n });\r\n } else {\r\n result = ko.computed({\r\n read: target, //always return the original observables value\r\n write: function (newValue: any) {\r\n instance._$interceptor(property, newValue, target);\r\n return instance;\r\n }\r\n });\r\n }\r\n //return the new computed observable\r\n return result;\r\n };\r\n\r\n }\r\n\r\n getTrackablePropertyNames(entity: any) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityType\") continue;\r\n if (p === \"_$typeName\") continue;\r\n\r\n let propDescr = getES5PropDescriptor(entity, p);\r\n if (propDescr && propDescr.get) {\r\n names.push(p);\r\n } else {\r\n let val = entity[p];\r\n if (ko.isObservable(val)) {\r\n names.push(p);\r\n } else if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n initializeEntityPrototype(proto: any) {\r\n\r\n proto.getProperty = function (propertyName: string) {\r\n return this[propertyName]();\r\n };\r\n\r\n proto.setProperty = function (propertyName: string, value: any) {\r\n this[propertyName](value);\r\n // allow set property chaining.\r\n return this;\r\n };\r\n\r\n if (canIsolateES5Props) {\r\n isolateES5Props(proto);\r\n }\r\n\r\n }\r\n\r\n startTracking(entity: any, proto: any) {\r\n // create ko's for each property and assign defaultValues\r\n\r\n let stype = (entity.entityType || entity.complexType) as breeze.StructuralType;\r\n let es5Descriptors = stype._extra.es5Descriptors || {};\r\n\r\n // sort unmapped properties to the end\r\n stype.getProperties().sort(function (p1, p2) {\r\n let v1 = p1.isUnmapped ? 1 : 0;\r\n let v2 = p2.isUnmapped ? 1 : 0;\r\n return v1 - v2;\r\n }).forEach(function (prop) {\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n let propDescr = es5Descriptors[propName];\r\n let koObj: any;\r\n\r\n // check if property is an ES5 property\r\n if (propDescr) {\r\n let getFn = propDescr.get.bind(entity);\r\n if (propDescr.set) {\r\n let setFn = propDescr.set.bind(entity);\r\n let rawAccessorFn = function (newValue: any) {\r\n if (arguments.length === 0) {\r\n getFn();\r\n return;\r\n } else {\r\n setFn(newValue);\r\n }\r\n };\r\n koObj = ko.computed({\r\n read: function () {\r\n (stype as any)._koDummy();\r\n return getFn();\r\n },\r\n write: function (newValue: any) {\r\n entity._$interceptor(prop, newValue, rawAccessorFn);\r\n (stype as any)._koDummy.valueHasMutated();\r\n return entity;\r\n }\r\n });\r\n } else {\r\n koObj = ko.computed({\r\n read: getFn,\r\n write: function () {\r\n }\r\n\r\n });\r\n }\r\n // check if property is already exposed as a ko object\r\n } else if (ko.isObservable(val)) {\r\n if (prop.isNavigationProperty) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n koObj = val;\r\n // otherwise\r\n } else {\r\n val = initializeValueForProp(entity, prop, val);\r\n koObj = prop.isScalar ? ko.observable(val) : ko.observableArray(val);\r\n }\r\n\r\n\r\n if (prop.isScalar) {\r\n if (propDescr) {\r\n Object.defineProperty(entity, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: koObj\r\n });\r\n } else {\r\n let koExt = koObj.extend({ intercept: { instance: entity, property: prop } });\r\n entity[propName] = koExt;\r\n }\r\n } else {\r\n val._koObj = koObj;\r\n // code to suppress extra breeze notification when\r\n // ko's array methods are called.\r\n koObj.subscribe(onBeforeChange, null, \"beforeChange\");\r\n // code to insure that any direct breeze changes notify ko\r\n val.arrayChanged.subscribe(onArrayChanged);\r\n\r\n koObj.equalityComparer = function () {\r\n throw new Error(\"Collection navigation properties may NOT be set.\");\r\n };\r\n entity[propName] = koObj;\r\n }\r\n\r\n });\r\n\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n\r\n\r\n// private fns\r\n\r\nfunction getES5PropDescriptor(proto: any, propName: string): any {\r\n if (!canIsolateES5Props) {\r\n return null;\r\n }\r\n if (proto.hasOwnProperty(propName)) {\r\n return Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(proto, propName);\r\n } else {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return nextProto ? getES5PropDescriptor(nextProto, propName) : null;\r\n }\r\n}\r\n\r\nfunction initializeValueForProp(entity: any, prop: breeze.EntityProperty, val: any) {\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\r\n // TODO: right now we create Empty complexObjects here - these should actually come from the entity\r\n if (prop.isScalar) {\r\n val = (prop.dataType as breeze.ComplexType)._createInstanceCore(entity, prop);\r\n } else {\r\n val = breeze.makeComplexArray([], entity, prop);\r\n }\r\n } else if (!prop.isScalar) {\r\n val = breeze.makePrimitiveArray([], entity, prop);\r\n } else if (val === undefined) {\r\n val = prop.defaultValue;\r\n }\r\n\r\n } else if (prop instanceof breeze.NavigationProperty) {\r\n if (val !== undefined) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + prop.name);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullEntity later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + (prop as any).name);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nfunction onBeforeChange(args: any) {\r\n args._koObj._suppressBreeze = true;\r\n}\r\n\r\nfunction onArrayChanged(args: any) {\r\n let koObj = args.array._koObj;\r\n if (koObj._suppressBreeze) {\r\n koObj._suppressBreeze = false;\r\n } else {\r\n koObj.valueHasMutated();\r\n }\r\n}\r\n\r\nfunction isolateES5Props(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let es5Descriptors = {};\r\n stype.getProperties().forEach(function (prop) {\r\n let propDescr = getES5PropDescriptor(proto, prop.name);\r\n if (propDescr) {\r\n es5Descriptors[prop.name] = propDescr;\r\n }\r\n });\r\n if (!core.isEmpty(es5Descriptors)) {\r\n let extra = stype._extra;\r\n extra.es5Descriptors = es5Descriptors;\r\n (stype as any)._koDummy = ko.observable(null);\r\n }\r\n}\r\n\r\n"]}
@@ -1,96 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('breeze-client')) :
3
- typeof define === 'function' && define.amd ? define('breeze-client/adapter-uri-builder-json', ['exports', 'breeze-client'], factory) :
4
- (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-uri-builder-json'] = {}), global['breeze-client']));
5
- }(this, (function (exports, breezeClient) { 'use strict';
6
-
7
- /** Appends parameter to url, with appropriate delimiter */
8
- function appendQueryStringParameter(url, parameter) {
9
- if (!parameter)
10
- return url;
11
- var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
12
- return url + separator + parameter;
13
- }
14
- /** Encodes the object into query string parameters */
15
- function encodeParams(obj) {
16
- var query = '';
17
- var subValue, innerObj, fullSubName;
18
- for (var name_1 in obj) {
19
- if (!obj.hasOwnProperty(name_1)) {
20
- continue;
21
- }
22
- var value = obj[name_1];
23
- if (value instanceof Array) {
24
- for (var i = 0; i < value.length; ++i) {
25
- subValue = value[i];
26
- fullSubName = name_1 + '[' + i + ']';
27
- innerObj = {};
28
- innerObj[fullSubName] = subValue;
29
- query += encodeParams(innerObj) + '&';
30
- }
31
- }
32
- else if (value && value.toISOString) { // a feature of Date-like things
33
- query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
34
- }
35
- else if (value instanceof Object) {
36
- for (var subName in value) {
37
- if (obj.hasOwnProperty(name_1)) {
38
- subValue = value[subName];
39
- fullSubName = name_1 + '[' + subName + ']';
40
- innerObj = {};
41
- innerObj[fullSubName] = subValue;
42
- query += encodeParams(innerObj) + '&';
43
- }
44
- }
45
- }
46
- else if (value === null) {
47
- query += encodeURIComponent(name_1) + '=&';
48
- }
49
- else if (value !== undefined) {
50
- query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
51
- }
52
- }
53
- return query.length ? query.substr(0, query.length - 1) : query;
54
- }
55
-
56
- var UriBuilderJsonAdapter = /** @class */ (function () {
57
- function UriBuilderJsonAdapter() {
58
- this.name = "json";
59
- }
60
- UriBuilderJsonAdapter.register = function (config$1) {
61
- config$1 = config$1 || breezeClient.config;
62
- config$1.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
63
- return config$1.initializeAdapterInstance("uriBuilder", "json", true);
64
- };
65
- UriBuilderJsonAdapter.prototype.initialize = function () { };
66
- UriBuilderJsonAdapter.prototype.buildUri = function (entityQuery, metadataStore) {
67
- // force entityType validation;
68
- var entityType = entityQuery._getFromEntityType(metadataStore, false);
69
- if (!entityType)
70
- entityType = new breezeClient.EntityType(metadataStore);
71
- var json = entityQuery.toJSONExt({ entityType: entityType, toNameOnServer: true });
72
- json.from = undefined;
73
- json.queryOptions = undefined;
74
- if (json.parameters && json.parameters.$data) {
75
- // remove parameters if doing ajax post
76
- json.parameters = undefined;
77
- }
78
- var jsonString = JSON.stringify(json);
79
- if (jsonString.length > 2) {
80
- var urlBody = encodeURIComponent(jsonString);
81
- return appendQueryStringParameter(entityQuery.resourceName, urlBody);
82
- }
83
- else {
84
- return entityQuery.resourceName;
85
- }
86
- };
87
- return UriBuilderJsonAdapter;
88
- }());
89
- breezeClient.config.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
90
-
91
- exports.UriBuilderJsonAdapter = UriBuilderJsonAdapter;
92
-
93
- Object.defineProperty(exports, '__esModule', { value: true });
94
-
95
- })));
96
- //# sourceMappingURL=breeze-client-adapter-uri-builder-json.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-uri-builder-json.umd.js","sources":["ng://breeze-client/adapter-uri-builder-json/adapter-core.ts","ng://breeze-client/adapter-uri-builder-json/adapter-uri-builder-json.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderJsonAdapter implements breeze.UriBuilderAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"json\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"json\", true) as UriBuilderJsonAdapter;\r\n }\r\n\r\n initialize() {}\r\n\r\n buildUri(entityQuery: breeze.EntityQuery, metadataStore: breeze.MetadataStore) {\r\n // force entityType validation;\r\n let entityType = entityQuery._getFromEntityType(metadataStore, false);\r\n if (!entityType) entityType = new breeze.EntityType(metadataStore);\r\n let json = entityQuery.toJSONExt( { entityType: entityType, toNameOnServer: true}) as any;\r\n json.from = undefined;\r\n json.queryOptions = undefined;\r\n if (json.parameters && json.parameters.$data) {\r\n // remove parameters if doing ajax post\r\n json.parameters = undefined;\r\n }\r\n\r\n let jsonString = JSON.stringify(json);\r\n if (jsonString.length > 2) {\r\n let urlBody = encodeURIComponent(jsonString);\r\n return appendQueryStringParameter(entityQuery.resourceName, urlBody);\r\n } else {\r\n return entityQuery.resourceName;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n\r\n\r\n\r\n"],"names":["config","breeze.config","breeze.EntityType"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-uri-builder-json",["exports","breeze-client"],r):r(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-uri-builder-json"]={}),e["breeze-client"])}(this,(function(e,r){"use strict";var t=function(){function e(){this.name="json"}return e.register=function(t){return(t=t||r.config).registerAdapter("uriBuilder",e),t.initializeAdapterInstance("uriBuilder","json",!0)},e.prototype.initialize=function(){},e.prototype.buildUri=function(e,t){var i=e._getFromEntityType(t,!1);i||(i=new r.EntityType(t));var n=e.toJSONExt({entityType:i,toNameOnServer:!0});n.from=void 0,n.queryOptions=void 0,n.parameters&&n.parameters.$data&&(n.parameters=void 0);var o=JSON.stringify(n);if(o.length>2){var u=encodeURIComponent(o);return function(e,r){if(!r)return e;var t=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+t+r}(e.resourceName,u)}return e.resourceName},e}();r.config.registerAdapter("uriBuilder",t),e.UriBuilderJsonAdapter=t,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=breeze-client-adapter-uri-builder-json.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ng://breeze-client/adapter-uri-builder-json/adapter-uri-builder-json.ts","ng://breeze-client/adapter-uri-builder-json/adapter-core.ts"],"names":["UriBuilderJsonAdapter","this","name","register","config","breeze.config","registerAdapter","initializeAdapterInstance","prototype","initialize","buildUri","entityQuery","metadataStore","entityType","_getFromEntityType","breeze.EntityType","json","toJSONExt","toNameOnServer","from","undefined","queryOptions","parameters","$data","jsonString","JSON","stringify","length","urlBody","encodeURIComponent","url","parameter","separator","endsWith","includes","appendQueryStringParameter","resourceName"],"mappings":"8YAME,SAAAA,IACEC,KAAKC,KAAO,OAiChB,OA9BSF,EAAAG,SAAP,SAAgBC,GAGd,OAFAA,EAASA,GAAUC,EAAAA,QACZC,gBAAgB,aAAcN,GAC9BI,EAAOG,0BAA0B,aAAc,QAAQ,IAGhEP,EAAAQ,UAAAC,WAAA,aAEAT,EAAAQ,UAAAE,SAAA,SAASC,EAAiCC,GAExC,IAAIC,EAAaF,EAAYG,mBAAmBF,GAAe,GAC1DC,IAAYA,EAAa,IAAIE,EAAAA,WAAkBH,IACpD,IAAII,EAAOL,EAAYM,UAAW,CAAEJ,WAAYA,EAAYK,gBAAgB,IAC5EF,EAAKG,UAAOC,EACZJ,EAAKK,kBAAeD,EAChBJ,EAAKM,YAAcN,EAAKM,WAAWC,QAErCP,EAAKM,gBAAaF,GAGpB,IAAII,EAAaC,KAAKC,UAAUV,GAChC,GAAIQ,EAAWG,OAAS,EAAG,CACzB,IAAIC,EAAUC,mBAAmBL,GACjC,gBChCqCM,EAAaC,GACtD,IAAKA,EAAW,OAAOD,EAEvB,IAAIE,EAAYF,EAAIG,SAAS,KAAO,GAAKH,EAAII,SAAS,KAAO,IAAM,IAEnE,OAAOJ,EAAME,EAAYD,ED2BdI,CAA2BxB,EAAYyB,aAAcR,GAE5D,OAAOjB,EAAYyB,cAKzBpC,KAEAK,EAAAA,OAAcC,gBAAgB,aAAcN","sourcesContent":["import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderJsonAdapter implements breeze.UriBuilderAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"json\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"json\", true) as UriBuilderJsonAdapter;\r\n }\r\n\r\n initialize() {}\r\n\r\n buildUri(entityQuery: breeze.EntityQuery, metadataStore: breeze.MetadataStore) {\r\n // force entityType validation;\r\n let entityType = entityQuery._getFromEntityType(metadataStore, false);\r\n if (!entityType) entityType = new breeze.EntityType(metadataStore);\r\n let json = entityQuery.toJSONExt( { entityType: entityType, toNameOnServer: true}) as any;\r\n json.from = undefined;\r\n json.queryOptions = undefined;\r\n if (json.parameters && json.parameters.$data) {\r\n // remove parameters if doing ajax post\r\n json.parameters = undefined;\r\n }\r\n\r\n let jsonString = JSON.stringify(json);\r\n if (jsonString.length > 2) {\r\n let urlBody = encodeURIComponent(jsonString);\r\n return appendQueryStringParameter(entityQuery.resourceName, urlBody);\r\n } else {\r\n return entityQuery.resourceName;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n\r\n\r\n\r\n","/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n"]}
@@ -1,262 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('breeze-client')) :
3
- typeof define === 'function' && define.amd ? define('breeze-client/adapter-uri-builder-odata', ['exports', 'breeze-client'], factory) :
4
- (global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-uri-builder-odata'] = {}), global['breeze-client']));
5
- }(this, (function (exports, breezeClient) { 'use strict';
6
-
7
- /** Appends parameter to url, with appropriate delimiter */
8
- function appendQueryStringParameter(url, parameter) {
9
- if (!parameter)
10
- return url;
11
- var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
12
- return url + separator + parameter;
13
- }
14
- /** Encodes the object into query string parameters */
15
- function encodeParams(obj) {
16
- var query = '';
17
- var subValue, innerObj, fullSubName;
18
- for (var name_1 in obj) {
19
- if (!obj.hasOwnProperty(name_1)) {
20
- continue;
21
- }
22
- var value = obj[name_1];
23
- if (value instanceof Array) {
24
- for (var i = 0; i < value.length; ++i) {
25
- subValue = value[i];
26
- fullSubName = name_1 + '[' + i + ']';
27
- innerObj = {};
28
- innerObj[fullSubName] = subValue;
29
- query += encodeParams(innerObj) + '&';
30
- }
31
- }
32
- else if (value && value.toISOString) { // a feature of Date-like things
33
- query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
34
- }
35
- else if (value instanceof Object) {
36
- for (var subName in value) {
37
- if (obj.hasOwnProperty(name_1)) {
38
- subValue = value[subName];
39
- fullSubName = name_1 + '[' + subName + ']';
40
- innerObj = {};
41
- innerObj[fullSubName] = subValue;
42
- query += encodeParams(innerObj) + '&';
43
- }
44
- }
45
- }
46
- else if (value === null) {
47
- query += encodeURIComponent(name_1) + '=&';
48
- }
49
- else if (value !== undefined) {
50
- query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
51
- }
52
- }
53
- return query.length ? query.substr(0, query.length - 1) : query;
54
- }
55
-
56
- var UriBuilderODataAdapter = /** @class */ (function () {
57
- function UriBuilderODataAdapter() {
58
- this.name = "odata";
59
- }
60
- UriBuilderODataAdapter.register = function (config$1) {
61
- config$1 = config$1 || breezeClient.config;
62
- config$1.registerAdapter("uriBuilder", UriBuilderODataAdapter);
63
- return config$1.initializeAdapterInstance("uriBuilder", "odata", true);
64
- };
65
- UriBuilderODataAdapter.prototype.initialize = function () { };
66
- UriBuilderODataAdapter.prototype.buildUri = function (entityQuery, metadataStore) {
67
- // force entityType validation;
68
- var entityType = entityQuery._getFromEntityType(metadataStore, false);
69
- if (!entityType) {
70
- // anonymous type but still has naming convention info avail
71
- entityType = new breezeClient.EntityType(metadataStore);
72
- }
73
- var queryOptions = {};
74
- queryOptions["$filter"] = toWhereODataFragment(entityQuery.wherePredicate);
75
- queryOptions["$orderby"] = toOrderByODataFragment(entityQuery.orderByClause);
76
- if (entityQuery.skipCount) {
77
- queryOptions["$skip"] = entityQuery.skipCount;
78
- }
79
- if (entityQuery.takeCount != null) {
80
- queryOptions["$top"] = entityQuery.takeCount;
81
- }
82
- queryOptions["$expand"] = toExpandODataFragment(entityQuery.expandClause);
83
- queryOptions["$select"] = toSelectODataFragment(entityQuery.selectClause);
84
- if (entityQuery.inlineCountEnabled) {
85
- queryOptions["$inlinecount"] = "allpages";
86
- }
87
- var qoText = toQueryOptionsString(queryOptions);
88
- return appendQueryStringParameter(entityQuery.resourceName, qoText);
89
- // private methods to this func.
90
- function toWhereODataFragment(wherePredicate) {
91
- if (!wherePredicate)
92
- return undefined;
93
- // validation occurs inside of the toODataFragment call here.
94
- var frag = wherePredicate.visit({ entityType: entityType }, toODataFragmentVisitor);
95
- return (frag && frag.length > 0) ? frag : undefined;
96
- }
97
- function toOrderByODataFragment(orderByClause) {
98
- if (!orderByClause)
99
- return undefined;
100
- orderByClause.validate(entityType);
101
- var strings = orderByClause.items.map(function (item) {
102
- return entityType.clientPropertyPathToServer(item.propertyPath, "/") + (item.isDesc ? " desc" : "");
103
- });
104
- // should return something like CompanyName,Address/City desc
105
- return strings.join(',');
106
- }
107
- function toSelectODataFragment(selectClause) {
108
- if (!selectClause)
109
- return undefined;
110
- selectClause.validate(entityType);
111
- var frag = selectClause.propertyPaths.map(function (pp) {
112
- return entityType.clientPropertyPathToServer(pp, "/");
113
- }).join(",");
114
- return frag;
115
- }
116
- function toExpandODataFragment(expandClause) {
117
- if (!expandClause)
118
- return undefined;
119
- // no validate on expand clauses currently.
120
- // expandClause.validate(entityType);
121
- var frag = expandClause.propertyPaths.map(function (pp) {
122
- return entityType.clientPropertyPathToServer(pp, "/");
123
- }).join(",");
124
- return frag;
125
- }
126
- function toQueryOptionsString(queryOptions) {
127
- var qoStrings = [];
128
- var _loop_1 = function (qoName) {
129
- var qoValue = queryOptions[qoName];
130
- if (qoValue !== undefined) {
131
- if (qoValue instanceof Array) {
132
- qoValue.forEach(function (qov) {
133
- qoStrings.push(qoName + "=" + encodeURIComponent(qov));
134
- });
135
- }
136
- else {
137
- qoStrings.push(qoName + "=" + encodeURIComponent(qoValue));
138
- }
139
- }
140
- };
141
- for (var qoName in queryOptions) {
142
- _loop_1(qoName);
143
- }
144
- if (qoStrings.length > 0) {
145
- return qoStrings.join("&");
146
- }
147
- else {
148
- return "";
149
- }
150
- }
151
- };
152
- return UriBuilderODataAdapter;
153
- }());
154
- breezeClient.Predicate.prototype.toODataFragment = function (context) {
155
- return this.visit(context, toODataFragmentVisitor);
156
- };
157
- var ɵ0 = function () {
158
- return this.value;
159
- }, ɵ1 = function (context) {
160
- var predVal = this.pred.visit(context);
161
- return odataOpFrom(this) + " " + "(" + predVal + ")";
162
- }, ɵ2 = function (context) {
163
- var expr1Val = this.expr1.visit(context);
164
- var expr2Val = this.expr2.visit(context);
165
- var prefix = context.prefix;
166
- if (prefix) {
167
- expr1Val = prefix + "/" + expr1Val;
168
- }
169
- var odataOp = odataOpFrom(this);
170
- if (this.op.key === 'in') {
171
- var result = expr2Val.map(function (v) {
172
- return "(" + expr1Val + " eq " + v + ")";
173
- }).join(" or ");
174
- return result;
175
- }
176
- else if (this.op.isFunction) {
177
- if (odataOp === "substringof") {
178
- return odataOp + "(" + expr2Val + "," + expr1Val + ") eq true";
179
- }
180
- else {
181
- return odataOp + "(" + expr1Val + "," + expr2Val + ") eq true";
182
- }
183
- }
184
- else {
185
- return expr1Val + " " + odataOp + " " + expr2Val;
186
- }
187
- }, ɵ3 = function (context) {
188
- var result = this.preds.map(function (pred) {
189
- var predVal = pred.visit(context);
190
- return "(" + predVal + ")";
191
- }).join(" " + odataOpFrom(this) + " ");
192
- return result;
193
- }, ɵ4 = function (context) {
194
- var exprVal = this.expr.visit(context);
195
- if (!this.pred.op) { // added 21-Oct-2016 to fix breeze.js issue #172
196
- return exprVal + "/" + odataOpFrom(this) + "()";
197
- }
198
- var prefix = context.prefix;
199
- if (prefix) {
200
- exprVal = prefix + "/" + exprVal;
201
- prefix = "x" + (parseInt(prefix.substring(1)) + 1);
202
- }
203
- else {
204
- prefix = "x1";
205
- }
206
- // need to create a new context because of 'prefix'
207
- var newContext = breezeClient.core.extend({}, context);
208
- newContext.entityType = this.expr.dataType;
209
- newContext.prefix = prefix;
210
- var newPredVal = this.pred.visit(newContext);
211
- return exprVal + "/" + odataOpFrom(this) + "(" + prefix + ": " + newPredVal + ")";
212
- }, ɵ5 = function () {
213
- if (Array.isArray(this.value)) {
214
- return this.value.map(function (v) { return this.dataType.fmtOData(v); }, this);
215
- }
216
- else {
217
- return this.dataType.fmtOData(this.value);
218
- }
219
- }, ɵ6 = function (context) {
220
- var entityType = context.entityType;
221
- // '/' is the OData path delimiter
222
- return entityType ? entityType.clientPropertyPathToServer(this.propertyPath, "/") : this.propertyPath;
223
- }, ɵ7 = function (context) {
224
- var exprVals = this.exprs.map(function (expr) {
225
- return expr.visit(context);
226
- });
227
- return this.fnName + "(" + exprVals.join(",") + ")";
228
- };
229
- var toODataFragmentVisitor = {
230
- passthruPredicate: ɵ0,
231
- unaryPredicate: ɵ1,
232
- binaryPredicate: ɵ2,
233
- andOrPredicate: ɵ3,
234
- anyAllPredicate: ɵ4,
235
- litExpr: ɵ5,
236
- propExpr: ɵ6,
237
- fnExpr: ɵ7
238
- };
239
- var _operatorMap = {
240
- 'contains': 'substringof'
241
- };
242
- function odataOpFrom(node) {
243
- var op = node.op.key;
244
- var odataOp = _operatorMap[op];
245
- return odataOp || op;
246
- }
247
- breezeClient.config.registerAdapter("uriBuilder", UriBuilderODataAdapter);
248
-
249
- exports.UriBuilderODataAdapter = UriBuilderODataAdapter;
250
- exports.ɵ0 = ɵ0;
251
- exports.ɵ1 = ɵ1;
252
- exports.ɵ2 = ɵ2;
253
- exports.ɵ3 = ɵ3;
254
- exports.ɵ4 = ɵ4;
255
- exports.ɵ5 = ɵ5;
256
- exports.ɵ6 = ɵ6;
257
- exports.ɵ7 = ɵ7;
258
-
259
- Object.defineProperty(exports, '__esModule', { value: true });
260
-
261
- })));
262
- //# sourceMappingURL=breeze-client-adapter-uri-builder-odata.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breeze-client-adapter-uri-builder-odata.umd.js","sources":["ng://breeze-client/adapter-uri-builder-odata/adapter-core.ts","ng://breeze-client/adapter-uri-builder-odata/adapter-uri-builder-odata.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderODataAdapter implements breeze.UriBuilderAdapter {\r\n\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"odata\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderODataAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"odata\", true) as UriBuilderODataAdapter;\r\n }\r\n\r\n initialize() { }\r\n\r\n buildUri(entityQuery: breeze.EntityQuery, metadataStore: breeze.MetadataStore) {\r\n // force entityType validation;\r\n let entityType = entityQuery._getFromEntityType(metadataStore, false);\r\n if (!entityType) {\r\n // anonymous type but still has naming convention info avail\r\n entityType = new breeze.EntityType(metadataStore);\r\n }\r\n\r\n let queryOptions = {};\r\n queryOptions[\"$filter\"] = toWhereODataFragment(entityQuery.wherePredicate);\r\n queryOptions[\"$orderby\"] = toOrderByODataFragment(entityQuery.orderByClause!);\r\n\r\n if (entityQuery.skipCount) {\r\n queryOptions[\"$skip\"] = entityQuery.skipCount;\r\n }\r\n\r\n if (entityQuery.takeCount != null) {\r\n queryOptions[\"$top\"] = entityQuery.takeCount;\r\n }\r\n\r\n queryOptions[\"$expand\"] = toExpandODataFragment(entityQuery.expandClause);\r\n queryOptions[\"$select\"] = toSelectODataFragment(entityQuery.selectClause!);\r\n\r\n if (entityQuery.inlineCountEnabled) {\r\n queryOptions[\"$inlinecount\"] = \"allpages\";\r\n }\r\n\r\n const qoText = toQueryOptionsString(queryOptions as breeze.QueryOptions);\r\n\r\n return appendQueryStringParameter(entityQuery.resourceName, qoText);\r\n\r\n // private methods to this func.\r\n\r\n function toWhereODataFragment(wherePredicate: breeze.Predicate) {\r\n if (!wherePredicate) return undefined;\r\n // validation occurs inside of the toODataFragment call here.\r\n let frag = wherePredicate.visit({ entityType: entityType }, toODataFragmentVisitor);\r\n return (frag && frag.length > 0) ? frag : undefined;\r\n }\r\n\r\n function toOrderByODataFragment(orderByClause: breeze.OrderByClause) {\r\n if (!orderByClause) return undefined;\r\n orderByClause.validate(entityType!);\r\n let strings = orderByClause.items.map(function (item) {\r\n return entityType!.clientPropertyPathToServer(item.propertyPath, \"/\") + (item.isDesc ? \" desc\" : \"\");\r\n });\r\n // should return something like CompanyName,Address/City desc\r\n return strings.join(',');\r\n }\r\n\r\n function toSelectODataFragment(selectClause?: breeze.SelectClause) {\r\n if (!selectClause) return undefined;\r\n selectClause.validate(entityType!);\r\n let frag = selectClause.propertyPaths.map(function (pp) {\r\n return entityType!.clientPropertyPathToServer(pp, \"/\");\r\n }).join(\",\");\r\n return frag;\r\n }\r\n\r\n function toExpandODataFragment(expandClause?: breeze.ExpandClause) {\r\n if (!expandClause) return undefined;\r\n // no validate on expand clauses currently.\r\n // expandClause.validate(entityType);\r\n let frag = expandClause.propertyPaths.map(function (pp) {\r\n return entityType!.clientPropertyPathToServer(pp, \"/\");\r\n }).join(\",\");\r\n return frag;\r\n }\r\n\r\n function toQueryOptionsString(queryOptions: breeze.QueryOptions) {\r\n let qoStrings: string[] = [];\r\n for (let qoName in queryOptions) {\r\n let qoValue = queryOptions[qoName];\r\n if (qoValue !== undefined) {\r\n if (qoValue instanceof Array) {\r\n qoValue.forEach(function (qov) {\r\n qoStrings.push(qoName + \"=\" + encodeURIComponent(qov));\r\n });\r\n } else {\r\n qoStrings.push(qoName + \"=\" + encodeURIComponent(qoValue));\r\n }\r\n }\r\n }\r\n\r\n if (qoStrings.length > 0) {\r\n return qoStrings.join(\"&\");\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n(breeze.Predicate.prototype as any).toODataFragment = function (context: breeze.VisitContext) {\r\n return this.visit(context, toODataFragmentVisitor);\r\n};\r\n\r\nlet toODataFragmentVisitor = {\r\n\r\n passthruPredicate: function () {\r\n return this.value;\r\n },\r\n\r\n unaryPredicate: function (this: breeze.UnaryPredicate, context: breeze.VisitContext) {\r\n let predVal = this.pred.visit(context);\r\n return odataOpFrom(this) + \" \" + \"(\" + predVal + \")\";\r\n },\r\n\r\n binaryPredicate: function (this: breeze.BinaryPredicate, context: breeze.VisitContext) {\r\n let expr1Val = this.expr1!.visit(context);\r\n let expr2Val = this.expr2!.visit(context);\r\n let prefix = (context as any).prefix;\r\n if (prefix) {\r\n expr1Val = prefix + \"/\" + expr1Val;\r\n }\r\n\r\n let odataOp = odataOpFrom(this);\r\n\r\n if (this.op.key === 'in') {\r\n let result = expr2Val.map(function (v: any) {\r\n return \"(\" + expr1Val + \" eq \" + v + \")\";\r\n }).join(\" or \");\r\n return result;\r\n } else if (this.op.isFunction) {\r\n if (odataOp === \"substringof\") {\r\n return odataOp + \"(\" + expr2Val + \",\" + expr1Val + \") eq true\";\r\n } else {\r\n return odataOp + \"(\" + expr1Val + \",\" + expr2Val + \") eq true\";\r\n }\r\n } else {\r\n return expr1Val + \" \" + odataOp + \" \" + expr2Val;\r\n }\r\n },\r\n\r\n andOrPredicate: function (this: breeze.AndOrPredicate, context: breeze.VisitContext) {\r\n let result = this.preds.map(function (pred) {\r\n let predVal = pred.visit(context);\r\n return \"(\" + predVal + \")\";\r\n }).join(\" \" + odataOpFrom(this) + \" \");\r\n return result;\r\n },\r\n\r\n anyAllPredicate: function (this: breeze.AnyAllPredicate, context: breeze.VisitContext) {\r\n let exprVal = this.expr.visit(context);\r\n if (!this.pred.op) { // added 21-Oct-2016 to fix breeze.js issue #172\r\n return exprVal + \"/\" + odataOpFrom(this) + \"()\";\r\n }\r\n let prefix = (context as any).prefix;\r\n if (prefix) {\r\n exprVal = prefix + \"/\" + exprVal;\r\n prefix = \"x\" + (parseInt(prefix.substring(1)) + 1);\r\n } else {\r\n prefix = \"x1\";\r\n }\r\n // need to create a new context because of 'prefix'\r\n let newContext = breeze.core.extend({}, context) as any;\r\n newContext.entityType = this.expr.dataType;\r\n newContext.prefix = prefix;\r\n let newPredVal = this.pred.visit(newContext);\r\n return exprVal + \"/\" + odataOpFrom(this) + \"(\" + prefix + \": \" + newPredVal + \")\";\r\n },\r\n\r\n litExpr: function () {\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(function (v: any) { return this.dataType.fmtOData(v); }, this);\r\n } else {\r\n return this.dataType.fmtOData(this.value);\r\n }\r\n },\r\n\r\n propExpr: function (this: breeze.PropExpr, context: breeze.ExpressionContext) {\r\n let entityType = context.entityType;\r\n // '/' is the OData path delimiter\r\n return entityType ? entityType.clientPropertyPathToServer(this.propertyPath, \"/\") : this.propertyPath;\r\n },\r\n\r\n fnExpr: function (this: breeze.FnExpr, context: breeze.ExpressionContext) {\r\n let exprVals = this.exprs.map(function (expr) {\r\n return expr.visit(context);\r\n });\r\n return this.fnName + \"(\" + exprVals.join(\",\") + \")\";\r\n }\r\n};\r\n\r\nlet _operatorMap = {\r\n 'contains': 'substringof'\r\n};\r\n\r\nfunction odataOpFrom(node: any) {\r\n let op = node.op.key;\r\n let odataOp = _operatorMap[op];\r\n return odataOp || op;\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderODataAdapter);\r\n\r\n\r\n\r\n"],"names":["config","breeze.config","breeze.EntityType","breeze.Predicate","breeze.core"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-uri-builder-odata",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-uri-builder-odata"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";var r=function(){function e(){this.name="odata"}return e.register=function(r){return(r=r||t.config).registerAdapter("uriBuilder",e),r.initializeAdapterInstance("uriBuilder","odata",!0)},e.prototype.initialize=function(){},e.prototype.buildUri=function(e,r){var i=e._getFromEntityType(r,!1);i||(i=new t.EntityType(r));var n,a,o,u={};u.$filter=function(e){if(!e)return;var t=e.visit({entityType:i},d);return t&&t.length>0?t:void 0}(e.wherePredicate),u.$orderby=(n=e.orderByClause)?(n.validate(i),n.items.map((function(e){return i.clientPropertyPathToServer(e.propertyPath,"/")+(e.isDesc?" desc":"")})).join(",")):void 0,e.skipCount&&(u.$skip=e.skipCount),null!=e.takeCount&&(u.$top=e.takeCount),u.$expand=(a=e.expandClause)?a.propertyPaths.map((function(e){return i.clientPropertyPathToServer(e,"/")})).join(","):void 0,u.$select=(o=e.selectClause)?(o.validate(i),o.propertyPaths.map((function(e){return i.clientPropertyPathToServer(e,"/")})).join(",")):void 0,e.inlineCountEnabled&&(u.$inlinecount="allpages");var s=function(e){var t=[],r=function(r){var i=e[r];void 0!==i&&(i instanceof Array?i.forEach((function(e){t.push(r+"="+encodeURIComponent(e))})):t.push(r+"="+encodeURIComponent(i)))};for(var i in e)r(i);return t.length>0?t.join("&"):""}(u);return function(e,t){if(!t)return e;var r=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+r+t}(e.resourceName,s)},e}();t.Predicate.prototype.toODataFragment=function(e){return this.visit(e,d)};var i=function(){return this.value},n=function(e){var t=this.pred.visit(e);return l(this)+" ("+t+")"},a=function(e){var t=this.expr1.visit(e),r=this.expr2.visit(e),i=e.prefix;i&&(t=i+"/"+t);var n=l(this);return"in"===this.op.key?r.map((function(e){return"("+t+" eq "+e+")"})).join(" or "):this.op.isFunction?"substringof"===n?n+"("+r+","+t+") eq true":n+"("+t+","+r+") eq true":t+" "+n+" "+r},o=function(e){return this.preds.map((function(t){return"("+t.visit(e)+")"})).join(" "+l(this)+" ")},u=function(e){var r=this.expr.visit(e);if(!this.pred.op)return r+"/"+l(this)+"()";var i=e.prefix;i?(r=i+"/"+r,i="x"+(parseInt(i.substring(1))+1)):i="x1";var n=t.core.extend({},e);n.entityType=this.expr.dataType,n.prefix=i;var a=this.pred.visit(n);return r+"/"+l(this)+"("+i+": "+a+")"},s=function(){return Array.isArray(this.value)?this.value.map((function(e){return this.dataType.fmtOData(e)}),this):this.dataType.fmtOData(this.value)},p=function(e){var t=e.entityType;return t?t.clientPropertyPathToServer(this.propertyPath,"/"):this.propertyPath},c=function(e){var t=this.exprs.map((function(t){return t.visit(e)}));return this.fnName+"("+t.join(",")+")"},d={passthruPredicate:i,unaryPredicate:n,binaryPredicate:a,andOrPredicate:o,anyAllPredicate:u,litExpr:s,propExpr:p,fnExpr:c},f={contains:"substringof"};function l(e){var t=e.op.key;return f[t]||t}t.config.registerAdapter("uriBuilder",r),e.UriBuilderODataAdapter=r,e.ɵ0=i,e.ɵ1=n,e.ɵ2=a,e.ɵ3=o,e.ɵ4=u,e.ɵ5=s,e.ɵ6=p,e.ɵ7=c,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=breeze-client-adapter-uri-builder-odata.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ng://breeze-client/adapter-uri-builder-odata/adapter-uri-builder-odata.ts","ng://breeze-client/adapter-uri-builder-odata/adapter-core.ts"],"names":["UriBuilderODataAdapter","this","name","register","config","breeze.config","registerAdapter","initializeAdapterInstance","prototype","initialize","buildUri","entityQuery","metadataStore","entityType","_getFromEntityType","breeze.EntityType","orderByClause","expandClause","selectClause","queryOptions","wherePredicate","frag","visit","toODataFragmentVisitor","length","undefined","toWhereODataFragment","validate","items","map","item","clientPropertyPathToServer","propertyPath","isDesc","join","skipCount","takeCount","propertyPaths","pp","inlineCountEnabled","qoText","qoStrings","qoName","qoValue","Array","forEach","qov","push","encodeURIComponent","toQueryOptionsString","url","parameter","separator","endsWith","includes","appendQueryStringParameter","resourceName","breeze.Predicate","toODataFragment","context","value","ɵ1","predVal","pred","odataOpFrom","ɵ2","expr1Val","expr1","expr2Val","expr2","prefix","odataOp","op","key","v","isFunction","ɵ3","preds","ɵ4","exprVal","expr","parseInt","substring","newContext","breeze.core","extend","dataType","newPredVal","ɵ5","isArray","fmtOData","ɵ6","ɵ7","exprVals","exprs","fnName","passthruPredicate","ɵ0","unaryPredicate","binaryPredicate","andOrPredicate","anyAllPredicate","litExpr","propExpr","fnExpr","_operatorMap","contains","node"],"mappings":"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","sourcesContent":["import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderODataAdapter implements breeze.UriBuilderAdapter {\r\n\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"odata\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderODataAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"odata\", true) as UriBuilderODataAdapter;\r\n }\r\n\r\n initialize() { }\r\n\r\n buildUri(entityQuery: breeze.EntityQuery, metadataStore: breeze.MetadataStore) {\r\n // force entityType validation;\r\n let entityType = entityQuery._getFromEntityType(metadataStore, false);\r\n if (!entityType) {\r\n // anonymous type but still has naming convention info avail\r\n entityType = new breeze.EntityType(metadataStore);\r\n }\r\n\r\n let queryOptions = {};\r\n queryOptions[\"$filter\"] = toWhereODataFragment(entityQuery.wherePredicate);\r\n queryOptions[\"$orderby\"] = toOrderByODataFragment(entityQuery.orderByClause!);\r\n\r\n if (entityQuery.skipCount) {\r\n queryOptions[\"$skip\"] = entityQuery.skipCount;\r\n }\r\n\r\n if (entityQuery.takeCount != null) {\r\n queryOptions[\"$top\"] = entityQuery.takeCount;\r\n }\r\n\r\n queryOptions[\"$expand\"] = toExpandODataFragment(entityQuery.expandClause);\r\n queryOptions[\"$select\"] = toSelectODataFragment(entityQuery.selectClause!);\r\n\r\n if (entityQuery.inlineCountEnabled) {\r\n queryOptions[\"$inlinecount\"] = \"allpages\";\r\n }\r\n\r\n const qoText = toQueryOptionsString(queryOptions as breeze.QueryOptions);\r\n\r\n return appendQueryStringParameter(entityQuery.resourceName, qoText);\r\n\r\n // private methods to this func.\r\n\r\n function toWhereODataFragment(wherePredicate: breeze.Predicate) {\r\n if (!wherePredicate) return undefined;\r\n // validation occurs inside of the toODataFragment call here.\r\n let frag = wherePredicate.visit({ entityType: entityType }, toODataFragmentVisitor);\r\n return (frag && frag.length > 0) ? frag : undefined;\r\n }\r\n\r\n function toOrderByODataFragment(orderByClause: breeze.OrderByClause) {\r\n if (!orderByClause) return undefined;\r\n orderByClause.validate(entityType!);\r\n let strings = orderByClause.items.map(function (item) {\r\n return entityType!.clientPropertyPathToServer(item.propertyPath, \"/\") + (item.isDesc ? \" desc\" : \"\");\r\n });\r\n // should return something like CompanyName,Address/City desc\r\n return strings.join(',');\r\n }\r\n\r\n function toSelectODataFragment(selectClause?: breeze.SelectClause) {\r\n if (!selectClause) return undefined;\r\n selectClause.validate(entityType!);\r\n let frag = selectClause.propertyPaths.map(function (pp) {\r\n return entityType!.clientPropertyPathToServer(pp, \"/\");\r\n }).join(\",\");\r\n return frag;\r\n }\r\n\r\n function toExpandODataFragment(expandClause?: breeze.ExpandClause) {\r\n if (!expandClause) return undefined;\r\n // no validate on expand clauses currently.\r\n // expandClause.validate(entityType);\r\n let frag = expandClause.propertyPaths.map(function (pp) {\r\n return entityType!.clientPropertyPathToServer(pp, \"/\");\r\n }).join(\",\");\r\n return frag;\r\n }\r\n\r\n function toQueryOptionsString(queryOptions: breeze.QueryOptions) {\r\n let qoStrings: string[] = [];\r\n for (let qoName in queryOptions) {\r\n let qoValue = queryOptions[qoName];\r\n if (qoValue !== undefined) {\r\n if (qoValue instanceof Array) {\r\n qoValue.forEach(function (qov) {\r\n qoStrings.push(qoName + \"=\" + encodeURIComponent(qov));\r\n });\r\n } else {\r\n qoStrings.push(qoName + \"=\" + encodeURIComponent(qoValue));\r\n }\r\n }\r\n }\r\n\r\n if (qoStrings.length > 0) {\r\n return qoStrings.join(\"&\");\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n(breeze.Predicate.prototype as any).toODataFragment = function (context: breeze.VisitContext) {\r\n return this.visit(context, toODataFragmentVisitor);\r\n};\r\n\r\nlet toODataFragmentVisitor = {\r\n\r\n passthruPredicate: function () {\r\n return this.value;\r\n },\r\n\r\n unaryPredicate: function (this: breeze.UnaryPredicate, context: breeze.VisitContext) {\r\n let predVal = this.pred.visit(context);\r\n return odataOpFrom(this) + \" \" + \"(\" + predVal + \")\";\r\n },\r\n\r\n binaryPredicate: function (this: breeze.BinaryPredicate, context: breeze.VisitContext) {\r\n let expr1Val = this.expr1!.visit(context);\r\n let expr2Val = this.expr2!.visit(context);\r\n let prefix = (context as any).prefix;\r\n if (prefix) {\r\n expr1Val = prefix + \"/\" + expr1Val;\r\n }\r\n\r\n let odataOp = odataOpFrom(this);\r\n\r\n if (this.op.key === 'in') {\r\n let result = expr2Val.map(function (v: any) {\r\n return \"(\" + expr1Val + \" eq \" + v + \")\";\r\n }).join(\" or \");\r\n return result;\r\n } else if (this.op.isFunction) {\r\n if (odataOp === \"substringof\") {\r\n return odataOp + \"(\" + expr2Val + \",\" + expr1Val + \") eq true\";\r\n } else {\r\n return odataOp + \"(\" + expr1Val + \",\" + expr2Val + \") eq true\";\r\n }\r\n } else {\r\n return expr1Val + \" \" + odataOp + \" \" + expr2Val;\r\n }\r\n },\r\n\r\n andOrPredicate: function (this: breeze.AndOrPredicate, context: breeze.VisitContext) {\r\n let result = this.preds.map(function (pred) {\r\n let predVal = pred.visit(context);\r\n return \"(\" + predVal + \")\";\r\n }).join(\" \" + odataOpFrom(this) + \" \");\r\n return result;\r\n },\r\n\r\n anyAllPredicate: function (this: breeze.AnyAllPredicate, context: breeze.VisitContext) {\r\n let exprVal = this.expr.visit(context);\r\n if (!this.pred.op) { // added 21-Oct-2016 to fix breeze.js issue #172\r\n return exprVal + \"/\" + odataOpFrom(this) + \"()\";\r\n }\r\n let prefix = (context as any).prefix;\r\n if (prefix) {\r\n exprVal = prefix + \"/\" + exprVal;\r\n prefix = \"x\" + (parseInt(prefix.substring(1)) + 1);\r\n } else {\r\n prefix = \"x1\";\r\n }\r\n // need to create a new context because of 'prefix'\r\n let newContext = breeze.core.extend({}, context) as any;\r\n newContext.entityType = this.expr.dataType;\r\n newContext.prefix = prefix;\r\n let newPredVal = this.pred.visit(newContext);\r\n return exprVal + \"/\" + odataOpFrom(this) + \"(\" + prefix + \": \" + newPredVal + \")\";\r\n },\r\n\r\n litExpr: function () {\r\n if (Array.isArray(this.value)) {\r\n return this.value.map(function (v: any) { return this.dataType.fmtOData(v); }, this);\r\n } else {\r\n return this.dataType.fmtOData(this.value);\r\n }\r\n },\r\n\r\n propExpr: function (this: breeze.PropExpr, context: breeze.ExpressionContext) {\r\n let entityType = context.entityType;\r\n // '/' is the OData path delimiter\r\n return entityType ? entityType.clientPropertyPathToServer(this.propertyPath, \"/\") : this.propertyPath;\r\n },\r\n\r\n fnExpr: function (this: breeze.FnExpr, context: breeze.ExpressionContext) {\r\n let exprVals = this.exprs.map(function (expr) {\r\n return expr.visit(context);\r\n });\r\n return this.fnName + \"(\" + exprVals.join(\",\") + \")\";\r\n }\r\n};\r\n\r\nlet _operatorMap = {\r\n 'contains': 'substringof'\r\n};\r\n\r\nfunction odataOpFrom(node: any) {\r\n let op = node.op.key;\r\n let odataOp = _operatorMap[op];\r\n return odataOp || op;\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderODataAdapter);\r\n\r\n\r\n\r\n","/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n"]}