breeze-client 2.1.2 → 2.1.3-mjs
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/LICENSE +1 -1
- 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/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +130 -0
- package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +49 -0
- package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
- package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +132 -0
- package/esm2020/adapter-ajax-fetch/adapter-core.mjs +49 -0
- package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
- package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +137 -0
- package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +49 -0
- package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
- package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +103 -0
- package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
- package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
- package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
- package/esm2020/adapter-data-service-odata/adapter-core.mjs +49 -0
- package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +456 -0
- package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
- package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +93 -0
- package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
- package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +268 -0
- package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
- package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +240 -0
- package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
- package/esm2020/adapter-uri-builder-json/adapter-core.mjs +49 -0
- package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +36 -0
- package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
- package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +49 -0
- package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +190 -0
- package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
- package/esm2020/breeze-client.mjs +5 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
- package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
- package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
- package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +400 -0
- package/esm2020/src/abstract-data-service-adapter.mjs +296 -0
- package/esm2020/src/array.mjs +4 -0
- package/esm2020/src/assert-param.mjs +312 -0
- package/esm2020/src/breeze.mjs +85 -0
- package/esm2020/src/complex-array.mjs +117 -0
- package/esm2020/src/config.mjs +223 -0
- package/esm2020/src/core.mjs +707 -0
- package/esm2020/src/csdl-metadata-parser.mjs +385 -0
- package/esm2020/src/data-service.mjs +203 -0
- package/esm2020/src/data-type.mjs +444 -0
- package/esm2020/src/default-property-interceptor.mjs +460 -0
- package/esm2020/src/entity-action.mjs +45 -0
- package/esm2020/src/entity-aspect.mjs +806 -0
- package/esm2020/src/entity-group.mjs +187 -0
- package/esm2020/src/entity-key.mjs +116 -0
- package/esm2020/src/entity-manager.mjs +2094 -0
- package/esm2020/src/entity-metadata.mjs +2109 -0
- package/esm2020/src/entity-query.mjs +996 -0
- package/esm2020/src/entity-state.mjs +99 -0
- package/esm2020/src/enum.mjs +141 -0
- package/esm2020/src/event.mjs +256 -0
- package/esm2020/src/interface-registry.mjs +41 -0
- package/esm2020/src/key-generator.mjs +108 -0
- package/esm2020/src/local-query-comparison-options.mjs +65 -0
- package/esm2020/src/mapping-context.mjs +405 -0
- package/esm2020/src/naming-convention.mjs +88 -0
- package/esm2020/src/observable-array.mjs +183 -0
- package/esm2020/src/predicate.mjs +1232 -0
- package/esm2020/src/primitive-array.mjs +85 -0
- package/esm2020/src/query-options.mjs +152 -0
- package/esm2020/src/relation-array.mjs +173 -0
- package/esm2020/src/save-options.mjs +41 -0
- package/esm2020/src/unattached-children-map.mjs +58 -0
- package/esm2020/src/validate.mjs +988 -0
- package/esm2020/src/validation-options.mjs +64 -0
- package/fesm2015/{breeze-client-adapter-ajax-angularjs.js → breeze-client-adapter-ajax-angularjs.mjs} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-fetch.js → breeze-client-adapter-ajax-fetch.mjs} +5 -3
- package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-httpclient.js → breeze-client-adapter-ajax-httpclient.mjs} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-jquery.js → breeze-client-adapter-ajax-jquery.mjs} +2 -2
- package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-post.js → breeze-client-adapter-ajax-post.mjs} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-data-service-odata.js → breeze-client-adapter-data-service-odata.mjs} +20 -22
- package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-data-service-webapi.js → breeze-client-adapter-data-service-webapi.mjs} +13 -13
- package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-model-library-backing-store.js → breeze-client-adapter-model-library-backing-store.mjs} +13 -13
- package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-model-library-ko.js → breeze-client-adapter-model-library-ko.mjs} +13 -13
- package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-uri-builder-json.js → breeze-client-adapter-uri-builder-json.mjs} +8 -8
- package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-uri-builder-odata.js → breeze-client-adapter-uri-builder-odata.mjs} +85 -86
- package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
- package/fesm2015/{breeze-client-mixin-get-entity-graph.js → breeze-client-mixin-get-entity-graph.mjs} +1 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
- package/fesm2015/{breeze-client-mixin-save-queuing.js → breeze-client-mixin-save-queuing.mjs} +1 -1
- package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +1 -0
- package/fesm2015/{breeze-client.js → breeze-client.mjs} +417 -422
- package/fesm2015/breeze-client.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-angularjs.js → fesm2020/breeze-client-adapter-ajax-angularjs.mjs} +41 -42
- package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-fetch.js → fesm2020/breeze-client-adapter-ajax-fetch.mjs} +44 -43
- package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-httpclient.js → fesm2020/breeze-client-adapter-ajax-httpclient.mjs} +43 -44
- package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-jquery.js → fesm2020/breeze-client-adapter-ajax-jquery.mjs} +18 -19
- package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-post.js → fesm2020/breeze-client-adapter-ajax-post.mjs} +8 -11
- package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-data-service-odata.js → fesm2020/breeze-client-adapter-data-service-odata.mjs} +126 -134
- package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-data-service-webapi.js → fesm2020/breeze-client-adapter-data-service-webapi.mjs} +38 -42
- package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-model-library-backing-store.js → fesm2020/breeze-client-adapter-model-library-backing-store.mjs} +63 -64
- package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-model-library-ko.js → fesm2020/breeze-client-adapter-model-library-ko.mjs} +57 -58
- package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +1 -0
- package/fesm2020/breeze-client-adapter-uri-builder-json.mjs +91 -0
- package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
- package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs +245 -0
- package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
- package/{fesm5/breeze-client-mixin-get-entity-graph.js → fesm2020/breeze-client-mixin-get-entity-graph.mjs} +45 -45
- package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
- package/{fesm5/breeze-client-mixin-save-queuing.js → fesm2020/breeze-client-mixin-save-queuing.mjs} +116 -126
- package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +1 -0
- package/{fesm5/breeze-client.js → fesm2020/breeze-client.mjs} +3403 -3615
- package/fesm2020/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 +126 -12
- package/src/entity-metadata.d.ts +6 -4
- 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 -17
- 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 -743
- 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 -326
- 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 -14094
- 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 -459
- 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 -93
- 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/public_api.js +0 -2
- package/esm2015/src/abstract-data-service-adapter.js +0 -296
- 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 -706
- package/esm2015/src/csdl-metadata-parser.js +0 -385
- package/esm2015/src/data-service.js +0 -203
- package/esm2015/src/data-type.js +0 -444
- package/esm2015/src/default-property-interceptor.js +0 -459
- package/esm2015/src/entity-action.js +0 -45
- package/esm2015/src/entity-aspect.js +0 -806
- 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 -996
- package/esm2015/src/entity-state.js +0 -99
- 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 -405
- package/esm2015/src/naming-convention.js +0 -88
- package/esm2015/src/observable-array.js +0 -185
- package/esm2015/src/predicate.js +0 -1235
- 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/adapter-data-service-odata.js +0 -466
- 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 -98
- 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/public_api.js +0 -2
- package/esm5/src/abstract-data-service-adapter.js +0 -302
- 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 -714
- package/esm5/src/csdl-metadata-parser.js +0 -385
- package/esm5/src/data-service.js +0 -207
- package/esm5/src/data-type.js +0 -451
- package/esm5/src/default-property-interceptor.js +0 -459
- package/esm5/src/entity-action.js +0 -52
- package/esm5/src/entity-aspect.js +0 -812
- 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 -1023
- package/esm5/src/entity-state.js +0 -106
- 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 -407
- package/esm5/src/naming-convention.js +0 -90
- package/esm5/src/observable-array.js +0 -201
- package/esm5/src/predicate.js +0 -1300
- 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/validate.js +0 -996
- 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.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- 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.map +0 -1
- package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
- 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
- package/public_api.d.ts +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
export class ValidationOptions {
|
|
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
|
+
constructor(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
|
+
using(config) {
|
|
26
|
+
if (!config)
|
|
27
|
+
return this;
|
|
28
|
+
let 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
|
+
setAsDefault() {
|
|
40
|
+
return core.setAsDefault(this, ValidationOptions);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
The default instance for use whenever ValidationOptions are not specified.
|
|
45
|
+
**/
|
|
46
|
+
ValidationOptions.defaultInstance = new ValidationOptions({
|
|
47
|
+
validateOnAttach: true,
|
|
48
|
+
validateOnSave: true,
|
|
49
|
+
validateOnQuery: false,
|
|
50
|
+
validateOnPropertyChange: true
|
|
51
|
+
});
|
|
52
|
+
ValidationOptions.prototype._$typeName = "ValidationOptions";
|
|
53
|
+
function updateWithConfig(options, config) {
|
|
54
|
+
if (config) {
|
|
55
|
+
assertConfig(config)
|
|
56
|
+
.whereParam("validateOnAttach").isBoolean().isOptional()
|
|
57
|
+
.whereParam("validateOnSave").isBoolean().isOptional()
|
|
58
|
+
.whereParam("validateOnQuery").isBoolean().isOptional()
|
|
59
|
+
.whereParam("validateOnPropertyChange").isBoolean().isOptional()
|
|
60
|
+
.applyAll(options);
|
|
61
|
+
}
|
|
62
|
+
return options;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24tb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFHLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCOUM7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLGlCQUFpQjtJQWtCNUI7Ozs7OztPQU1HO0lBQ0gsWUFBWSxNQUFnQztRQUMxQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxNQUErQjtRQUNuQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pCLElBQUksTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O0FBRUQ7O0dBRUc7QUFDSSxpQ0FBZSxHQUFHLElBQUksaUJBQWlCLENBQUM7SUFDN0MsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixjQUFjLEVBQUUsSUFBSTtJQUNwQixlQUFlLEVBQUUsS0FBSztJQUN0Qix3QkFBd0IsRUFBRSxJQUFJO0NBQy9CLENBQUMsQ0FBQztBQUVMLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7QUFFN0QsU0FBUyxnQkFBZ0IsQ0FBQyxPQUEwQixFQUFFLE1BQStCO0lBQ25GLElBQUksTUFBTSxFQUFFO1FBQ1YsWUFBWSxDQUFDLE1BQU0sQ0FBQzthQUNmLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRTthQUN2RCxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUU7YUFDckQsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO2FBQ3RELFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRTthQUMvRCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDeEI7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSAgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3NlcnRDb25maWcgfSBmcm9tICcuL2Fzc2VydC1wYXJhbSc7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tWYWxpZGF0aW9uT3B0aW9uc11dIGNvbnN0cnVjdG9yICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbk9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBXaGV0aGVyIGVudGl0eSBhbmQgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgd2hlbiBlbnRpdGllcyBhcmUgYXR0YWNoZWQgdG8gdGhlIEVudGl0eU1hbmFnZXIgXHJcbiAgb3RoZXIgdGhhbiB2aWEgYSBxdWVyeS4gKGRlZmF1bHQgPSB0cnVlKSAqL1xyXG4gIHZhbGlkYXRlT25BdHRhY2g/OiBib29sZWFuO1xyXG4gIC8qKiAgV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGJlZm9yZSBlbnRpdGllcyBhcmUgc2F2ZWQuIFxyXG4gIEEgZmFpbGVkIHZhbGlkYXRpb24gd2lsbCBmb3JjZSB0aGUgc2F2ZSB0byBmYWlsIGVhcmx5LiAoZGVmYXVsdCA9IHRydWUpICAqL1xyXG4gIHZhbGlkYXRlT25TYXZlPzogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGFmdGVyIGVudGl0aWVzIGFyZSBxdWVyaWVkIGZyb20gYSByZW1vdGUgc2VydmVyLlxyXG4gIChkZWZhdWx0ID0gZmFsc2UpICAqKi9cclxuICB2YWxpZGF0ZU9uUXVlcnk/OiBib29sZWFuO1xyXG4gIC8qKiBXaGV0aGVyIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIGFmdGVyIGVudGl0aWVzIGFyZSBtb2RpZmllZC5cclxuICAoZGVmYXVsdCA9IHRydWUpICAqKi9cclxuICB2YWxpZGF0ZU9uUHJvcGVydHlDaGFuZ2U/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuQSBWYWxpZGF0aW9uT3B0aW9ucyBpbnN0YW5jZSBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2ggdmFsaWRhdGlvbiB3aWxsIGJlIGV4ZWN1dGVkLlxyXG5cclxuKi9cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25PcHRpb25zIGltcGxlbWVudHMgVmFsaWRhdGlvbk9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gb24gcHJvdG9cclxuICAvKiogV2hldGhlciBlbnRpdHkgYW5kIHByb3BlcnR5IGxldmVsIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIHdoZW4gZW50aXRpZXMgYXJlIGF0dGFjaGVkIHRvIHRoZSBFbnRpdHlNYW5hZ2VyIFxyXG4gIG90aGVyIHRoYW4gdmlhIGEgcXVlcnkuIChkZWZhdWx0ID0gdHJ1ZSkgX19SZWFkIE9ubHlfXyAqL1xyXG4gIHZhbGlkYXRlT25BdHRhY2g6IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgZW50aXR5IGFuZCBwcm9wZXJ0eSBsZXZlbCB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciBiZWZvcmUgZW50aXRpZXMgYXJlIHNhdmVkLiBcclxuICBBIGZhaWxlZCB2YWxpZGF0aW9uIHdpbGwgZm9yY2UgdGhlIHNhdmUgdG8gZmFpbCBlYXJseS4gKGRlZmF1bHQgPSB0cnVlKSBfX1JlYWQgT25seV9fICovXHJcbiAgdmFsaWRhdGVPblNhdmU6IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgZW50aXR5IGFuZCBwcm9wZXJ0eSBsZXZlbCB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciBhZnRlciBlbnRpdGllcyBhcmUgcXVlcmllZCBmcm9tIGEgcmVtb3RlIHNlcnZlci5cclxuICAoZGVmYXVsdCA9IGZhbHNlKSBfX1JlYWQgT25seV9fICAqKi9cclxuICB2YWxpZGF0ZU9uUXVlcnk6IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgcHJvcGVydHkgbGV2ZWwgdmFsaWRhdGlvbiBzaG91bGQgb2NjdXIgYWZ0ZXIgZW50aXRpZXMgYXJlIG1vZGlmaWVkLlxyXG4gIChkZWZhdWx0ID0gdHJ1ZSkgX19SZWFkIE9ubHlfXyAqKi9cclxuICB2YWxpZGF0ZU9uUHJvcGVydHlDaGFuZ2U6IGJvb2xlYW47XHJcblxyXG5cclxuXHJcbiAgLyoqIFxyXG4gIFZhbGlkYXRpb25PcHRpb25zIGNvbnN0cnVjdG9yXHJcbiAgPiAgICAgdmFyIG5ld1ZvID0gbmV3IFZhbGlkYXRpb25PcHRpb25zKCB7IHZhbGlkYXRlT25TYXZlOiBmYWxzZSwgdmFsaWRhdGVPbkF0dGFjaDogZmFsc2UgfSk7XHJcbiAgPiAgICAgLy8gYXNzdW1lIGVtMSBpcyBhIHByZWV4aXN0aW5nIEVudGl0eU1hbmFnZXJcclxuICA+ICAgICBlbTEuc2V0UHJvcGVydGllcyggeyB2YWxpZGF0aW9uT3B0aW9uczogbmV3Vm8gfSk7XHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoY29uZmlnPzogVmFsaWRhdGlvbk9wdGlvbnNDb25maWcpIHtcclxuICAgIHVwZGF0ZVdpdGhDb25maWcodGhpcywgY29uZmlnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIGEgY29weSBvZiB0aGlzIFZhbGlkYXRpb25PcHRpb25zIHdpdGggY2hhbmdlcyB0byB0aGUgc3BlY2lmaWVkIGNvbmZpZyBwcm9wZXJ0aWVzLlxyXG4gID4gICAgIHZhciB2YWxpZGF0aW9uT3B0aW9ucyA9IG5ldyBWYWxpZGF0aW9uT3B0aW9ucygpO1xyXG4gID4gICAgIHZhciBuZXdPcHRpb25zID0gdmFsaWRhdGlvbk9wdGlvbnMudXNpbmcoIHsgdmFsaWRhdGVPblF1ZXJ5OiB0cnVlLCB2YWxpZGF0ZU9uU2F2ZTogZmFsc2V9ICk7XHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3RcclxuICBAcmV0dXJuIEEgbmV3IFZhbGlkYXRpb25PcHRpb25zIGluc3RhbmNlLlxyXG4gICoqL1xyXG4gIHVzaW5nKGNvbmZpZzogVmFsaWRhdGlvbk9wdGlvbnNDb25maWcpIHtcclxuICAgIGlmICghY29uZmlnKSByZXR1cm4gdGhpcztcclxuICAgIGxldCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbk9wdGlvbnModGhpcyk7XHJcbiAgICB1cGRhdGVXaXRoQ29uZmlnKHJlc3VsdCwgY29uZmlnKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBTZXRzIHRoZSAnZGVmYXVsdEluc3RhbmNlJyBieSBjcmVhdGluZyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgJ2RlZmF1bHRJbnN0YW5jZScgYW5kIHRoZW4gYXBwbHlpbmcgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlLlxyXG4gIFRoZSBjdXJyZW50IGluc3RhbmNlIGlzIHJldHVybmVkIHVuY2hhbmdlZC5cclxuICA+ICAgICB2YXIgdmFsaWRhdGlvbk9wdGlvbnMgPSBuZXcgVmFsaWRhdGlvbk9wdGlvbnMoKVxyXG4gID4gICAgIHZhciBuZXdPcHRpb25zID0gdmFsaWRhdGlvbk9wdGlvbnMudXNpbmcoIHsgdmFsaWRhdGVPblF1ZXJ5OiB0cnVlLCB2YWxpZGF0ZU9uU2F2ZTogZmFsc2V9ICk7XHJcbiAgPiAgICAgdmFyIG5ld09wdGlvbnMuc2V0QXNEZWZhdWx0KCk7XHJcbiAgKiovXHJcbiAgc2V0QXNEZWZhdWx0KCkge1xyXG4gICAgcmV0dXJuIGNvcmUuc2V0QXNEZWZhdWx0KHRoaXMsIFZhbGlkYXRpb25PcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFRoZSBkZWZhdWx0IGluc3RhbmNlIGZvciB1c2Ugd2hlbmV2ZXIgVmFsaWRhdGlvbk9wdGlvbnMgYXJlIG5vdCBzcGVjaWZpZWQuXHJcbiAgKiovXHJcbiAgc3RhdGljIGRlZmF1bHRJbnN0YW5jZSA9IG5ldyBWYWxpZGF0aW9uT3B0aW9ucyh7XHJcbiAgICB2YWxpZGF0ZU9uQXR0YWNoOiB0cnVlLFxyXG4gICAgdmFsaWRhdGVPblNhdmU6IHRydWUsXHJcbiAgICB2YWxpZGF0ZU9uUXVlcnk6IGZhbHNlLFxyXG4gICAgdmFsaWRhdGVPblByb3BlcnR5Q2hhbmdlOiB0cnVlXHJcbiAgfSk7XHJcbn1cclxuVmFsaWRhdGlvbk9wdGlvbnMucHJvdG90eXBlLl8kdHlwZU5hbWUgPSBcIlZhbGlkYXRpb25PcHRpb25zXCI7XHJcblxyXG5mdW5jdGlvbiB1cGRhdGVXaXRoQ29uZmlnKG9wdGlvbnM6IFZhbGlkYXRpb25PcHRpb25zLCBjb25maWc6IFZhbGlkYXRpb25PcHRpb25zQ29uZmlnKSB7XHJcbiAgaWYgKGNvbmZpZykge1xyXG4gICAgYXNzZXJ0Q29uZmlnKGNvbmZpZylcclxuICAgICAgICAud2hlcmVQYXJhbShcInZhbGlkYXRlT25BdHRhY2hcIikuaXNCb29sZWFuKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ2YWxpZGF0ZU9uU2F2ZVwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcInZhbGlkYXRlT25RdWVyeVwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcInZhbGlkYXRlT25Qcm9wZXJ0eUNoYW5nZVwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAuYXBwbHlBbGwob3B0aW9ucyk7XHJcbiAgfVxyXG4gIHJldHVybiBvcHRpb25zO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-angularjs.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-ajax-angularjs.ts","../../src/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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"}
|
package/fesm2015/{breeze-client-adapter-ajax-fetch.js → breeze-client-adapter-ajax-fetch.mjs}
RENAMED
|
@@ -76,9 +76,11 @@ class AjaxFetchAdapter {
|
|
|
76
76
|
credentials: 'include',
|
|
77
77
|
headers: {
|
|
78
78
|
'Content-Type': config.contentType || 'application/json',
|
|
79
|
+
// ...config.headers
|
|
80
|
+
// 'Content-Type': 'application/x-www-form-urlencoded',
|
|
79
81
|
},
|
|
80
82
|
redirect: 'follow',
|
|
81
|
-
referrer: 'client',
|
|
83
|
+
referrer: 'client', // no-referrer, *client
|
|
82
84
|
};
|
|
83
85
|
if (config.type !== "GET" && config.type !== "HEAD") {
|
|
84
86
|
// body data type must match "Content-Type" header
|
|
@@ -107,7 +109,7 @@ class AjaxFetchAdapter {
|
|
|
107
109
|
config: init,
|
|
108
110
|
dsaConfig: config,
|
|
109
111
|
success: successFn,
|
|
110
|
-
error: errorFn,
|
|
112
|
+
error: errorFn, // adapter's error callback
|
|
111
113
|
};
|
|
112
114
|
if (core.isFunction(this.requestInterceptor)) {
|
|
113
115
|
let ri = this.requestInterceptor;
|
|
@@ -182,4 +184,4 @@ function getHeadersFn(response) {
|
|
|
182
184
|
*/
|
|
183
185
|
|
|
184
186
|
export { AjaxFetchAdapter };
|
|
185
|
-
//# sourceMappingURL=breeze-client-adapter-ajax-fetch.
|
|
187
|
+
//# sourceMappingURL=breeze-client-adapter-ajax-fetch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-fetch.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-ajax-fetch.ts","../../src/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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-httpclient.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-ajax-httpclient.ts","../../src/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":";;;;AAAA;AACgB,SAAA,0BAA0B,CAAC,GAAW,EAAE,SAAiB,EAAA;AACvE,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,GAAG,CAAC;AAE3B,IAAA,IAAI,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvE,IAAA,OAAO,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;AACrC,CAAC;AAED;AACM,SAAU,YAAY,CAAC,GAAO,EAAA;IAClC,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAA,IAAI,QAAa,EAAE,QAAa,EAAE,WAAgB,CAAC;AAEnD,IAAA,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAAE,SAAS;AAAE,SAAA;AAE5C,QAAA,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACrC,gBAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,WAAW,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACnC,QAAQ,GAAG,EAAE,CAAC;AACd,gBAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;AACjC,gBAAA,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;AACvC,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE;AACrC,YAAA,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC;AACzF,SAAA;aAAM,IAAI,KAAK,YAAY,MAAM,EAAE;AAClC,YAAA,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE;AACzB,gBAAA,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5B,oBAAA,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1B,WAAW,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;oBACzC,QAAQ,GAAG,EAAE,CAAC;AACd,oBAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;AACjC,oBAAA,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;AACvC,iBAAA;AACF,aAAA;AACF,SAAA;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE;AACzB,YAAA,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1C,SAAA;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE;AAC9B,YAAA,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC3E,SAAA;AACF,KAAA;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAClE;;MC1Ca,qBAAqB,CAAA;AAMhC,IAAA,WAAA,CAAmB,IAAgB,EAAA;AAAhB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAJnC,QAAA,IAAA,CAAA,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAAC;AACzC,QAAA,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;KAGmB;AAExC,IAAA,OAAO,QAAQ,CAAC,IAAgB,EAAE,YAA2B,EAAA;AAC3D,QAAA,YAAY,GAAG,YAAY,IAAI,MAAM,CAAC;AACtC,QAAA,YAAY,CAAC,eAAe,CAAC,MAAM,EAAO,cAAc,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACnG,QAAA,OAAO,YAAY,CAAC,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAA0B,CAAC;KACzH;AAED,IAAA,UAAU,MAAM;AAEhB,IAAA,IAAI,CAAC,MAAkB,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC1E,SAAA;;QAGD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;AACvC,YAAA,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,MAAM,GAAe,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;;AAE1D,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/D,YAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1D,SAAA;QAED,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,gDAAgD,CAAC,CAAC;AAC/E,SAAA;;;QAID,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,0BAA0B,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE/D,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AAChC,YAAA,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;AAC7E,gBAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAC1B,MAAM,CAAC,WAAW,IAAI,iCAAiC,CAAC,CAAC;AACpE,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,GAAQ,MAAM,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AAE3H,QAAA,IAAI,WAAW,GAAG;AAChB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;AAC5C,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAkB,CAAC,CAAC;AAC5C,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,aAAA;AACF,SAAA;AAED,QAAA,IAAI,WAAW,CAAC,OAAO,EAAE;AACvB,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,QAAwB,KAAK,QAAQ,YAAY,YAAY,CAAC,CAAC;AACvF,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;AAE9B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,iBAAA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;AAC5B,iBAAA,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAA;QAED,SAAS,WAAW,CAAC,KAAqB,EAAA;YACxC,IAAI,QAAQ,GAAG,KAA0B,CAAC;AAC1C,YAAA,IAAI,IAAS,CAAC;AACd,YAAA,IAAI,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAExC,YAAA,IAAI,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE;AACvB,gBAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AACtB,aAAA;AAAM,iBAAA;gBACL,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC3B;QAED,SAAS,SAAS,CAAC,GAA+C,EAAA;AAChE,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;AAC3D,gBAAA,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AAClD,aAAA;AAED,YAAA,IAAI,YAAY,GAAuB;gBACrC,MAAM,EAAE,WAAW,CAAC,OAAO;gBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAChD,gBAAA,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM;aAC5B,CAAC;AACF,YAAA,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;YAC/C,YAAY,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACrD,YAAA,YAAY,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;AACxC,YAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC9B;QAED,SAAS,OAAO,CAAC,QAA2B,EAAA;YAC1C,IAAI,QAAQ,YAAY,KAAK,EAAE;gBAC7B,MAAM,QAAQ,CAAC;AAChB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,IAAS,CAAC;AACd,gBAAA,IAAI,QAAQ,CAAC,KAAK,YAAY,YAAY,EAAE;AAC1C,oBAAA,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5B,iBAAA;AAAM,qBAAA,IAAI,QAAQ,CAAC,KAAK,YAAY,KAAK,EAAE;AAC1C,oBAAA,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;AAC/B,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;AACvB,iBAAA;;gBAGD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE;oBACzC,IAAI,GAAG,SAAS,CAAC;AAClB,iBAAA;gBAED,IAAI,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;AAChE,gBAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,oBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC;AACnD,iBAAA;gBACD,IAAI,CAAC,IAAI,EAAE;AACT,oBAAA,IAAI,GAAG,YAAY,CAAC;AACrB,iBAAA;AACD,gBAAA,IAAI,YAAY,GAAuB;oBACrC,MAAM,EAAE,WAAW,CAAC,OAAO;AAC3B,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5C,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC;AACF,gBAAA,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;AAC/C,gBAAA,YAAY,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;AACjD,gBAAA,YAAY,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;AAEpC,gBAAA,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC5B,aAAA;SACF;KACF;;AA7IM,qBAAW,CAAA,WAAA,GAAG,YAAY,CAAC;AAiJpC;AAEA,SAAS,cAAc,CAAC,OAAoB,EAAA;IAC1C,OAAO,SAAS,UAAU,CAAC,UAAmB,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACtG;;AC3JA;;AAEG;;;;"}
|
package/fesm2015/{breeze-client-adapter-ajax-jquery.js → breeze-client-adapter-ajax-jquery.mjs}
RENAMED
|
@@ -43,7 +43,7 @@ class AjaxJQueryAdapter {
|
|
|
43
43
|
config: jqConfig,
|
|
44
44
|
dsaConfig: config,
|
|
45
45
|
success: successFn,
|
|
46
|
-
error: errorFn,
|
|
46
|
+
error: errorFn, // adapter's error callback
|
|
47
47
|
};
|
|
48
48
|
if (core.isFunction(this.requestInterceptor)) {
|
|
49
49
|
let ri = this.requestInterceptor;
|
|
@@ -107,4 +107,4 @@ function getHeadersFn(jqXHR) {
|
|
|
107
107
|
*/
|
|
108
108
|
|
|
109
109
|
export { AjaxJQueryAdapter };
|
|
110
|
-
//# sourceMappingURL=breeze-client-adapter-ajax-jquery.
|
|
110
|
+
//# sourceMappingURL=breeze-client-adapter-ajax-jquery.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-jquery.mjs","sources":["../../src/adapter-ajax-jquery.ts","../../src/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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-post.mjs","sources":["../../src/adapter-ajax-post.ts","../../src/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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BI;MACS,eAAe,CAAA;IAE1B,OAAO,QAAQ,CAAC,WAA+B,EAAA;QAE7C,IAAK,WAAmB,CAAC,eAAe,EAAE;AACxC,YAAA,OAAO;AACR,SAAA;AAED,QAAA,IAAI,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,WAAW,CAAC,IAAI,GAAG,UAAU,QAAQ,EAAA;gBACnC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAClD,aAAC,CAAC;AACD,YAAA,WAAmB,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7C,SAAA;;QAID,SAAS,eAAe,CAAC,QAAa,EAAA;AACpC,YAAA,IAAI,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC7C,YAAA,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,QAAQ,CAAC;;AAGjC,YAAA,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;AAEpD,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;AAC5B,YAAA,IAAI,IAAI,EAAE;;AAER,gBAAA,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,EAAE;;AAEnC,oBAAA,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,oBAAA,QAAQ,CAAC,WAAW,GAAG,iCAAiC,CAAC;AAEzD,oBAAA,IAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,EAAE;wBAC9B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACtC,qBAAA;AAAM,yBAAA;AACL,wBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACtB,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACtB,iBAAA;;AAED,gBAAA,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;AACxB,aAAA;AAED,YAAA,OAAO,QAAQ,CAAC;SACjB;KACF;AAGF;;ACrFD;;AAEG;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as breeze from 'breeze-client';
|
|
2
2
|
|
|
3
3
|
/** Appends parameter to url, with appropriate delimiter */
|
|
4
4
|
function appendQueryStringParameter(url, parameter) {
|
|
@@ -49,16 +49,16 @@ function encodeParams(obj) {
|
|
|
49
49
|
return query.length ? query.substr(0, query.length - 1) : query;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
let core = core
|
|
52
|
+
let core = breeze.core;
|
|
53
53
|
/** @hidden */
|
|
54
|
-
class DataServiceODataAdapter extends AbstractDataServiceAdapter {
|
|
54
|
+
class DataServiceODataAdapter extends breeze.AbstractDataServiceAdapter {
|
|
55
55
|
constructor() {
|
|
56
56
|
super();
|
|
57
57
|
// _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;
|
|
58
58
|
// changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;
|
|
59
59
|
// _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;
|
|
60
60
|
this.headers = { "DataServiceVersion": "2.0" };
|
|
61
|
-
this.jsonResultsAdapter = new JsonResultsAdapter({
|
|
61
|
+
this.jsonResultsAdapter = new breeze.JsonResultsAdapter({
|
|
62
62
|
name: "OData_default",
|
|
63
63
|
visitNode: function (node, mappingContext, nodeContext) {
|
|
64
64
|
let result = {};
|
|
@@ -67,7 +67,7 @@ class DataServiceODataAdapter extends AbstractDataServiceAdapter {
|
|
|
67
67
|
let metadata = node.__metadata;
|
|
68
68
|
if (metadata != null) {
|
|
69
69
|
// TODO: may be able to make this more efficient by caching of the previous value.
|
|
70
|
-
let entityTypeName = MetadataStore.normalizeTypeName(metadata.type);
|
|
70
|
+
let entityTypeName = breeze.MetadataStore.normalizeTypeName(metadata.type);
|
|
71
71
|
let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
|
|
72
72
|
// OData response doesn't distinguish a projection from a whole entity.
|
|
73
73
|
// We'll assume that whole-entity data would have at least as many properties (<=)
|
|
@@ -103,10 +103,10 @@ class DataServiceODataAdapter extends AbstractDataServiceAdapter {
|
|
|
103
103
|
});
|
|
104
104
|
this.name = "OData";
|
|
105
105
|
}
|
|
106
|
-
static register(config
|
|
107
|
-
config
|
|
108
|
-
config
|
|
109
|
-
return config
|
|
106
|
+
static register(config) {
|
|
107
|
+
config = config || breeze.config;
|
|
108
|
+
config.registerAdapter("dataService", DataServiceODataAdapter);
|
|
109
|
+
return config.initializeAdapterInstance("dataService", "OData", true);
|
|
110
110
|
}
|
|
111
111
|
initialize() {
|
|
112
112
|
OData = core.requireLib("OData", "Needed to support remote OData services");
|
|
@@ -263,9 +263,9 @@ class DataServiceODataAdapter extends AbstractDataServiceAdapter {
|
|
|
263
263
|
let tempKey = tempKeys[contentId];
|
|
264
264
|
if (tempKey) {
|
|
265
265
|
let entityType = tempKey.entityType;
|
|
266
|
-
if (entityType.autoGeneratedKeyType !== AutoGeneratedKeyType.None) {
|
|
266
|
+
if (entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {
|
|
267
267
|
let tempValue = tempKey.values[0];
|
|
268
|
-
let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, DataProperty.getRawValueFromServer);
|
|
268
|
+
let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, breeze.DataProperty.getRawValueFromServer);
|
|
269
269
|
let keyMapping = { entityTypeName: entityType.name, tempValue: tempValue, realValue: realKey.values[0] };
|
|
270
270
|
keyMappings.push(keyMapping);
|
|
271
271
|
}
|
|
@@ -337,7 +337,7 @@ function toQueryString(obj) {
|
|
|
337
337
|
function transformValue(prop, val) {
|
|
338
338
|
if (prop.isUnmapped)
|
|
339
339
|
return undefined;
|
|
340
|
-
if (prop.dataType === DataType.DateTimeOffset) {
|
|
340
|
+
if (prop.dataType === breeze.DataType.DateTimeOffset) {
|
|
341
341
|
// The datajs lib tries to treat client dateTimes that are defined as DateTimeOffset on the server differently
|
|
342
342
|
// from other dateTimes. This fix compensates before the save.
|
|
343
343
|
val = val && new Date(val.getTime() - (val.getTimezoneOffset() * 60000));
|
|
@@ -476,26 +476,24 @@ function createError(error, url) {
|
|
|
476
476
|
catch (e) {
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
|
-
AbstractDataServiceAdapter._catchNoConnectionError(result);
|
|
479
|
+
breeze.AbstractDataServiceAdapter._catchNoConnectionError(result);
|
|
480
480
|
return result;
|
|
481
481
|
}
|
|
482
482
|
function getMessage(body) {
|
|
483
483
|
let msg = body.message || "";
|
|
484
484
|
return ((typeof (msg) === "string") ? msg : msg.value) + "; ";
|
|
485
485
|
}
|
|
486
|
-
config.registerAdapter("dataService", DataServiceODataAdapter);
|
|
486
|
+
breeze.config.registerAdapter("dataService", DataServiceODataAdapter);
|
|
487
487
|
let webApiODataCtor = function () {
|
|
488
488
|
this.name = "webApiOData";
|
|
489
489
|
};
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
config.registerAdapter("dataService", webApiODataCtor);
|
|
490
|
+
breeze.core.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);
|
|
491
|
+
breeze.config.registerAdapter("dataService", webApiODataCtor);
|
|
493
492
|
// OData 4 adapter
|
|
494
493
|
let webApiOData4Ctor = function () {
|
|
495
494
|
this.name = "webApiOData4";
|
|
496
495
|
};
|
|
497
|
-
|
|
498
|
-
core$1.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);
|
|
496
|
+
breeze.core.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);
|
|
499
497
|
webApiOData4Ctor.prototype.initialize = function () {
|
|
500
498
|
// Aargh... they moved the cheese.
|
|
501
499
|
let datajs = core.requireLib("datajs", "Needed to support remote OData v4 services");
|
|
@@ -503,11 +501,11 @@ webApiOData4Ctor.prototype.initialize = function () {
|
|
|
503
501
|
OData.json.jsonHandler.recognizeDates = true;
|
|
504
502
|
};
|
|
505
503
|
webApiOData4Ctor.prototype.headers = { "OData-Version": "4.0" };
|
|
506
|
-
config.registerAdapter("dataService", webApiOData4Ctor);
|
|
504
|
+
breeze.config.registerAdapter("dataService", webApiOData4Ctor);
|
|
507
505
|
|
|
508
506
|
/**
|
|
509
507
|
* Generated bundle index. Do not edit.
|
|
510
508
|
*/
|
|
511
509
|
|
|
512
|
-
export { DataServiceODataAdapter
|
|
513
|
-
//# sourceMappingURL=breeze-client-adapter-data-service-odata.
|
|
510
|
+
export { DataServiceODataAdapter };
|
|
511
|
+
//# sourceMappingURL=breeze-client-adapter-data-service-odata.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-data-service-odata.mjs","sources":["../../src/adapter-core.ts","../../src/adapter-data-service-odata.ts","../../src/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 name: string;\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\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 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":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as breeze from 'breeze-client';
|
|
2
2
|
|
|
3
3
|
// import { JsonResultsAdapter, KeyMapping } from './breeze';
|
|
4
4
|
/** @hidden */
|
|
5
|
-
class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
5
|
+
class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {
|
|
6
6
|
constructor() {
|
|
7
7
|
super();
|
|
8
|
-
this.jsonResultsAdapter = new JsonResultsAdapter({
|
|
8
|
+
this.jsonResultsAdapter = new breeze.JsonResultsAdapter({
|
|
9
9
|
name: "webApi_default",
|
|
10
10
|
visitNode: function (node, mappingContext, nodeContext) {
|
|
11
11
|
if (node == null)
|
|
12
12
|
return {};
|
|
13
|
-
let entityTypeName = MetadataStore.normalizeTypeName(node.$type);
|
|
13
|
+
let entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);
|
|
14
14
|
let entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
|
|
15
15
|
let propertyName = nodeContext.propertyName;
|
|
16
16
|
let ignore = propertyName && propertyName.substr(0, 1) === "$";
|
|
@@ -24,10 +24,10 @@ class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
|
24
24
|
});
|
|
25
25
|
this.name = "webApi";
|
|
26
26
|
}
|
|
27
|
-
static register(config
|
|
28
|
-
config
|
|
29
|
-
config
|
|
30
|
-
return config
|
|
27
|
+
static register(config) {
|
|
28
|
+
config = config || breeze.config;
|
|
29
|
+
config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
30
|
+
return config.initializeAdapterInstance("dataService", "webApi", true);
|
|
31
31
|
}
|
|
32
32
|
/** @hidden @internal */
|
|
33
33
|
_prepareSaveBundle(saveContext, saveBundle) {
|
|
@@ -39,7 +39,7 @@ class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
|
39
39
|
serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {
|
|
40
40
|
let rawEntity = helper.unwrapInstance(e);
|
|
41
41
|
let autoGeneratedKey;
|
|
42
|
-
if (e.entityType.autoGeneratedKeyType !== AutoGeneratedKeyType.None) {
|
|
42
|
+
if (e.entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {
|
|
43
43
|
autoGeneratedKey = {
|
|
44
44
|
propertyName: e.entityType.keyProperties[0].nameOnServer,
|
|
45
45
|
autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name
|
|
@@ -74,7 +74,7 @@ class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
|
74
74
|
if (km.entityTypeName)
|
|
75
75
|
return km; // it's already lower case
|
|
76
76
|
let kmHack = km;
|
|
77
|
-
let entityTypeName = MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
|
|
77
|
+
let entityTypeName = breeze.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
|
|
78
78
|
return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };
|
|
79
79
|
});
|
|
80
80
|
}
|
|
@@ -82,7 +82,7 @@ class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
|
82
82
|
deletedKeys = deletedKeys.map(function (dk) {
|
|
83
83
|
if (dk.entityTypeName)
|
|
84
84
|
return dk; // it's already lower case
|
|
85
|
-
let entityTypeName = MetadataStore.normalizeTypeName(dk.EntityTypeName);
|
|
85
|
+
let entityTypeName = breeze.MetadataStore.normalizeTypeName(dk.EntityTypeName);
|
|
86
86
|
// NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey
|
|
87
87
|
return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };
|
|
88
88
|
});
|
|
@@ -90,11 +90,11 @@ class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
|
90
90
|
return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
93
|
+
breeze.config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
96
|
* Generated bundle index. Do not edit.
|
|
97
97
|
*/
|
|
98
98
|
|
|
99
99
|
export { DataServiceWebApiAdapter };
|
|
100
|
-
//# sourceMappingURL=breeze-client-adapter-data-service-webapi.
|
|
100
|
+
//# sourceMappingURL=breeze-client-adapter-data-service-webapi.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-data-service-webapi.mjs","sources":["../../src/adapter-data-service-webapi.ts","../../src/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);\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\nbreeze.config.registerAdapter(\"dataService\", DataServiceWebApiAdapter);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-data-service-webapi';\n"],"names":[],"mappings":";;AACA;AAEA;AACa,MAAA,wBAAiC,SAAA,MAAM,CAAC,0BAA0B,CAAA;AAE7E,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AA6EV,QAAA,IAAA,CAAA,kBAAkB,GAA8B,IAAI,MAAM,CAAC,kBAAkB,CAAC;AAE5E,YAAA,IAAI,EAAE,gBAAgB;AAEtB,YAAA,SAAS,EAAE,UAAU,IAAS,EAAE,cAAqC,EAAE,WAA+B,EAAA;gBACpG,IAAI,IAAI,IAAI,IAAI;AAAE,oBAAA,OAAO,EAAE,CAAC;AAC5B,gBAAA,IAAI,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxE,gBAAA,IAAI,UAAU,GAAG,cAAc,IAAI,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAClH,gBAAA,IAAI,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;AAC5C,gBAAA,IAAI,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;gBAE/D,OAAO;AACL,oBAAA,UAAU,EAAE,UAAU;oBACtB,MAAM,EAAE,IAAI,CAAC,GAAG;oBAChB,SAAS,EAAE,IAAI,CAAC,IAAI;AACpB,oBAAA,MAAM,EAAE,MAAM;iBACR,CAAC;aACV;AAEF,SAAA,CAAC,CAAC;AA/FD,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;KACtB;IAED,OAAO,QAAQ,CAAC,MAA4B,EAAA;AAC1C,QAAA,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;AACjC,QAAA,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,yBAAyB,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAA6B,CAAC;KACpG;;IAGD,kBAAkB,CAAC,WAA+B,EAAE,UAA6B,EAAA;QAC/E,IAAI,wBAAwB,GAAG,IAAI,CAAC,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC7F,QAAA,IAAI,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC;AACnC,QAAA,IAAI,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AACrC,QAAA,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACvB,IAAI,aAAa,GAAQ,EAAE,CAAC;AAC5B,QAAA,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAA;YAC9D,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEzC,YAAA,IAAI,gBAAoC,CAAC;YACzC,IAAI,CAAC,CAAC,UAAU,CAAC,oBAAoB,KAAK,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE;AAC1E,gBAAA,gBAAgB,GAAG;oBACjB,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY;AACxD,oBAAA,oBAAoB,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI;iBAC7D,CAAC;AACH,aAAA;YAED,IAAI,sBAAsB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC3E,SAAS,CAAC,YAAY,GAAG;AACvB,gBAAA,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;AACjC,gBAAA,mBAAmB,EAAE,CAAC,CAAC,UAAU,CAAC,mBAAmB;AACrD,gBAAA,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI;AAC5C,gBAAA,iBAAiB,EAAE,sBAAsB;AACzC,gBAAA,gBAAgB,EAAE,gBAAgB;aACnC,CAAC;YACF,SAAS,GAAG,wBAAwB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,YAAA,OAAO,SAAS,CAAC;AACnB,SAAC,CAAC,CAAC;AAEH,QAAA,aAAa,CAAC,WAAW,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAChE,QAAA,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACtD,QAAA,OAAO,aAAa,CAAC;KACtB;;IAGD,kBAAkB,CAAC,WAA+B,EAAE,IAAS,EAAA;;QAE3D,IAAI,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;QAChF,IAAI,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,WAAW,GAAwB,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,WAAW,GAAG,GAAG,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAErF,IAAI,WAAW,CAAC,MAAM,EAAE;;;AAGtB,YAAA,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,EAAA;gBACxC,IAAI,EAAE,CAAC,cAAc;oBAAE,OAAO,EAAE,CAAC;gBACjC,IAAI,MAAM,GAAG,EAAS,CAAC;AACvB,gBAAA,IAAI,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACnF,gBAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;AACtG,aAAC,CAAC,CAAC;AACJ,SAAA;QAED,IAAI,WAAW,CAAC,MAAM,EAAE;AACtB,YAAA,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,EAAA;gBACxC,IAAI,EAAE,CAAC,cAAc;oBAAE,OAAO,EAAE,CAAC;AACjC,gBAAA,IAAI,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;;gBAE/E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpE,aAAC,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;KAEnF;AAuBF,CAAA;AAED,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,wBAAwB,CAAC;;AC3GtE;;AAEG;;;;"}
|