breeze-client 2.1.7 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
- package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
- package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
- package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
- package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
- package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
- package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
- package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +135 -0
- package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +49 -0
- package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
- package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +135 -0
- package/esm2022/adapter-ajax-fetch/adapter-core.mjs +49 -0
- package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
- package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +139 -0
- package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +49 -0
- package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
- package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +107 -0
- package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
- package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
- package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
- package/esm2022/adapter-data-service-odata/adapter-core.mjs +49 -0
- package/{esm5/adapter-data-service-odata/adapter-data-service-odata.js → esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs} +138 -147
- package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
- package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +100 -0
- package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
- package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +269 -0
- package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
- package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +241 -0
- package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
- package/esm2022/adapter-uri-builder-json/adapter-core.mjs +49 -0
- package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +37 -0
- package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
- package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +49 -0
- package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +191 -0
- package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
- package/esm2022/breeze-client.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
- package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
- package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
- package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +421 -0
- package/esm2022/src/abstract-data-service-adapter.mjs +325 -0
- package/esm2022/src/array.mjs +4 -0
- package/esm2022/src/assert-param.mjs +330 -0
- package/esm2022/src/breeze.mjs +85 -0
- package/esm2022/src/complex-array.mjs +117 -0
- package/esm2022/src/config.mjs +232 -0
- package/esm2022/src/core.mjs +712 -0
- package/esm2022/src/csdl-metadata-parser.mjs +385 -0
- package/esm2022/src/data-service.mjs +239 -0
- package/{esm2015/src/data-type.js → esm2022/src/data-type.mjs} +131 -124
- package/esm2022/src/default-property-interceptor.mjs +460 -0
- package/{esm2015/src/entity-action.js → esm2022/src/entity-action.mjs} +25 -25
- package/esm2022/src/entity-aspect.mjs +897 -0
- package/esm2022/src/entity-group.mjs +192 -0
- package/esm2022/src/entity-key.mjs +127 -0
- package/esm2022/src/entity-manager.mjs +2183 -0
- package/esm2022/src/entity-metadata.mjs +2242 -0
- package/esm2022/src/entity-query.mjs +1024 -0
- package/esm2022/src/entity-state.mjs +107 -0
- package/esm2022/src/enum.mjs +143 -0
- package/esm2022/src/event.mjs +264 -0
- package/esm2022/src/interface-registry.mjs +39 -0
- package/esm2022/src/key-generator.mjs +110 -0
- package/esm2022/src/local-query-comparison-options.mjs +75 -0
- package/esm2022/src/mapping-context.mjs +422 -0
- package/{esm5/src/naming-convention.js → esm2022/src/naming-convention.mjs} +35 -29
- package/esm2022/src/observable-array.mjs +183 -0
- package/esm2022/src/predicate.mjs +1259 -0
- package/esm2022/src/primitive-array.mjs +85 -0
- package/esm2022/src/query-options.mjs +160 -0
- package/esm2022/src/relation-array.mjs +173 -0
- package/esm2022/src/save-options.mjs +51 -0
- package/esm2022/src/unattached-children-map.mjs +56 -0
- package/{esm5/src/validate.js → esm2022/src/validate.mjs} +116 -110
- package/esm2022/src/validation-options.mjs +78 -0
- package/{fesm2015/breeze-client-adapter-ajax-angularjs.js → fesm2022/breeze-client-adapter-ajax-angularjs.mjs} +6 -1
- package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-fetch.js → fesm2022/breeze-client-adapter-ajax-fetch.mjs} +9 -4
- package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-httpclient.js → fesm2022/breeze-client-adapter-ajax-httpclient.mjs} +6 -4
- package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-jquery.js → fesm2022/breeze-client-adapter-ajax-jquery.mjs} +6 -2
- package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-post.js → fesm2022/breeze-client-adapter-ajax-post.mjs} +1 -1
- package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-data-service-odata.js → fesm2022/breeze-client-adapter-data-service-odata.mjs} +68 -69
- package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-data-service-webapi.js → fesm2022/breeze-client-adapter-data-service-webapi.mjs} +30 -30
- package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-model-library-backing-store.js → fesm2022/breeze-client-adapter-model-library-backing-store.mjs} +14 -13
- package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-model-library-ko.js → fesm2022/breeze-client-adapter-model-library-ko.mjs} +14 -13
- package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-uri-builder-json.js → fesm2022/breeze-client-adapter-uri-builder-json.mjs} +9 -8
- package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-uri-builder-odata.js → fesm2022/breeze-client-adapter-uri-builder-odata.mjs} +86 -86
- package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
- package/{fesm2015/breeze-client-mixin-get-entity-graph.js → fesm2022/breeze-client-mixin-get-entity-graph.mjs} +1 -1
- package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
- package/{fesm2015/breeze-client-mixin-save-queuing.js → fesm2022/breeze-client-mixin-save-queuing.mjs} +23 -2
- package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +1 -0
- package/{fesm2015/breeze-client.js → fesm2022/breeze-client.mjs} +2039 -1537
- package/fesm2022/breeze-client.mjs.map +1 -0
- package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
- package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
- package/package.json +94 -12
- package/src/config.d.ts +1 -1
- package/src/core.d.ts +1 -1
- package/src/entity-aspect.d.ts +1 -1
- package/src/entity-metadata.d.ts +8 -6
- package/src/entity-query.d.ts +1 -1
- package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
- package/adapter-ajax-angularjs/package.json +0 -13
- package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
- package/adapter-ajax-fetch/package.json +0 -13
- package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
- package/adapter-ajax-httpclient/package.json +0 -13
- package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
- package/adapter-ajax-jquery/package.json +0 -13
- package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
- package/adapter-ajax-post/package.json +0 -13
- package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
- package/adapter-data-service-odata/package.json +0 -13
- package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
- package/adapter-data-service-webapi/package.json +0 -13
- package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
- package/adapter-model-library-backing-store/package.json +0 -13
- package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
- package/adapter-model-library-ko/package.json +0 -13
- package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
- package/adapter-uri-builder-json/package.json +0 -13
- package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
- package/adapter-uri-builder-odata/package.json +0 -13
- package/breeze-client.d.ts +0 -8
- package/breeze-client.metadata.json +0 -1
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
- package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -747
- package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -333
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
- package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
- package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
- package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
- package/bundles/breeze-client.umd.js +0 -14231
- package/bundles/breeze-client.umd.js.map +0 -1
- package/bundles/breeze-client.umd.min.js +0 -16
- package/bundles/breeze-client.umd.min.js.map +0 -1
- package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
- package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
- package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
- package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
- package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
- package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
- package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
- package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
- package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
- package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
- package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
- package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -463
- package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
- package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -100
- package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
- package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
- package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
- package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
- package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
- package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
- package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
- package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
- package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
- package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
- package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
- package/esm2015/breeze-client.js +0 -9
- package/esm2015/index.js +0 -2
- package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
- package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
- package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
- package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
- package/esm2015/src/abstract-data-service-adapter.js +0 -327
- package/esm2015/src/array.js +0 -4
- package/esm2015/src/assert-param.js +0 -312
- package/esm2015/src/breeze.js +0 -85
- package/esm2015/src/complex-array.js +0 -119
- package/esm2015/src/config.js +0 -223
- package/esm2015/src/core.js +0 -714
- package/esm2015/src/csdl-metadata-parser.js +0 -385
- package/esm2015/src/data-service.js +0 -203
- package/esm2015/src/default-property-interceptor.js +0 -460
- package/esm2015/src/entity-aspect.js +0 -804
- package/esm2015/src/entity-group.js +0 -187
- package/esm2015/src/entity-key.js +0 -116
- package/esm2015/src/entity-manager.js +0 -2094
- package/esm2015/src/entity-metadata.js +0 -2109
- package/esm2015/src/entity-query.js +0 -1015
- package/esm2015/src/entity-state.js +0 -107
- package/esm2015/src/enum.js +0 -141
- package/esm2015/src/event.js +0 -256
- package/esm2015/src/interface-registry.js +0 -41
- package/esm2015/src/key-generator.js +0 -108
- package/esm2015/src/local-query-comparison-options.js +0 -65
- package/esm2015/src/mapping-context.js +0 -411
- package/esm2015/src/naming-convention.js +0 -88
- package/esm2015/src/observable-array.js +0 -185
- package/esm2015/src/predicate.js +0 -1242
- package/esm2015/src/primitive-array.js +0 -87
- package/esm2015/src/query-options.js +0 -152
- package/esm2015/src/relation-array.js +0 -175
- package/esm2015/src/save-options.js +0 -41
- package/esm2015/src/unattached-children-map.js +0 -58
- package/esm2015/src/validate.js +0 -991
- package/esm2015/src/validation-options.js +0 -64
- package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
- package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
- package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
- package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
- package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
- package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
- package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
- package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
- package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
- package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
- package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
- package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
- package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
- package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
- package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
- package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -105
- package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
- package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
- package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
- package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
- package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
- package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
- package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
- package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
- package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
- package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
- package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
- package/esm5/breeze-client.js +0 -9
- package/esm5/index.js +0 -2
- package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
- package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
- package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
- package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
- package/esm5/src/abstract-data-service-adapter.js +0 -333
- package/esm5/src/array.js +0 -4
- package/esm5/src/assert-param.js +0 -317
- package/esm5/src/breeze.js +0 -85
- package/esm5/src/complex-array.js +0 -119
- package/esm5/src/config.js +0 -228
- package/esm5/src/core.js +0 -722
- package/esm5/src/csdl-metadata-parser.js +0 -385
- package/esm5/src/data-service.js +0 -207
- package/esm5/src/data-type.js +0 -510
- package/esm5/src/default-property-interceptor.js +0 -460
- package/esm5/src/entity-action.js +0 -52
- package/esm5/src/entity-aspect.js +0 -810
- package/esm5/src/entity-group.js +0 -189
- package/esm5/src/entity-key.js +0 -118
- package/esm5/src/entity-manager.js +0 -2112
- package/esm5/src/entity-metadata.js +0 -2144
- package/esm5/src/entity-query.js +0 -1042
- package/esm5/src/entity-state.js +0 -114
- package/esm5/src/enum.js +0 -144
- package/esm5/src/event.js +0 -259
- package/esm5/src/interface-registry.js +0 -43
- package/esm5/src/key-generator.js +0 -111
- package/esm5/src/local-query-comparison-options.js +0 -67
- package/esm5/src/mapping-context.js +0 -413
- package/esm5/src/observable-array.js +0 -201
- package/esm5/src/predicate.js +0 -1307
- package/esm5/src/primitive-array.js +0 -87
- package/esm5/src/query-options.js +0 -167
- package/esm5/src/relation-array.js +0 -175
- package/esm5/src/save-options.js +0 -43
- package/esm5/src/unattached-children-map.js +0 -60
- package/esm5/src/validation-options.js +0 -66
- package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
- package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
- package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
- package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
- package/fesm2015/breeze-client.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-angularjs.js +0 -186
- package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-fetch.js +0 -186
- package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-httpclient.js +0 -193
- package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-jquery.js +0 -111
- package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-post.js +0 -86
- package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-odata.js +0 -523
- package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-webapi.js +0 -111
- package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-backing-store.js +0 -276
- package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-ko.js +0 -248
- package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
- package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
- package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
- package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
- package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
- package/fesm5/breeze-client-mixin-get-entity-graph.js +0 -254
- package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
- package/fesm5/breeze-client-mixin-save-queuing.js +0 -356
- package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
- package/fesm5/breeze-client.js +0 -13953
- package/fesm5/breeze-client.js.map +0 -1
- package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
- package/mixin-get-entity-graph/package.json +0 -13
- package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
- package/mixin-save-queuing/package.json +0 -13
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { core } from './core';
|
|
2
|
-
import { assertConfig } from './assert-param';
|
|
3
|
-
/**
|
|
4
|
-
A ValidationOptions instance is used to specify the conditions under which validation will be executed.
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
var ValidationOptions = /** @class */ (function () {
|
|
8
|
-
/**
|
|
9
|
-
ValidationOptions constructor
|
|
10
|
-
> var newVo = new ValidationOptions( { validateOnSave: false, validateOnAttach: false });
|
|
11
|
-
> // assume em1 is a preexisting EntityManager
|
|
12
|
-
> em1.setProperties( { validationOptions: newVo });
|
|
13
|
-
@param config - A configuration object.
|
|
14
|
-
**/
|
|
15
|
-
function ValidationOptions(config) {
|
|
16
|
-
updateWithConfig(this, config);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
Returns a copy of this ValidationOptions with changes to the specified config properties.
|
|
20
|
-
> var validationOptions = new ValidationOptions();
|
|
21
|
-
> var newOptions = validationOptions.using( { validateOnQuery: true, validateOnSave: false} );
|
|
22
|
-
@param config - A configuration object
|
|
23
|
-
@return A new ValidationOptions instance.
|
|
24
|
-
**/
|
|
25
|
-
ValidationOptions.prototype.using = function (config) {
|
|
26
|
-
if (!config)
|
|
27
|
-
return this;
|
|
28
|
-
var result = new ValidationOptions(this);
|
|
29
|
-
updateWithConfig(result, config);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
Sets the 'defaultInstance' by creating a copy of the current 'defaultInstance' and then applying all of the properties of the current instance.
|
|
34
|
-
The current instance is returned unchanged.
|
|
35
|
-
> var validationOptions = new ValidationOptions()
|
|
36
|
-
> var newOptions = validationOptions.using( { validateOnQuery: true, validateOnSave: false} );
|
|
37
|
-
> var newOptions.setAsDefault();
|
|
38
|
-
**/
|
|
39
|
-
ValidationOptions.prototype.setAsDefault = function () {
|
|
40
|
-
return core.setAsDefault(this, ValidationOptions);
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
The default instance for use whenever ValidationOptions are not specified.
|
|
44
|
-
**/
|
|
45
|
-
ValidationOptions.defaultInstance = new ValidationOptions({
|
|
46
|
-
validateOnAttach: true,
|
|
47
|
-
validateOnSave: true,
|
|
48
|
-
validateOnQuery: false,
|
|
49
|
-
validateOnPropertyChange: true
|
|
50
|
-
});
|
|
51
|
-
return ValidationOptions;
|
|
52
|
-
}());
|
|
53
|
-
export { ValidationOptions };
|
|
54
|
-
ValidationOptions.prototype._$typeName = "ValidationOptions";
|
|
55
|
-
function updateWithConfig(options, config) {
|
|
56
|
-
if (config) {
|
|
57
|
-
assertConfig(config)
|
|
58
|
-
.whereParam("validateOnAttach").isBoolean().isOptional()
|
|
59
|
-
.whereParam("validateOnSave").isBoolean().isOptional()
|
|
60
|
-
.whereParam("validateOnQuery").isBoolean().isOptional()
|
|
61
|
-
.whereParam("validateOnPropertyChange").isBoolean().isOptional()
|
|
62
|
-
.applyAll(options);
|
|
63
|
-
}
|
|
64
|
-
return options;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRyxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFrQjlDOzs7RUFHRTtBQUNGO0lBa0JFOzs7Ozs7T0FNRztJQUNILDJCQUFZLE1BQWdDO1FBQzFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0Q7Ozs7OztPQU1HO0lBQ0gsaUNBQUssR0FBTCxVQUFNLE1BQStCO1FBQ25DLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHdDQUFZLEdBQVo7UUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUNBQWUsR0FBRyxJQUFJLGlCQUFpQixDQUFDO1FBQzdDLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsY0FBYyxFQUFFLElBQUk7UUFDcEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsd0JBQXdCLEVBQUUsSUFBSTtLQUMvQixDQUFDLENBQUM7SUFDTCx3QkFBQztDQUFBLEFBaEVELElBZ0VDO1NBaEVZLGlCQUFpQjtBQWlFOUIsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztBQUU3RCxTQUFTLGdCQUFnQixDQUFDLE9BQTBCLEVBQUUsTUFBK0I7SUFDbkYsSUFBSSxNQUFNLEVBQUU7UUFDVixZQUFZLENBQUMsTUFBTSxDQUFDO2FBQ2YsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO2FBQ3ZELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRTthQUNyRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUU7YUFDdEQsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO2FBQy9ELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN4QjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3JlICB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW1ZhbGlkYXRpb25PcHRpb25zXV0gY29uc3RydWN0b3IgKi9cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZyB7XHJcbiAgLyoqIFdoZXRoZXIgZW50aXR5IGFuZCBwcm9wZXJ0eSBsZXZlbCB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciB3aGVuIGVudGl0aWVzIGFyZSBhdHRhY2hlZCB0byB0aGUgRW50aXR5TWFuYWdlciBcclxuICBvdGhlciB0aGFuIHZpYSBhIHF1ZXJ5LiAoZGVmYXVsdCA9IHRydWUpICovXHJcbiAgdmFsaWRhdGVPbkF0dGFjaD86IGJvb2xlYW47XHJcbiAgLyoqICBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYmVmb3JlIGVudGl0aWVzIGFyZSBzYXZlZC4gXHJcbiAgQSBmYWlsZWQgdmFsaWRhdGlvbiB3aWxsIGZvcmNlIHRoZSBzYXZlIHRvIGZhaWwgZWFybHkuIChkZWZhdWx0ID0gdHJ1ZSkgICovXHJcbiAgdmFsaWRhdGVPblNhdmU/OiBib29sZWFuO1xyXG4gIC8qKiBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYWZ0ZXIgZW50aXRpZXMgYXJlIHF1ZXJpZWQgZnJvbSBhIHJlbW90ZSBzZXJ2ZXIuXHJcbiAgKGRlZmF1bHQgPSBmYWxzZSkgICoqL1xyXG4gIHZhbGlkYXRlT25RdWVyeT86IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYWZ0ZXIgZW50aXRpZXMgYXJlIG1vZGlmaWVkLlxyXG4gIChkZWZhdWx0ID0gdHJ1ZSkgICoqL1xyXG4gIHZhbGlkYXRlT25Qcm9wZXJ0eUNoYW5nZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG5BIFZhbGlkYXRpb25PcHRpb25zIGluc3RhbmNlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgY29uZGl0aW9ucyB1bmRlciB3aGljaCB2YWxpZGF0aW9uIHdpbGwgYmUgZXhlY3V0ZWQuXHJcblxyXG4qL1xyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbk9wdGlvbnMgaW1wbGVtZW50cyBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZyB7XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgXyR0eXBlTmFtZTogc3RyaW5nOyAvLyBvbiBwcm90b1xyXG4gIC8qKiBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgd2hlbiBlbnRpdGllcyBhcmUgYXR0YWNoZWQgdG8gdGhlIEVudGl0eU1hbmFnZXIgXHJcbiAgb3RoZXIgdGhhbiB2aWEgYSBxdWVyeS4gKGRlZmF1bHQgPSB0cnVlKSBfX1JlYWQgT25seV9fICovXHJcbiAgdmFsaWRhdGVPbkF0dGFjaDogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGJlZm9yZSBlbnRpdGllcyBhcmUgc2F2ZWQuIFxyXG4gIEEgZmFpbGVkIHZhbGlkYXRpb24gd2lsbCBmb3JjZSB0aGUgc2F2ZSB0byBmYWlsIGVhcmx5LiAoZGVmYXVsdCA9IHRydWUpIF9fUmVhZCBPbmx5X18gKi9cclxuICB2YWxpZGF0ZU9uU2F2ZTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGFmdGVyIGVudGl0aWVzIGFyZSBxdWVyaWVkIGZyb20gYSByZW1vdGUgc2VydmVyLlxyXG4gIChkZWZhdWx0ID0gZmFsc2UpIF9fUmVhZCBPbmx5X18gICoqL1xyXG4gIHZhbGlkYXRlT25RdWVyeTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBwcm9wZXJ0eSBsZXZlbCB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciBhZnRlciBlbnRpdGllcyBhcmUgbW9kaWZpZWQuXHJcbiAgKGRlZmF1bHQgPSB0cnVlKSBfX1JlYWQgT25seV9fICoqL1xyXG4gIHZhbGlkYXRlT25Qcm9wZXJ0eUNoYW5nZTogYm9vbGVhbjtcclxuXHJcblxyXG5cclxuICAvKiogXHJcbiAgVmFsaWRhdGlvbk9wdGlvbnMgY29uc3RydWN0b3JcclxuICA+ICAgICB2YXIgbmV3Vm8gPSBuZXcgVmFsaWRhdGlvbk9wdGlvbnMoIHsgdmFsaWRhdGVPblNhdmU6IGZhbHNlLCB2YWxpZGF0ZU9uQXR0YWNoOiBmYWxzZSB9KTtcclxuICA+ICAgICAvLyBhc3N1bWUgZW0xIGlzIGEgcHJlZXhpc3RpbmcgRW50aXR5TWFuYWdlclxyXG4gID4gICAgIGVtMS5zZXRQcm9wZXJ0aWVzKCB7IHZhbGlkYXRpb25PcHRpb25zOiBuZXdWbyB9KTtcclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuICAqKi9cclxuICBjb25zdHJ1Y3Rvcihjb25maWc/OiBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZykge1xyXG4gICAgdXBkYXRlV2l0aENvbmZpZyh0aGlzLCBjb25maWcpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgYSBjb3B5IG9mIHRoaXMgVmFsaWRhdGlvbk9wdGlvbnMgd2l0aCBjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpZWQgY29uZmlnIHByb3BlcnRpZXMuXHJcbiAgPiAgICAgdmFyIHZhbGlkYXRpb25PcHRpb25zID0gbmV3IFZhbGlkYXRpb25PcHRpb25zKCk7XHJcbiAgPiAgICAgdmFyIG5ld09wdGlvbnMgPSB2YWxpZGF0aW9uT3B0aW9ucy51c2luZyggeyB2YWxpZGF0ZU9uUXVlcnk6IHRydWUsIHZhbGlkYXRlT25TYXZlOiBmYWxzZX0gKTtcclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdFxyXG4gIEByZXR1cm4gQSBuZXcgVmFsaWRhdGlvbk9wdGlvbnMgaW5zdGFuY2UuXHJcbiAgKiovXHJcbiAgdXNpbmcoY29uZmlnOiBWYWxpZGF0aW9uT3B0aW9uc0NvbmZpZykge1xyXG4gICAgaWYgKCFjb25maWcpIHJldHVybiB0aGlzO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uT3B0aW9ucyh0aGlzKTtcclxuICAgIHVwZGF0ZVdpdGhDb25maWcocmVzdWx0LCBjb25maWcpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFNldHMgdGhlICdkZWZhdWx0SW5zdGFuY2UnIGJ5IGNyZWF0aW5nIGEgY29weSBvZiB0aGUgY3VycmVudCAnZGVmYXVsdEluc3RhbmNlJyBhbmQgdGhlbiBhcHBseWluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UuXHJcbiAgVGhlIGN1cnJlbnQgaW5zdGFuY2UgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxyXG4gID4gICAgIHZhciB2YWxpZGF0aW9uT3B0aW9ucyA9IG5ldyBWYWxpZGF0aW9uT3B0aW9ucygpXHJcbiAgPiAgICAgdmFyIG5ld09wdGlvbnMgPSB2YWxpZGF0aW9uT3B0aW9ucy51c2luZyggeyB2YWxpZGF0ZU9uUXVlcnk6IHRydWUsIHZhbGlkYXRlT25TYXZlOiBmYWxzZX0gKTtcclxuICA+ICAgICB2YXIgbmV3T3B0aW9ucy5zZXRBc0RlZmF1bHQoKTtcclxuICAqKi9cclxuICBzZXRBc0RlZmF1bHQoKSB7XHJcbiAgICByZXR1cm4gY29yZS5zZXRBc0RlZmF1bHQodGhpcywgVmFsaWRhdGlvbk9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgVGhlIGRlZmF1bHQgaW5zdGFuY2UgZm9yIHVzZSB3aGVuZXZlciBWYWxpZGF0aW9uT3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC5cclxuICAqKi9cclxuICBzdGF0aWMgZGVmYXVsdEluc3RhbmNlID0gbmV3IFZhbGlkYXRpb25PcHRpb25zKHtcclxuICAgIHZhbGlkYXRlT25BdHRhY2g6IHRydWUsXHJcbiAgICB2YWxpZGF0ZU9uU2F2ZTogdHJ1ZSxcclxuICAgIHZhbGlkYXRlT25RdWVyeTogZmFsc2UsXHJcbiAgICB2YWxpZGF0ZU9uUHJvcGVydHlDaGFuZ2U6IHRydWVcclxuICB9KTtcclxufVxyXG5WYWxpZGF0aW9uT3B0aW9ucy5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiVmFsaWRhdGlvbk9wdGlvbnNcIjtcclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZVdpdGhDb25maWcob3B0aW9uczogVmFsaWRhdGlvbk9wdGlvbnMsIGNvbmZpZzogVmFsaWRhdGlvbk9wdGlvbnNDb25maWcpIHtcclxuICBpZiAoY29uZmlnKSB7XHJcbiAgICBhc3NlcnRDb25maWcoY29uZmlnKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwidmFsaWRhdGVPbkF0dGFjaFwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcInZhbGlkYXRlT25TYXZlXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwidmFsaWRhdGVPblF1ZXJ5XCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwidmFsaWRhdGVPblByb3BlcnR5Q2hhbmdlXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC5hcHBseUFsbChvcHRpb25zKTtcclxuICB9XHJcbiAgcmV0dXJuIG9wdGlvbnM7XHJcbn1cclxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-ajax-angularjs.js","sources":["ng://breeze-client/adapter-ajax-angularjs/adapter-core.ts","ng://breeze-client/adapter-ajax-angularjs/adapter-ajax-angularjs.ts","ng://breeze-client/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import { AjaxAdapter, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\nexport class AjaxAngularjsAdapter implements AjaxAdapter {\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n $http: any;\r\n $rootScope: any;\r\n constructor() {\r\n this.name = \"angularjs\";\r\n this.defaultSettings = {};\r\n this.requestInterceptor = undefined;\r\n // Will set:\r\n // this.$http;\r\n // this.$rootScope;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", \"angularjs\", true) as AjaxAngularjsAdapter;\r\n }\r\n\r\n initialize() {\r\n\r\n let ng = core.requireLib(\"angular\");\r\n if (ng) {\r\n let $injector = ng.injector(['ng']);\r\n let http: any, rootScope: any;\r\n $injector.invoke(['$http', '$rootScope', function ($http: any, $rootScope: any) {\r\n http = $http;\r\n rootScope = $rootScope;\r\n }]);\r\n this.$http = http;\r\n this.$rootScope = rootScope;\r\n }\r\n\r\n }\r\n\r\n setHttp(http: any) {\r\n this.$http = http;\r\n this.$rootScope = null; // to suppress $rootScope.digest\r\n }\r\n\r\n\r\n ajax(config: any) {\r\n if (!this.$http) {\r\n throw new Error(\"Unable to locate angularjs for ajax adapter\");\r\n }\r\n let ngConfig = {\r\n method: config.type,\r\n url: config.url,\r\n dataType: config.dataType,\r\n contentType: config.contentType,\r\n crossDomain: config.crossDomain,\r\n headers: config.headers || {},\r\n data: undefined as any\r\n };\r\n\r\n if (config.params) {\r\n // Hack: because of the way that Angular handles writing parameters out to the url.\r\n // so this approach takes over the url param writing completely.\r\n // See: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/\r\n ngConfig.url = appendQueryStringParameter(ngConfig.url, encodeParams(config.params));\r\n }\r\n\r\n if (config.data) {\r\n ngConfig.data = config.data;\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n ngConfig = core.extend(compositeConfig, ngConfig) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n ngConfig.headers = core.extend(headers, ngConfig.headers);\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: ngConfig, // angular's $http configuration object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n responseSuccess: responseSuccessFn, // adapter's success callback (ng 1.6+)\r\n responseError: responseErrorFn // adapter's error callback (ng 1.6+)\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n let prom = this.$http(requestInfo.config);\r\n if (prom.success) {\r\n // response for ng < 1.6 \r\n prom.success(requestInfo.success).error(requestInfo.error);\r\n } else {\r\n // response for ng 1.6+\r\n prom.then(requestInfo.responseSuccess).catch(requestInfo.responseError);\r\n }\r\n this.$rootScope && this.$rootScope.$digest();\r\n }\r\n\r\n function responseSuccessFn(response: any) {\r\n return successFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function successFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // HACK: because $http returns a server side null as a string containing \"null\" - this is WRONG.\r\n if (data === \"null\") data = null;\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function responseErrorFn(response: any) {\r\n return errorFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function errorFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // Timeout appears as an error with status===0 and no data.\r\n // Make it better\r\n if (status === 0 && data == null) {\r\n data = 'timeout';\r\n }\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-angularjs';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-ajax-fetch.js","sources":["ng://breeze-client/adapter-ajax-fetch/adapter-core.ts","ng://breeze-client/adapter-ajax-fetch/adapter-ajax-fetch.ts","ng://breeze-client/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import { AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\n/** Breeze AJAX adapter using fetch API \r\n * See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\r\n*/\r\nexport class AjaxFetchAdapter implements AjaxAdapter {\r\n static adapterName = \"fetch\";\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n\r\n constructor() {\r\n this.name = AjaxFetchAdapter.adapterName;\r\n this.defaultSettings = { };\r\n this.requestInterceptor = undefined;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", AjaxFetchAdapter.adapterName, true) as AjaxFetchAdapter;\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!fetch) {\r\n throw new Error(\"fetch API not supported in this browser\");\r\n }\r\n\r\n let init: RequestInit = {\r\n method: config.type, // *GET, POST, PUT, DELETE, etc.\r\n mode: 'cors', // no-cors, *cors, same-origin\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: 'include', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': config.contentType || 'application/json',\r\n // ...config.headers\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n redirect: 'follow', // manual, *follow, error\r\n referrer: 'client', // no-referrer, *client\r\n };\r\n if (config.type !== \"GET\" && config.type !== \"HEAD\") {\r\n // body data type must match \"Content-Type\" header\r\n // let data = config.params || config.data;\r\n let data = config.data;\r\n if (typeof(data) !== \"string\") {\r\n data = JSON.stringify(data);\r\n }\r\n init.body = data;\r\n }\r\n\r\n let url = config.url;\r\n if (!core.isEmpty(config.params)) {\r\n // Hack: Not sure how Fetch handles writing 'search' parameters to the url.\r\n // so this approach takes over the url param writing completely.\r\n url = appendQueryStringParameter(url, encodeParams(config.params));\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n init = core.extend(compositeConfig, init) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n init.headers = core.extend(headers, init.headers) as any;\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: init, // fetch api 'init' object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n fetch(url, requestInfo.config).then(response => {\r\n if (!response.ok) {\r\n response.text().then(s => {\r\n requestInfo.error(response.status, response.statusText, s, response, null);\r\n });\r\n } else {\r\n response.json().then(j => {\r\n requestInfo.success(j, response.statusText, response);\r\n });\r\n }\r\n }).catch(err => {\r\n requestInfo.error(0, err && err.message || err, null, null, err);\r\n });\r\n }\r\n\r\n function successFn(data: any, statusText: string, response: Response) {\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: getHeadersFn(response),\r\n status: response.status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function errorFn(status: number, statusText: string, body: string, response: Response, errorThrown: any) {\r\n let httpResponse = {\r\n config: config,\r\n data: body,\r\n error: errorThrown || statusText,\r\n getHeaders: getHeadersFn(response),\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n\r\nfunction getHeadersFn(response: Response): any {\r\n if (!response || response.status === 0) { // timeout or abort; no headers\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ? \"\" : {};\r\n };\r\n } else {\r\n return function (headerName: string) {\r\n if (headerName && headerName.length > 0) {\r\n return response.headers.get(headerName);\r\n }\r\n let hob = {};\r\n response.headers.forEach((val, key) => {\r\n hob[key] = val;\r\n });\r\n return hob;\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-fetch';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-ajax-httpclient.js","sources":["ng://breeze-client/adapter-ajax-httpclient/adapter-core.ts","ng://breeze-client/adapter-ajax-httpclient/adapter-ajax-httpclient.ts","ng://breeze-client/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.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 { HttpClient, HttpErrorResponse, HttpEvent, HttpHeaders, HttpRequest, HttpResponse } from \"@angular/common/http\";\r\nimport { AjaxConfig, config, core, HttpResponse as BreezeHttpResponse, BreezeConfig, AjaxRequestInterceptor, AjaxAdapter } from \"breeze-client\";\r\nimport { filter, map } from \"rxjs/operators\";\r\nimport { appendQueryStringParameter, encodeParams } from \"./adapter-core\";\r\n\r\nexport class AjaxHttpClientAdapter implements AjaxAdapter {\r\n static adapterName = 'httpclient';\r\n name = AjaxHttpClientAdapter.adapterName;\r\n defaultSettings = {};\r\n requestInterceptor: AjaxRequestInterceptor;\r\n\r\n constructor(public http: HttpClient) { }\r\n\r\n static register(http: HttpClient, breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", <any>function () { return new AjaxHttpClientAdapter(http); });\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", AjaxHttpClientAdapter.adapterName, true) as AjaxHttpClientAdapter;\r\n }\r\n\r\n initialize() { }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!this.http) {\r\n throw new Error('Unable to locate angular http module for ajax adapter');\r\n }\r\n\r\n // merge default DataSetAdapter Settings with config arg\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n config = <AjaxConfig>core.extend(compositeConfig, config);\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings['headers']); // copy default headers 1st\r\n config['headers'] = core.extend(headers, config.headers);\r\n }\r\n\r\n if (config.crossDomain) {\r\n throw new Error(this.name + ' does not support JSONP (crossDomain) requests');\r\n }\r\n\r\n // Hack: Not sure how Angular handles writing 'search' parameters to the url.\r\n // so this approach takes over the url param writing completely.\r\n const parameters = core.isEmpty(config.params) ? null : encodeParams(config.params);\r\n const url = appendQueryStringParameter(config.url, parameters);\r\n\r\n let headers = new HttpHeaders(config.headers || {});\r\n if (!headers.has('Content-Type')) {\r\n if (config.type !== 'GET' && config.type !== 'DELETE' && !!config.contentType) {\r\n headers = headers.set('Content-Type',\r\n <string>config.contentType || 'application/json; charset=utf-8');\r\n }\r\n }\r\n\r\n let body: any = config.data;\r\n let request = new HttpRequest((config.type || 'GET').toUpperCase(), url, body, { headers: headers, responseType: \"text\" });\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n request: request, // the http request from the requestOptions\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n this.requestInterceptor(requestInfo as any);\r\n if (this.requestInterceptor['oneTime']) {\r\n this.requestInterceptor = null;\r\n }\r\n }\r\n\r\n if (requestInfo.request) { // exists unless requestInterceptor killed it.\r\n const ffilter = filter((response: HttpEvent<any>) => response instanceof HttpResponse);\r\n const fmap = map(extractData);\r\n\r\n fmap(ffilter(this.http.request(requestInfo.request)))\r\n .forEach(requestInfo.success)\r\n .catch(requestInfo.error);\r\n }\r\n\r\n function extractData(event: HttpEvent<any>) {\r\n let response = event as HttpResponse<any>;\r\n let data: any;\r\n let dt = requestInfo.dsaConfig.dataType;\r\n // beware:`res.json` and `res.text` will be async some day\r\n if (dt && dt !== 'json') {\r\n data = response.body;\r\n } else {\r\n data = JSON.parse(response.body);\r\n }\r\n return { data, response };\r\n }\r\n\r\n function successFn(arg: { data: any, response: HttpResponse<any> }) {\r\n if (arg.response.status < 200 || arg.response.status >= 300) {\r\n throw { data: arg.data, response: arg.response };\r\n }\r\n\r\n let httpResponse: BreezeHttpResponse = {\r\n config: requestInfo.request,\r\n data: arg.data,\r\n getHeaders: makeGetHeaders(arg.response.headers),\r\n status: arg.response.status\r\n };\r\n httpResponse['ngConfig'] = requestInfo.request;\r\n httpResponse['statusText'] = arg.response.statusText;\r\n httpResponse['response'] = arg.response;\r\n config.success(httpResponse);\r\n }\r\n\r\n function errorFn(response: HttpErrorResponse) {\r\n if (response instanceof Error) {\r\n throw response; // program error; nothing we can do\r\n } else {\r\n let data: any;\r\n if (response.error instanceof HttpResponse) {\r\n data = response.error.body;\r\n } else if (response.error instanceof Error) {\r\n data = response.error.message;\r\n } else {\r\n data = response.error;\r\n }\r\n\r\n // Timeout appears as an error with status===0 and no data.\r\n if (response.status === 0 && data == null) {\r\n data = 'timeout';\r\n }\r\n\r\n let errorMessage = response.status + \": \" + response.statusText;\r\n if (data && typeof data === 'object') {\r\n data[\"message\"] = data[\"message\"] || errorMessage; // breeze looks at the message property\r\n }\r\n if (!data) {\r\n data = errorMessage; // Return the error message as data\r\n }\r\n let httpResponse: BreezeHttpResponse = {\r\n config: requestInfo.request,\r\n data: data,\r\n getHeaders: makeGetHeaders(response.headers),\r\n status: response.status\r\n };\r\n httpResponse['ngConfig'] = requestInfo.request;\r\n httpResponse['statusText'] = response.statusText;\r\n httpResponse['response'] = response;\r\n\r\n config.error(httpResponse); // send error to breeze error handler\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n///// Helpers ////\r\n\r\nfunction makeGetHeaders(headers: HttpHeaders) {\r\n return function getHeaders(headerName?: string) { return headers.getAll(headerName).join('\\r\\n'); };\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-httpclient';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-ajax-jquery.js","sources":["ng://breeze-client/adapter-ajax-jquery/adapter-ajax-jquery.ts","ng://breeze-client/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.ts"],"sourcesContent":["import { AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\n\r\ndeclare var jQuery: any;\r\n\r\nexport class AjaxJQueryAdapter implements AjaxAdapter {\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n jQuery: any;\r\n\r\n constructor() {\r\n this.name = \"jQuery\";\r\n this.defaultSettings = { };\r\n this.requestInterceptor = undefined;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxJQueryAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", \"jQuery\", true) as AjaxJQueryAdapter;\r\n }\r\n\r\n initialize() {\r\n this.jQuery = jQuery;\r\n // look for the jQuery lib but don't fail immediately if not found\r\n if (!jQuery) {\r\n this.jQuery = core.requireLib(\"jQuery;jquery\");\r\n }\r\n }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!this.jQuery) {\r\n throw new Error(\"Unable to locate jQuery\");\r\n }\r\n let jqConfig = {\r\n type: config.type,\r\n url: config.url,\r\n data: config.params || config.data,\r\n dataType: config.dataType,\r\n contentType: config.contentType,\r\n crossDomain: config.crossDomain,\r\n headers: config.headers || {}\r\n };\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n jqConfig = core.extend(compositeConfig, jqConfig) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n jqConfig.headers = core.extend(headers, jqConfig.headers);\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: jqConfig, // jQuery's ajax 'settings' object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n (requestInfo as any).jqXHR = this.jQuery.ajax(requestInfo.config)\r\n .done(requestInfo.success)\r\n .fail(requestInfo.error);\r\n }\r\n\r\n function successFn(data: any, statusText: string, jqXHR: XMLHttpRequest) {\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: getHeadersFn(jqXHR),\r\n status: jqXHR.status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n // TODO: not sure how to do this or if needed.\r\n // jqXHR.onreadystatechange = null;\r\n // jqXHR.abort = null;\r\n }\r\n\r\n function errorFn(jqXHR: XMLHttpRequest, statusText: string, errorThrown: any) {\r\n let httpResponse = {\r\n config: config,\r\n data: jqXHR.responseText,\r\n error: errorThrown,\r\n getHeaders: getHeadersFn(jqXHR),\r\n status: jqXHR.status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n // TODO: not sure how to do this or if needed.\r\n // jqXHR.onreadystatechange = null;\r\n // jqXHR.abort = null;\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxJQueryAdapter);\r\n\r\nfunction getHeadersFn(jqXHR: XMLHttpRequest): any {\r\n if (jqXHR.status === 0) { // timeout or abort; no headers\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ? \"\" : {};\r\n };\r\n } else { // jqXHR should have header functions\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ?\r\n jqXHR.getResponseHeader(headerName) :\r\n jqXHR.getAllResponseHeaders();\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-jquery';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-ajax-post.js","sources":["ng://breeze-client/adapter-ajax-post/adapter-ajax-post.ts","ng://breeze-client/adapter-ajax-post/breeze-client-adapter-ajax-post.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\n/**\r\n * Functions to enable Breeze to use POST for queries when\r\n * special parameters are passed using the .withParameters function.\r\n *\r\n * Copyright 2015-2021 IdeaBlade, Inc. All Rights Reserved.\r\n * Use, reproduction, distribution, and modification of this code is subject to the terms and\r\n * conditions of the IdeaBlade Breeze license, available at http://www.breezejs.com/license\r\n *\r\n * Author: Steve Schmitt\r\n * Version: \r\n * 1.2.0 - Moved into breeze-client repo and npm package\r\n * 1.1.0 - revised: eliminated return object, configAjaxAdapter method; add ajaxPostEnabled flag\r\n * 1.0.6 - original\r\n *\r\n * Special parameters:\r\n * $method: ‘POST’ or ‘GET’ (the default)\r\n * $encoding: ‘JSON’ or x-www-form-urlencoded (the default)\r\n * $data: contains the data to be sent to the server\r\n *\r\n * Installation:\r\n * var ajaxAdapter = config.initializeAdapterInstance('ajax', adapterName, true);\r\n * AjaxPostWrapper.wrapAjax(ajaxAdapter);\r\n *\r\n * Example:\r\n * var query = breeze.EntityQuery.from('SimilarCustomersPOST')\r\n * .withParameters({\r\n * $method: 'POST',\r\n * $encoding: 'JSON',\r\n * $data: { CompanyName: 'Hilo Hattie', ContactName: 'Donald', City: 'Duck', Country: 'USA', Phone: '808-234-5678' }\r\n * });\r\n *\r\n **/\r\nexport class AjaxPostWrapper {\r\n\r\n static wrapAjax(ajaxAdapter: breeze.AjaxAdapter) {\r\n\r\n if ((ajaxAdapter as any).ajaxPostEnabled) {\r\n return; // already wrapped it.\r\n }\r\n\r\n let ajaxFunction = ajaxAdapter.ajax;\r\n if (ajaxFunction) {\r\n ajaxAdapter.ajax = function (settings) {\r\n processSettings(settings);\r\n return ajaxFunction.call(ajaxAdapter, settings);\r\n };\r\n (ajaxAdapter as any).ajaxPostEnabled = true;\r\n }\r\n\r\n\r\n // Handle the POST-specific properties in the settings - $method, $data, $encoding\r\n function processSettings(settings: any) {\r\n let parameters = settings && settings.params;\r\n if (!parameters) return settings;\r\n\r\n // wrapped data; handle the special properties\r\n settings.type = parameters.$method || settings.type; // GET is default method\r\n\r\n let data = parameters.$data;\r\n if (data) {\r\n // if $data exists, assume all of other parameters are guidance for building a POST\r\n if (parameters.$encoding === 'JSON') {\r\n // JSON encoding\r\n settings.processData = false; // don't let JQuery form-encode it\r\n settings.contentType = \"application/json; charset=UTF-8\";\r\n\r\n if (typeof (data) === 'object') {\r\n settings.data = JSON.stringify(data); // encode parameters as JSON\r\n } else {\r\n settings.data = data;\r\n }\r\n } else {\r\n settings.data = data;\r\n }\r\n // must be null or jQuery ajax adapter won't see settings.data\r\n settings.params = null;\r\n }\r\n\r\n return settings;\r\n }\r\n }\r\n\r\n\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-ajax-post';\n"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCa,eAAe;IAE1B,OAAO,QAAQ,CAAC,WAA+B;QAE7C,IAAK,WAAmB,CAAC,eAAe,EAAE;YACxC,OAAO;SACR;QAED,IAAI,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,YAAY,EAAE;YAChB,WAAW,CAAC,IAAI,GAAG,UAAU,QAAQ;gBACnC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;aACjD,CAAC;YACD,WAAmB,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7C;;QAID,SAAS,eAAe,CAAC,QAAa;YACpC,IAAI,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,UAAU;gBAAE,OAAO,QAAQ,CAAC;;YAGjC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;YAEpD,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;YAC5B,IAAI,IAAI,EAAE;;gBAER,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,EAAE;;oBAEnC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;oBAC7B,QAAQ,CAAC,WAAW,GAAG,iCAAiC,CAAC;oBAEzD,IAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,EAAE;wBAC9B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBACtC;yBAAM;wBACL,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;qBACtB;iBACF;qBAAM;oBACL,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;iBACtB;;gBAED,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;aACxB;YAED,OAAO,QAAQ,CAAC;SACjB;KACF;;;AClFH;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-data-service-odata.js","sources":["ng://breeze-client/adapter-data-service-odata/adapter-core.ts","ng://breeze-client/adapter-data-service-odata/adapter-data-service-odata.ts","ng://breeze-client/adapter-data-service-odata/breeze-client-adapter-data-service-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\nlet core = breeze.core;\r\n\r\ndeclare var window: any;\r\ndeclare var document: any;\r\ndeclare var url: any; // needed to access node's url.parse\r\ndeclare var OData: any;\r\n\r\ninterface ODataSaveContext extends breeze.SaveContext {\r\n tempKeys: breeze.EntityKey[];\r\n contentKeys: breeze.Entity[];\r\n}\r\n\r\n/** @hidden */\r\nexport class DataServiceODataAdapter extends breeze.AbstractDataServiceAdapter {\r\n relativeUrl: boolean | ((ds: breeze.DataService, url: string) => string);\r\n // _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;\r\n // changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;\r\n // _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;\r\n headers = { \"DataServiceVersion\": \"2.0\" };\r\n\r\n constructor() {\r\n super();\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(\"dataService\", DataServiceODataAdapter);\r\n return config.initializeAdapterInstance(\"dataService\", \"OData\", true) as DataServiceODataAdapter;\r\n }\r\n\r\n initialize() {\r\n OData = core.requireLib(\"OData\", \"Needed to support remote OData services\");\r\n OData.jsonHandler.recognizeDates = true;\r\n }\r\n\r\n\r\n // Absolute URL is the default as of Breeze 1.5.5. \r\n // To use relative URL (like pre-1.5.5), add adapterInstance.relativeUrl = true:\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = true; \r\n //\r\n // To use custom url construction, add adapterInstance.relativeUrl = myfunction(dataService, url):\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = function(dataService, url) {\r\n // return somehowConvert(url);\r\n // }\r\n //\r\n\r\n fetchMetadata(metadataStore: breeze.MetadataStore, dataService: breeze.DataService) {\r\n let serviceName = dataService.serviceName;\r\n\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = dataService.qualifyUrl('$metadata');\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(dataService, '$metadata');\r\n } else {\r\n url = this.getAbsoluteUrl(dataService, '$metadata');\r\n }\r\n\r\n let mheaders = core.extend({}, this.headers);\r\n (mheaders as any).Accept = 'application/*; odata.metadata=full';\r\n\r\n let promise = new Promise((resolve, reject) => {\r\n // OData.read(url,\r\n OData.read({\r\n requestUri: url,\r\n // headers: { \"Accept\": \"application/json\"}\r\n headers: mheaders\r\n },\r\n function (data: any) {\r\n // data.dataServices.schema is an array of schemas. with properties of\r\n // entityContainer[], association[], entityType[], and namespace.\r\n if (!data || !data.dataServices) {\r\n let error = new Error(\"Metadata query failed for: \" + url);\r\n return reject(error);\r\n }\r\n let csdlMetadata = data.dataServices;\r\n\r\n // might have been fetched by another query\r\n if (!metadataStore.hasMetadataFor(serviceName)) {\r\n try {\r\n metadataStore.importMetadata(csdlMetadata);\r\n } catch (e) {\r\n return reject(new Error(\"Metadata query failed for \" + url + \"; Unable to process returned metadata: \" + e.message));\r\n }\r\n\r\n metadataStore.addDataService(dataService);\r\n }\r\n\r\n return resolve(csdlMetadata);\r\n\r\n }, function (error: any) {\r\n let err = createError(error, url);\r\n err.message = \"Metadata query failed for: \" + url + \"; \" + (err.message || \"\");\r\n return reject(err);\r\n },\r\n OData.metadataHandler\r\n );\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n\r\n\r\n executeQuery(mappingContext: breeze.MappingContext) {\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = mappingContext.getUrl();\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(mappingContext.dataService, mappingContext.getUrl());\r\n } else {\r\n url = this.getAbsoluteUrl(mappingContext.dataService, mappingContext.getUrl());\r\n }\r\n\r\n // Add query params if .withParameters was used\r\n let query = mappingContext.query as breeze.EntityQuery;\r\n if (!core.isEmpty(query.parameters)) {\r\n let paramString = toQueryString(query.parameters);\r\n url = appendQueryStringParameter(url, paramString);\r\n }\r\n\r\n let promise = new Promise<breeze.QueryResult>((resolve, reject) => {\r\n OData.read({\r\n requestUri: url,\r\n headers: core.extend({}, this.headers)\r\n },\r\n function (data: any, response: any) {\r\n let inlineCount: any;\r\n if (data.__count) {\r\n // OData can return data.__count as a string\r\n inlineCount = parseInt(data.__count, 10);\r\n }\r\n // Odata returns different result structure when it returns multiple entities (data.results) vs single entity (data directly).\r\n // @see http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingCollectionsOfEntries\r\n // and http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingEntries\r\n let results: any;\r\n if (data.results) {\r\n results = data.results;\r\n } else {\r\n results = data;\r\n }\r\n return resolve({ results: results, inlineCount: inlineCount, httpResponse: response, query: query });\r\n },\r\n function (error: any) {\r\n return reject(createError(error, url));\r\n }\r\n );\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n saveChanges(odataSaveContext: breeze.SaveContext, saveBundle: breeze.SaveBundle): Promise<breeze.SaveResult> {\r\n let adapter = odataSaveContext.adapter = this;\r\n let saveContext = odataSaveContext as ODataSaveContext;\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n saveContext.routePrefix = adapter.getRoutePrefix(saveContext.dataService);\r\n url = saveContext.dataService.qualifyUrl(\"$batch\");\r\n } else if (core.isFunction(adapter.relativeUrl)) {\r\n saveContext.routePrefix = (adapter.relativeUrl as Function)(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n } else {\r\n saveContext.routePrefix = adapter.getAbsoluteUrl(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n }\r\n\r\n let requestData = createChangeRequests(saveContext, saveBundle);\r\n let tempKeys = saveContext.tempKeys;\r\n let contentKeys = saveContext.contentKeys;\r\n let promise = new Promise<breeze.SaveResult>((resolve, reject) => {\r\n OData.request({\r\n headers: core.extend({}, this.headers),\r\n requestUri: url,\r\n method: \"POST\",\r\n data: requestData\r\n }, function (data: any, response: any) {\r\n let entities: any[] = [];\r\n let keyMappings: breeze.KeyMapping[] = [];\r\n let saveResult: breeze.SaveResult = { entities: entities, keyMappings: keyMappings };\r\n data.__batchResponses.forEach(function (br: any) {\r\n br.__changeResponses.forEach(function (cr: any) {\r\n let response = cr.response || cr;\r\n let statusCode = response.statusCode;\r\n if ((!statusCode) || statusCode >= 400) {\r\n reject(createError(cr, url));\r\n return;\r\n }\r\n\r\n let contentId = cr.headers[\"Content-ID\"];\r\n // Olingo sends different case of 'ID' for the header name.\r\n if (!contentId) {\r\n contentId = cr.headers[\"Content-Id\"];\r\n }\r\n\r\n let rawEntity = cr.data;\r\n if (rawEntity) {\r\n let tempKey = tempKeys[contentId];\r\n if (tempKey) {\r\n let entityType = tempKey.entityType;\r\n if (entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {\r\n let tempValue = tempKey.values[0];\r\n let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, breeze.DataProperty.getRawValueFromServer);\r\n let keyMapping = { entityTypeName: entityType.name, tempValue: tempValue, realValue: realKey.values[0] };\r\n keyMappings.push(keyMapping);\r\n }\r\n }\r\n entities.push(rawEntity);\r\n } else {\r\n let origEntity = contentKeys[contentId];\r\n entities.push(origEntity);\r\n }\r\n });\r\n });\r\n return resolve(saveResult);\r\n }, function (err: any) {\r\n return reject(createError(err, url));\r\n }, OData.batchHandler);\r\n });\r\n return promise;\r\n\r\n }\r\n\r\n jsonResultsAdapter: breeze.JsonResultsAdapter = new breeze.JsonResultsAdapter({\r\n name: \"OData_default\",\r\n\r\n visitNode: function (node: any, mappingContext: breeze.MappingContext, nodeContext: breeze.NodeContext) {\r\n let result: any = {};\r\n if (node == null) return result;\r\n let metadata = node.__metadata;\r\n if (metadata != null) {\r\n // TODO: may be able to make this more efficient by caching of the previous value.\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(metadata.type);\r\n let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);\r\n // OData response doesn't distinguish a projection from a whole entity.\r\n // We'll assume that whole-entity data would have at least as many properties (<=)\r\n // as the EntityType has mapped properties on the basis that\r\n // most projections remove properties rather than add them.\r\n // If not, assume it's a projection and do NOT treat as an entity\r\n if (et && et._mappedPropertiesCount <= Object.keys(node).length - 1) {\r\n // if (et && et._mappedPropertiesCount === Object.keys(node).length - 1) { // OLD\r\n result.entityType = et;\r\n let uriKey = metadata.uri || metadata.id;\r\n if (uriKey) {\r\n // Strip baseUri to make uriKey a relative uri\r\n // Todo: why is this necessary when absolute works for every OData source tested?\r\n let re = new RegExp('^' + mappingContext.dataService.serviceName, 'i');\r\n uriKey = uriKey.replace(re, '');\r\n }\r\n result.extraMetadata = {\r\n uriKey: uriKey,\r\n etag: metadata.etag\r\n };\r\n }\r\n }\r\n // OData v3 - projection arrays will be enclosed in a results array\r\n if (node.results) {\r\n result.node = node.results;\r\n }\r\n\r\n let propertyName = nodeContext.propertyName;\r\n result.ignore = node.__deferred != null || propertyName === \"__metadata\" ||\r\n // EntityKey properties can be produced by EDMX models\r\n (propertyName === \"EntityKey\" && node.$type && core.stringStartsWith(node.$type, \"System.Data\"));\r\n return result;\r\n }\r\n\r\n });\r\n\r\n getAbsoluteUrl(dataService: breeze.DataService, url: string) {\r\n let serviceName = dataService.qualifyUrl('');\r\n // only prefix with serviceName if not already on the url\r\n let base = (core.stringStartsWith(url, serviceName)) ? '' : serviceName;\r\n // If no protocol, turn base into an absolute URI\r\n if (window && serviceName.indexOf('//') < 0) {\r\n // no protocol; make it absolute\r\n base = window.location.protocol + '//' + window.location.host +\r\n (core.stringStartsWith(serviceName, '/') ? '' : '/') +\r\n base;\r\n }\r\n return base + url;\r\n }\r\n\r\n getRoutePrefix(dataService: breeze.DataService) {\r\n // Get the routePrefix from a Web API OData service name.\r\n // The routePrefix is presumed to be the pathname within the dataService.serviceName\r\n // Examples of servicename -> routePrefix:\r\n // 'http://localhost:55802/odata/' -> 'odata/'\r\n // 'http://198.154.121.75/service/odata/' -> 'service/odata/'\r\n let parser: any;\r\n if (typeof document === 'object') { // browser\r\n parser = document.createElement('a');\r\n parser.href = dataService.serviceName;\r\n } else { // node\r\n // TODO: how to best handle this\r\n // assumes existence of node's url.parse method.\r\n parser = url.parse(dataService.serviceName);\r\n }\r\n let prefix = parser.pathname;\r\n if (prefix[0] === '/') {\r\n prefix = prefix.substr(1);\r\n } // drop leading '/' (all but IE)\r\n if (prefix.substr(-1) !== '/') {\r\n prefix += '/';\r\n } // ensure trailing '/'\r\n return prefix;\r\n }\r\n\r\n}\r\n\r\n// crude serializer. Doesn't recurse\r\nfunction toQueryString(obj: Object) {\r\n let parts: string[] = [];\r\n for (let i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n parts.push(encodeURIComponent(i) + \"=\" + encodeURIComponent(obj[i]));\r\n }\r\n }\r\n return parts.join(\"&\");\r\n}\r\n\r\n/** Transform data properties while unwrapping entities */\r\nfunction transformValue(prop: breeze.DataProperty, val: any) {\r\n if (prop.isUnmapped) return undefined;\r\n if (prop.dataType === breeze.DataType.DateTimeOffset) {\r\n // The datajs lib tries to treat client dateTimes that are defined as DateTimeOffset on the server differently\r\n // from other dateTimes. This fix compensates before the save.\r\n val = val && new Date(val.getTime() - (val.getTimezoneOffset() * 60000));\r\n } else if (prop.dataType === breeze.DataType.DateOnly) {\r\n val = breeze.DataType.toDateOnlyString(val);\r\n } else if ((prop.dataType as breeze.DataType).quoteJsonOData) {\r\n val = val != null ? val.toString() : val;\r\n }\r\n return val;\r\n}\r\n\r\nfunction createChangeRequests(saveContext: ODataSaveContext, saveBundle: breeze.SaveBundle) {\r\n let changeRequestInterceptor = (saveContext.adapter as DataServiceODataAdapter)._createChangeRequestInterceptor(saveContext, saveBundle);\r\n let changeRequests: any[] = [];\r\n let tempKeys: breeze.EntityKey[] = [];\r\n let contentKeys: breeze.Entity[] = [];\r\n let entityManager = saveContext.entityManager;\r\n let helper = entityManager.helper;\r\n let id = 0;\r\n let routePrefix = saveContext.routePrefix;\r\n\r\n saveBundle.entities.forEach(function (entity, index) {\r\n let aspect = entity.entityAspect;\r\n id = id + 1; // we are deliberately skipping id=0 because Content-ID = 0 seems to be ignored.\r\n let request = { headers: { \"Content-ID\": id, \"DataServiceVersion\": \"2.0\" } } as any;\r\n contentKeys[id] = entity;\r\n if (aspect.entityState.isAdded()) {\r\n request.requestUri = routePrefix + entity.entityType.defaultResourceName;\r\n request.method = \"POST\";\r\n request.data = helper.unwrapInstance(entity, transformValue);\r\n tempKeys[id] = aspect.getKey();\r\n } else if (aspect.entityState.isModified()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"MERGE\";\r\n request.data = helper.unwrapChangedValues(entity, entityManager.metadataStore, transformValue);\r\n // should be a PATCH/MERGE\r\n } else if (aspect.entityState.isDeleted()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"DELETE\";\r\n } else {\r\n return;\r\n }\r\n request = changeRequestInterceptor.getRequest(request, entity, index);\r\n changeRequests.push(request);\r\n });\r\n saveContext.contentKeys = contentKeys;\r\n saveContext.tempKeys = tempKeys;\r\n changeRequestInterceptor.done(changeRequests);\r\n return {\r\n __batchRequests: [\r\n {\r\n __changeRequests: changeRequests\r\n }\r\n ]\r\n };\r\n\r\n}\r\n\r\nfunction updateDeleteMergeRequest(request: any, aspect: breeze.EntityAspect, routePrefix: string) {\r\n let uriKey: string;\r\n let extraMetadata = aspect.extraMetadata;\r\n if (extraMetadata == null) {\r\n uriKey = getUriKey(aspect);\r\n aspect.extraMetadata = {\r\n uriKey: uriKey\r\n };\r\n } else {\r\n uriKey = extraMetadata.uriKey;\r\n if (extraMetadata.etag) {\r\n request.headers[\"If-Match\"] = extraMetadata.etag;\r\n }\r\n }\r\n request.requestUri =\r\n // use routePrefix if uriKey lacks protocol (i.e., relative uri)\r\n uriKey.indexOf('//') > 0 ? uriKey : routePrefix + uriKey;\r\n}\r\n\r\nfunction getUriKey(aspect: breeze.EntityAspect) {\r\n let entityType = aspect.entity!.entityType;\r\n let resourceName = entityType.defaultResourceName;\r\n let kps = entityType.keyProperties;\r\n let uriKey = resourceName + \"(\";\r\n if (kps.length === 1) {\r\n uriKey = uriKey + fmtProperty(kps[0], aspect) + \")\";\r\n } else {\r\n let delim = \"\";\r\n kps.forEach(function (kp) {\r\n uriKey = uriKey + delim + kp.nameOnServer + \"=\" + fmtProperty(kp, aspect);\r\n delim = \",\";\r\n });\r\n uriKey = uriKey + \")\";\r\n }\r\n return uriKey;\r\n}\r\n\r\nfunction fmtProperty(prop: breeze.DataProperty, aspect: breeze.EntityAspect) {\r\n return (prop.dataType as breeze.DataType).fmtOData!(aspect.getPropertyValue(prop.name));\r\n}\r\n\r\nfunction createError(error: any, url: string) {\r\n // OData errors can have the message buried very deeply - and nonobviously\r\n // this code is tricky so be careful changing the response.body parsing.\r\n let result = new Error() as breeze.ServerError;\r\n let response = error && error.response;\r\n if (!response) {\r\n // in case DataJS returns \"No handler for this data\"\r\n result.message = error;\r\n result.statusText = error;\r\n return result;\r\n }\r\n result.message = response.statusText;\r\n result.statusText = response.statusText;\r\n result.status = response.statusCode;\r\n // non std\r\n if (url) result.url = url;\r\n result.body = response.body;\r\n if (response.body) {\r\n let nextErr: any;\r\n try {\r\n let body = JSON.parse(response.body);\r\n result.body = body;\r\n // OData v3 logic\r\n if (body['odata.error']) {\r\n body = body['odata.error'];\r\n }\r\n let msg = \"\";\r\n do {\r\n nextErr = body.error || body.innererror;\r\n if (!nextErr) msg = msg + getMessage(body);\r\n nextErr = nextErr || body.internalexception;\r\n body = nextErr || body;\r\n } while (nextErr);\r\n if (msg.length > 0) {\r\n result.message = msg;\r\n }\r\n } catch (e) {\r\n\r\n }\r\n }\r\n breeze.AbstractDataServiceAdapter._catchNoConnectionError(result);\r\n return result;\r\n}\r\n\r\nfunction getMessage(body: any) {\r\n let msg = body.message || \"\";\r\n return ((typeof (msg) === \"string\") ? msg : msg.value) + \"; \";\r\n}\r\n\r\nbreeze.config.registerAdapter(\"dataService\", DataServiceODataAdapter);\r\n\r\n\r\nlet webApiODataCtor = function () {\r\n this.name = \"webApiOData\";\r\n};\r\n\r\nbreeze.core.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);\r\n\r\nbreeze.config.registerAdapter(\"dataService\", webApiODataCtor as any);\r\n// OData 4 adapter\r\nlet webApiOData4Ctor = function () {\r\n this.name = \"webApiOData4\";\r\n};\r\nbreeze.core.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);\r\nwebApiOData4Ctor.prototype.initialize = function () {\r\n // Aargh... they moved the cheese.\r\n let datajs = core.requireLib(\"datajs\", \"Needed to support remote OData v4 services\");\r\n OData = datajs.V4.oData;\r\n OData.json.jsonHandler.recognizeDates = true;\r\n};\r\nwebApiOData4Ctor.prototype.headers = { \"OData-Version\": \"4.0\" };\r\nbreeze.config.registerAdapter(\"dataService\", webApiOData4Ctor as any);\r\n\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-data-service-odata';\n"],"names":["breeze.core","breeze.AbstractDataServiceAdapter","breeze.JsonResultsAdapter","breeze.MetadataStore","config","breeze.config","breeze.AutoGeneratedKeyType","breeze.DataProperty","breeze.DataType"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-data-service-webapi.js","sources":["ng://breeze-client/adapter-data-service-webapi/adapter-data-service-webapi.ts","ng://breeze-client/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n// import { JsonResultsAdapter, KeyMapping } from './breeze';\r\n\r\n/** @hidden */\r\nexport class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {\r\n\r\n constructor() {\r\n super();\r\n this.name = \"webApi\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"dataService\", DataServiceWebApiAdapter);\r\n return config.initializeAdapterInstance(\"dataService\", \"webApi\", true) as DataServiceWebApiAdapter;\r\n }\r\n\r\n /** @hidden @internal */\r\n _prepareSaveBundle(saveContext: breeze.SaveContext, saveBundle: breeze.SaveBundle) {\r\n let changeRequestInterceptor = this._createChangeRequestInterceptor(saveContext, saveBundle);\r\n let em = saveContext.entityManager;\r\n let metadataStore = em.metadataStore;\r\n let helper = em.helper;\r\n let serSaveBundle: any = {};\r\n serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {\r\n let rawEntity = helper.unwrapInstance(e, transformValue);\r\n\r\n let autoGeneratedKey: Object | undefined;\r\n if (e.entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {\r\n autoGeneratedKey = {\r\n propertyName: e.entityType.keyProperties[0].nameOnServer,\r\n autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name\r\n };\r\n }\r\n\r\n let originalValuesOnServer = helper.unwrapOriginalValues(e, metadataStore);\r\n rawEntity.entityAspect = {\r\n entityTypeName: e.entityType.name,\r\n defaultResourceName: e.entityType.defaultResourceName,\r\n entityState: e.entityAspect.entityState.name,\r\n originalValuesMap: originalValuesOnServer,\r\n autoGeneratedKey: autoGeneratedKey\r\n };\r\n rawEntity = changeRequestInterceptor.getRequest(rawEntity, e, ix);\r\n return rawEntity;\r\n });\r\n\r\n serSaveBundle.saveOptions = { tag: saveBundle.saveOptions.tag };\r\n changeRequestInterceptor.done(serSaveBundle.entities);\r\n return serSaveBundle;\r\n }\r\n\r\n /** @hidden @internal */\r\n _prepareSaveResult(saveContext: breeze.SaveContext, data: any) {\r\n // use the jsonResultAdapter to extractResults and extractKeyMappings\r\n let jra = saveContext.dataService.jsonResultsAdapter || this.jsonResultsAdapter;\r\n let entities = jra.extractSaveResults(data) || [];\r\n let keyMappings: breeze.KeyMapping[] = jra.extractKeyMappings(data) || [];\r\n let deletedKeys = jra.extractDeletedKeys ? (jra.extractDeletedKeys(data)) || [] : [];\r\n\r\n if (keyMappings.length) {\r\n // HACK: need to change the 'case' of properties in the saveResult\r\n // but KeyMapping properties internally are still ucase. ugh...\r\n keyMappings = keyMappings.map(function (km) {\r\n if (km.entityTypeName) return km; // it's already lower case\r\n let kmHack = km as any;\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);\r\n return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };\r\n });\r\n }\r\n\r\n if (deletedKeys.length) {\r\n deletedKeys = deletedKeys.map(function (dk) {\r\n if (dk.entityTypeName) return dk; // it's already lower case\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(dk.EntityTypeName);\r\n // NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey\r\n return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };\r\n });\r\n }\r\n\r\n return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };\r\n\r\n }\r\n\r\n jsonResultsAdapter: breeze.JsonResultsAdapter = new breeze.JsonResultsAdapter({\r\n\r\n name: \"webApi_default\",\r\n\r\n visitNode: function (node: any, mappingContext: breeze.MappingContext, nodeContext: breeze.NodeContext) {\r\n if (node == null) return {};\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);\r\n let entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);\r\n let propertyName = nodeContext.propertyName;\r\n let ignore = propertyName && propertyName.substr(0, 1) === \"$\";\r\n\r\n return {\r\n entityType: entityType,\r\n nodeId: node.$id,\r\n nodeRefId: node.$ref,\r\n ignore: ignore\r\n } as any;\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\n/** Transform data properties while unwrapping entities before save */\r\nfunction transformValue(prop: breeze.DataProperty, val: any) {\r\n if (prop.dataType === breeze.DataType.DateOnly) {\r\n val = breeze.DataType.toDateOnlyString(val);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nbreeze.config.registerAdapter(\"dataService\", DataServiceWebApiAdapter);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-data-service-webapi';\n"],"names":["breeze.AbstractDataServiceAdapter","breeze.JsonResultsAdapter","breeze.MetadataStore","config","breeze.config","breeze.AutoGeneratedKeyType","breeze.DataType"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-model-library-backing-store.js","sources":["ng://breeze-client/adapter-model-library-backing-store/adapter-model-library-backing-store.ts","ng://breeze-client/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nexport class ModelLibraryBackingStoreAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"backingStore\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryBackingStoreAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"backingStore\", true) as ModelLibraryBackingStoreAdapter;\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n getTrackablePropertyNames(entity: breeze.Entity) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityAspect\" || p === \"entityType\") continue;\r\n if (p === \"_$typeName\" || p === \"_pendingSets\" || p === \"_backingStore\") continue;\r\n let val = entity[p];\r\n if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n // This method is called during Metadata initialization\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 //if (!this._backingStore.hasOwnProperty(propertyName)) {\r\n // throw new Error(\"Unknown property name:\" + propertyName);\r\n //}\r\n this[propertyName] = value;\r\n // allow setProperty chaining.\r\n return this;\r\n };\r\n\r\n movePropDefsToProto(proto);\r\n }\r\n\r\n // This method is called when an EntityAspect is first created - this will occur as part of the entityType.createEntity call.\r\n // which can be called either directly or via standard query materialization\r\n\r\n // entity is either an entity or a complexObject\r\n startTracking(entity: breeze.StructuralObject, proto: any) {\r\n // can't touch the normal property sets within this method - access the backingStore directly instead.\r\n let bs = movePropsToBackingStore(entity);\r\n\r\n // assign default values to the entity\r\n let stype = breeze.EntityAspect.isEntity(entity) ? entity.entityType : entity.complexType;\r\n stype.getProperties().forEach(function (prop) {\r\n\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\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.isNavigationProperty) {\r\n if (val !== undefined && val !== null) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullstob later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity as breeze.Entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + propName);\r\n }\r\n // can't touch the normal property sets within this method (IE9 Bug) - so we access the backingStore directly instead.\r\n // otherwise we could just do\r\n // entity[propName] = val\r\n // after all of the interception logic had been injected.\r\n if ((prop as breeze.DataProperty).isSettable || prop.isNavigationProperty) {\r\n bs[propName] = val;\r\n }\r\n });\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryBackingStoreAdapter);\r\n\r\n// private methods\r\n\r\n// This method is called during Metadata initialization to correctly \"wrap\" properties.\r\nfunction movePropDefsToProto(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let extra = stype._extra;\r\n\r\n let alreadyWrapped = extra.alreadyWrappedProps || {};\r\n\r\n stype.getProperties().forEach(function (prop) {\r\n let propName = prop.name;\r\n // we only want to wrap props that haven't already been wrapped\r\n if (alreadyWrapped[propName]) return;\r\n\r\n // If property is already defined on the prototype then wrap it in another propertyDescriptor.\r\n // otherwise create a propDescriptor for it.\r\n let descr: any;\r\n if (propName in proto) {\r\n descr = wrapPropDescription(proto, prop);\r\n } else {\r\n descr = makePropDescription(proto, prop);\r\n }\r\n // descr will be null for a wrapped descr that is not configurable\r\n if (descr != null) {\r\n Object.defineProperty(proto, propName, descr);\r\n }\r\n alreadyWrapped[propName] = true;\r\n });\r\n extra.alreadyWrappedProps = alreadyWrapped;\r\n}\r\n\r\n// This method is called when an instance is first created via materialization or createEntity.\r\n// this method cannot be called while a 'defineProperty' accessor is executing\r\n// because of IE bug mentioned above.\r\n\r\nfunction movePropsToBackingStore(instance: any) {\r\n\r\n let bs = getBackingStore(instance);\r\n let proto = Object.getPrototypeOf(instance);\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n stype.getProperties().forEach(function (prop) {\r\n let propName = prop.name;\r\n if (prop.isUnmapped) {\r\n // insure that any unmapped properties that were added after entityType\r\n // was first created are wrapped with a property descriptor.\r\n if (!core.getPropertyDescriptor(proto, propName)) {\r\n let descr = makePropDescription(proto, prop);\r\n Object.defineProperty(proto, propName, descr);\r\n }\r\n }\r\n if (!instance.hasOwnProperty(propName)) return;\r\n // pulls off the value, removes the instance property and then rewrites it via ES5 accessor\r\n let value = instance[propName];\r\n delete instance[propName];\r\n instance[propName] = value;\r\n });\r\n return bs;\r\n}\r\n\r\nfunction makePropDescription(proto: any, property: breeze.EntityProperty) {\r\n let propName = property.name;\r\n let pendingStores = proto._pendingBackingStores;\r\n if (!pendingStores) {\r\n pendingStores = [];\r\n proto._pendingBackingStores = pendingStores;\r\n }\r\n let descr = {\r\n get: function () {\r\n let bs = this._backingStore || getBackingStore(this);\r\n return bs[propName];\r\n },\r\n set: function (value: any) {\r\n // IE9 cannot touch instance._backingStore here\r\n let bs = this._backingStore || getPendingBackingStore(this);\r\n let accessorFn = getAccessorFn(bs, propName);\r\n this._$interceptor(property, value, accessorFn);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n };\r\n\r\n (descr.set as any).rawSet = function (value: any) {\r\n let bs = this._backingStore || getPendingBackingStore(this);\r\n let accessorFn = getAccessorFn(bs, propName);\r\n accessorFn(value);\r\n };\r\n return descr;\r\n\r\n}\r\n\r\nfunction getAccessorFn(bs: {}, propName: string): any {\r\n return function () {\r\n if (arguments.length === 0) {\r\n return bs[propName];\r\n } else {\r\n bs[propName] = arguments[0];\r\n return undefined;\r\n }\r\n };\r\n}\r\n\r\nfunction wrapPropDescription(proto: any, property: breeze.EntityProperty): any {\r\n if (!proto.hasOwnProperty(property.name)) {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return wrapPropDescription(nextProto, property);\r\n }\r\n\r\n let propDescr = Object.getOwnPropertyDescriptor(proto, property.name);\r\n if (!propDescr) return undefined;\r\n // if not configurable; we can't touch it - so leave.\r\n if (!propDescr.configurable) return undefined;\r\n // if a data descriptor - don't change it - this is basically a static property - i.e. defined on every instance of the type with the same value.\r\n if (propDescr.value) return undefined;\r\n // if a read only property descriptor - no need to change it.\r\n if (!propDescr.set) return undefined;\r\n\r\n let localAccessorFn = function (entity: any) {\r\n return function () {\r\n if (!propDescr) return undefined;\r\n if (arguments.length === 0) {\r\n return propDescr.get!.bind(entity)();\r\n } else {\r\n let set = propDescr.set;\r\n let rawSet = (set as any).rawSet || set;\r\n rawSet.bind(entity)(arguments[0]);\r\n return undefined;\r\n }\r\n };\r\n };\r\n\r\n let newDescr = {\r\n get: function () {\r\n if (!propDescr) return undefined;\r\n return propDescr.get!.bind(this)();\r\n },\r\n set: function (value: any) {\r\n this._$interceptor(property, value, localAccessorFn(this));\r\n },\r\n enumerable: propDescr.enumerable,\r\n configurable: true\r\n };\r\n (newDescr.set as any).rawSet = propDescr.set;\r\n return newDescr;\r\n}\r\n\r\n\r\nfunction getBackingStore(instance: any) {\r\n let proto = Object.getPrototypeOf(instance);\r\n processPendingStores(proto);\r\n let bs = instance._backingStore;\r\n if (!bs) {\r\n bs = {};\r\n instance._backingStore = bs;\r\n }\r\n return bs;\r\n}\r\n\r\n// workaround for IE9 bug where instance properties cannot be changed when executing a property 'set' method.\r\nfunction getPendingBackingStore(instance: any) {\r\n let proto = Object.getPrototypeOf(instance);\r\n let pendingStores = proto._pendingBackingStores;\r\n let pending = core.arrayFirst(pendingStores, function (pending) {\r\n return pending.entity === instance;\r\n });\r\n if (pending) return (pending as any).backingStore;\r\n let bs = {};\r\n pendingStores.push({ entity: instance, backingStore: bs });\r\n return bs;\r\n}\r\n\r\nfunction processPendingStores(proto: any) {\r\n let pendingStores = proto._pendingBackingStores;\r\n if (pendingStores) {\r\n pendingStores.forEach(function (pending: any) {\r\n pending.entity._backingStore = pending.backingStore;\r\n });\r\n pendingStores.length = 0;\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-model-library-backing-store';\n"],"names":["breeze.core","config","breeze.config","breeze.EntityAspect","breeze.DataProperty","breeze.makeComplexArray","breeze.makePrimitiveArray","breeze.makeRelationArray"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-model-library-ko.js","sources":["ng://breeze-client/adapter-model-library-ko/adapter-model-library-ko.ts","ng://breeze-client/adapter-model-library-ko/breeze-client-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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-model-library-ko';\n"],"names":["breeze.core","config","breeze.config","breeze.DataProperty","breeze.makeComplexArray","breeze.makePrimitiveArray","breeze.NavigationProperty","breeze.makeRelationArray"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-uri-builder-json.js","sources":["ng://breeze-client/adapter-uri-builder-json/adapter-core.ts","ng://breeze-client/adapter-uri-builder-json/adapter-uri-builder-json.ts","ng://breeze-client/adapter-uri-builder-json/breeze-client-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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-uri-builder-json';\n"],"names":["config","breeze.config","breeze.EntityType"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-adapter-uri-builder-odata.js","sources":["ng://breeze-client/adapter-uri-builder-odata/adapter-core.ts","ng://breeze-client/adapter-uri-builder-odata/adapter-uri-builder-odata.ts","ng://breeze-client/adapter-uri-builder-odata/breeze-client-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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-uri-builder-odata';\n"],"names":["config","breeze.config","breeze.EntityType","breeze.Predicate","breeze.core"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breeze-client-mixin-get-entity-graph.js","sources":["ng://breeze-client/mixin-get-entity-graph/mixin-get-entity-graph.ts","ng://breeze-client/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.ts"],"sourcesContent":["//#region Copyright, Version, and Description\r\n/*\r\n * Copyright 2015-2021 IdeaBlade, Inc. All Rights Reserved.\r\n * Use, reproduction, distribution, and modification of this code is subject to the terms and\r\n * conditions of the IdeaBlade Breeze license, available at http://www.breezejs.com/license\r\n *\r\n * Author: Ward Bell\r\n * Version: 0.9.5 - Steve Schmitt - convert to TypeScript, migrate to breeze-client repo, add HasEntityGraph and mixinEntityGraph\r\n * Version: 0.9.4 - Marcel Good - fix UMD module name\r\n * --------------------------------------------------------------------------------\r\n * Adds getEntityGraph method to Breeze EntityManager prototype.\r\n * Call mixinEntityGraph(EntityManager) to apply the mixin in a tree-shaking-resistant way.\r\n * Then (manager as any).getEntityGraph(entity, \"child\");\r\n *\r\n * Depends on Breeze which it patches\r\n *\r\n * For discussion, see:\r\n * http://www.breezejs.com/documentation/getentitygraph\r\n *\r\n * For example usage, see:\r\n * https://github.com/Breeze/breeze.js.samples/tree/master/net/DocCode/DocCode/tests/getEntityGraphTests.js\r\n */\r\n//#endregion\r\nimport { Entity, EntityManager, EntityQuery, EntityState, EntityType, ExpandClause } from 'breeze-client';\r\n\r\ninterface EntityGroup {\r\n _entities: (Entity | null)[];\r\n _indexMap: { [index: string]: number };\r\n}\r\n\r\n// module augmentation failed to build with ng-packagr, so we have a separate interface\r\nexport interface HasEntityGraph extends EntityManager {\r\n /**\r\n Get related entities of root entity (or root entities) as specified by expand.\r\n @example\r\n var graph = breeze.EntityManager.getEntityGraph(customer, 'Orders.OrderDetails');\r\n // graph will be the customer, all of its orders and their details even if deleted.\r\n @method getEntityGraph\r\n @param roots {Entity|Array of Entity} The root entity or root entities.\r\n @param expand {String|Array of String|Object} an expand string, a query expand clause, or array of string paths\r\n @return {Array of Entity} root entities and their related entities, including deleted entities. Duplicates are removed and entity order is indeterminate.\r\n **/\r\n getEntityGraph(roots: Entity | Array<Entity>, expand: string | Array<string> | ExpandClause): Array<Entity>;\r\n\r\n /**\r\n Execute query locally and return both the query results and their related entities as specified by the optional expand parameter or the query's expand clause.\r\n @example\r\n var query = breeze.EntityQuery.from('Customers')\r\n .where('CompanyName', 'startsWith', 'Alfred')\r\n .expand('Orders.OrderDetails');\r\n var graph = manager.getEntityGraph(query);\r\n // graph will be the 'Alfred' customers, their orders and their details even if deleted.\r\n @method getEntityGraph\r\n @param query {EntityQuery} A query to be executed against the manager's local cache.\r\n @param [expand] {String|Array of String|Object} an expand string, a query expand clause, or array of string paths\r\n @return {Array of Entity} local queried root entities and their related entities, including deleted entities. Duplicates are removed and entity order is indeterminate.\r\n **/\r\n getEntityGraph(query: EntityQuery, expand: string | Array<string> | ExpandClause): Array<Entity>;\r\n\r\n}\r\n\r\nexport function mixinEntityGraph(emclass: { new(): EntityManager }) {\r\n const proto = EntityManager.prototype;\r\n\r\n if (!(proto as any).getEntityGraph) {\r\n (proto as any).getEntityGraph = getEntityGraph;\r\n }\r\n}\r\n\r\nmixinEntityGraph(EntityManager);\r\n\r\n\r\nfunction getEntityGraph(roots: Entity | Array<Entity> | EntityQuery, expand: string | Array<string> | ExpandClause) {\r\n if (roots instanceof EntityQuery) {\r\n let newRoots = this.executeQueryLocally(roots);\r\n return getEntityGraphCore(newRoots, expand || roots.expandClause);\r\n } else {\r\n return getEntityGraphCore(roots, expand);\r\n }\r\n}\r\n\r\nfunction getEntityGraphCore(root: Entity | Array<Entity>, expand: string | Array<string> | ExpandClause) {\r\n let entityGroupMap: { [index: string]: EntityGroup };\r\n let graph = [] as Array<Entity>;\r\n let rootType: EntityType;\r\n let roots = Array.isArray(root) ? root : [root];\r\n addToGraph(roots); // removes dups & nulls\r\n roots = graph.slice(); // copy of de-duped roots\r\n if (roots.length) {\r\n getRootInfo();\r\n getExpand();\r\n buildGraph();\r\n }\r\n return graph;\r\n\r\n function addToGraph(entities: Array<Entity>) {\r\n entities.forEach(function (entity) {\r\n if (entity && graph.indexOf(entity) < 0) {\r\n graph.push(entity);\r\n }\r\n });\r\n }\r\n\r\n function getRootInfo() {\r\n let compatTypes: Array<EntityType>;\r\n\r\n roots.forEach(function (root, ix) {\r\n let aspect;\r\n if (!root || !(aspect = root.entityAspect)) {\r\n throw getRootErr(ix, 'is not an entity');\r\n }\r\n if (aspect.entityState === EntityState.Detached) {\r\n throw getRootErr(ix, 'is a detached entity');\r\n }\r\n\r\n let em = aspect.entityManager;\r\n if (entityGroupMap) {\r\n if (entityGroupMap !== em._entityGroupMap) {\r\n throw getRootErr(ix, \"has a different 'EntityManager' than other roots\");\r\n }\r\n } else {\r\n entityGroupMap = em._entityGroupMap;\r\n }\r\n getRootType(root, ix);\r\n\r\n });\r\n\r\n function getRootErr(ix: number, msg: string) {\r\n return new Error(\"'getEntityGraph' root[\" + ix + \"] \" + msg);\r\n }\r\n\r\n function getRootType(root: Entity, ix: number) {\r\n let thisType = root.entityType;\r\n if (!rootType) {\r\n rootType = thisType;\r\n return;\r\n } else if (rootType === thisType) {\r\n return;\r\n }\r\n // Types differs. Look for closest common base type\r\n // does thisType derive from current rootType?\r\n let baseType = rootType;\r\n do {\r\n compatTypes = compatTypes || baseType.getSelfAndSubtypes();\r\n if (compatTypes.indexOf(thisType) > -1) {\r\n rootType = baseType;\r\n return;\r\n }\r\n baseType = baseType.baseEntityType;\r\n compatTypes = null;\r\n } while (baseType);\r\n\r\n // does current rootType derives from thisType?\r\n baseType = thisType;\r\n do {\r\n compatTypes = baseType.getSelfAndSubtypes();\r\n if (compatTypes.indexOf(rootType) > -1) {\r\n rootType = baseType;\r\n return;\r\n }\r\n baseType = baseType.baseEntityType;\r\n } while (baseType);\r\n\r\n throw getRootErr(ix, \"is not EntityType-compatible with other roots\");\r\n }\r\n }\r\n\r\n function getExpand() {\r\n try {\r\n if (!expand) {\r\n expand = [];\r\n } else if (typeof expand === 'string') {\r\n // tricky because Breeze expandClause not exposed publically\r\n expand = new EntityQuery().expand(expand).expandClause;\r\n }\r\n if (expand instanceof ExpandClause && expand.propertyPaths) { // expand clause\r\n expand = expand.propertyPaths;\r\n } else if (Array.isArray(expand)) {\r\n if (!expand.every(function (elem) { return typeof elem === 'string'; })) {\r\n throw '';\r\n }\r\n } else {\r\n throw '';\r\n }\r\n } catch (_) {\r\n throw new Error(\r\n \"expand must be an expand string, array of string paths, or a query expand clause\");\r\n }\r\n }\r\n\r\n function buildGraph() {\r\n if (expand && expand instanceof Array && expand.length) {\r\n let fns = expand.map(makePathFn);\r\n fns.forEach(function (fn) { fn(roots); });\r\n }\r\n }\r\n\r\n // Make function to get entities along a single expand path\r\n // such as 'Orders.OrderDetails.Product'\r\n function makePathFn(path: string) {\r\n let fns = [] as Array<Function>,\r\n segments = path.split('.'),\r\n type = rootType;\r\n\r\n for (let i = 0, slen = segments.length; i < slen; i++) {\r\n let f = makePathSegmentFn(type, segments[i]);\r\n type = (f as any).navType;\r\n fns.push(f);\r\n }\r\n\r\n return function pathFn(entities: Array<Entity>) {\r\n for (let j = 0, flen = fns.length; j < flen; j++) {\r\n let elen = entities.length;\r\n if (elen === 0) { return; } // nothing left to explore\r\n // fn to get related entities for this path segment\r\n let fn = fns[j];\r\n // get entities related by this path segment\r\n let related = [] as Array<Entity>;\r\n for (let k = 0; k < elen; k++) {\r\n related = related.concat(fn(entities[k]));\r\n }\r\n addToGraph(related);\r\n if (j >= flen - 1) { return; } // no more path segments\r\n\r\n // reset entities to deduped related entities\r\n entities = [];\r\n for (let l = 0, rlen = related.length; l < rlen; l++) {\r\n let r = related[l];\r\n if (entities.indexOf(r) < 0) { entities.push(r); }\r\n }\r\n }\r\n };\r\n }\r\n\r\n // Make function to get entities along a single expand path segment\r\n // such as the 'OrderDetails' in the 'Orders.OrderDetails.Product' path\r\n function makePathSegmentFn(baseType: EntityType, segment: string) {\r\n let baseTypeName: string, fn = undefined, navType;\r\n try {\r\n baseTypeName = baseType.name;\r\n let nav = baseType.getNavigationProperty(segment);\r\n let fkName = nav.foreignKeyNames[0];\r\n if (!nav) {\r\n throw new Error(segment + \" is not a navigation property of \" + baseTypeName);\r\n }\r\n navType = nav.entityType;\r\n // add derived types\r\n let navTypes = navType.getSelfAndSubtypes();\r\n let grps = [] as Array<EntityGroup>; // non-empty groups for these types\r\n navTypes.forEach(function (t) {\r\n let grp = entityGroupMap[t.name];\r\n if (grp && grp._entities.length > 0) {\r\n grps.push(grp);\r\n }\r\n });\r\n let grpCount = grps.length;\r\n if (grpCount === 0) {\r\n // no related entities in cache\r\n fn = function () { return [] as Array<Entity>; };\r\n } else if (fkName) {\r\n fn = function (entity: Entity) {\r\n let val = null;\r\n try {\r\n let keyValue = entity.getProperty(fkName);\r\n for (let i = 0; i < grpCount; i += 1) {\r\n val = grps[i]._entities[grps[i]._indexMap[keyValue]];\r\n if (val) { break; }\r\n }\r\n } catch (e) { rethrow(e); }\r\n return val;\r\n };\r\n } else {\r\n fkName = nav.inverse ?\r\n nav.inverse.foreignKeyNames[0] :\r\n nav.invForeignKeyNames[0];\r\n if (!fkName) { throw new Error(\"No inverse keys\"); }\r\n fn = function (entity: Entity) {\r\n let vals = [] as Array<Entity>;\r\n try {\r\n let keyValue = entity.entityAspect.getKey().values[0];\r\n grps.forEach(function (grp) {\r\n vals = vals.concat(grp._entities.filter(function (en) {\r\n return en && en.getProperty(fkName) === keyValue;\r\n }));\r\n });\r\n } catch (e) { rethrow(e); }\r\n return vals;\r\n };\r\n }\r\n (fn as any).navType = navType;\r\n (fn as any).path = segment;\r\n\r\n } catch (err) { rethrow(err); }\r\n return fn;\r\n\r\n function rethrow(e: Error) {\r\n let typeName = baseTypeName || baseType;\r\n let error = new Error(\"'getEntityGraph' can't expand '\" + segment + \"' for \" + typeName);\r\n (error as any).innerError = e;\r\n throw error;\r\n }\r\n }\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './mixin-get-entity-graph';\n"],"names":[],"mappings":"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"}
|