breeze-client 2.1.6-mjs → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
- package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
- package/adapter-ajax-angularjs/package.json +13 -0
- package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
- package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
- package/adapter-ajax-fetch/package.json +13 -0
- package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
- package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
- package/adapter-ajax-httpclient/package.json +13 -0
- package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
- package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
- package/adapter-ajax-jquery/package.json +13 -0
- package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
- package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
- package/adapter-ajax-post/package.json +13 -0
- package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
- package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
- package/adapter-data-service-odata/package.json +13 -0
- package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
- package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
- package/adapter-data-service-webapi/package.json +13 -0
- package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
- package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
- package/adapter-model-library-backing-store/package.json +13 -0
- package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
- package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
- package/adapter-model-library-ko/package.json +13 -0
- package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
- package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
- package/adapter-uri-builder-json/package.json +13 -0
- package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
- package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
- package/adapter-uri-builder-odata/package.json +13 -0
- package/breeze-client.d.ts +8 -0
- package/breeze-client.metadata.json +1 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.js +747 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js +333 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
- package/bundles/breeze-client.umd.js +14231 -0
- package/bundles/breeze-client.umd.js.map +1 -0
- package/bundles/breeze-client.umd.min.js +16 -0
- package/bundles/breeze-client.umd.min.js.map +1 -0
- package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
- package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
- package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
- package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
- package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
- package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
- package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
- package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
- package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
- package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
- package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
- package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
- package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
- package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
- package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +463 -0
- package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
- package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +100 -0
- package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
- package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
- package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
- package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
- package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
- package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
- package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
- package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
- package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
- package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
- package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
- package/esm2015/breeze-client.js +9 -0
- package/esm2015/index.js +2 -0
- package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
- package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
- package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
- package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
- package/esm2015/src/abstract-data-service-adapter.js +327 -0
- package/esm2015/src/array.js +4 -0
- package/esm2015/src/assert-param.js +312 -0
- package/esm2015/src/breeze.js +85 -0
- package/esm2015/src/complex-array.js +119 -0
- package/esm2015/src/config.js +223 -0
- package/esm2015/src/core.js +714 -0
- package/esm2015/src/csdl-metadata-parser.js +385 -0
- package/esm2015/src/data-service.js +203 -0
- package/esm2015/src/data-type.js +503 -0
- package/esm2015/src/default-property-interceptor.js +460 -0
- package/{esm2022/src/entity-action.mjs → esm2015/src/entity-action.js} +25 -25
- package/esm2015/src/entity-aspect.js +804 -0
- package/esm2015/src/entity-group.js +187 -0
- package/esm2015/src/entity-key.js +116 -0
- package/esm2015/src/entity-manager.js +2094 -0
- package/esm2015/src/entity-metadata.js +2109 -0
- package/esm2015/src/entity-query.js +1015 -0
- package/esm2015/src/entity-state.js +107 -0
- package/esm2015/src/enum.js +141 -0
- package/esm2015/src/event.js +256 -0
- package/esm2015/src/interface-registry.js +41 -0
- package/esm2015/src/key-generator.js +108 -0
- package/esm2015/src/local-query-comparison-options.js +65 -0
- package/esm2015/src/mapping-context.js +411 -0
- package/esm2015/src/naming-convention.js +88 -0
- package/esm2015/src/observable-array.js +185 -0
- package/esm2015/src/predicate.js +1242 -0
- package/esm2015/src/primitive-array.js +87 -0
- package/esm2015/src/query-options.js +152 -0
- package/esm2015/src/relation-array.js +175 -0
- package/esm2015/src/save-options.js +41 -0
- package/esm2015/src/unattached-children-map.js +58 -0
- package/esm2015/src/validate.js +991 -0
- package/esm2015/src/validation-options.js +64 -0
- package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
- package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
- package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
- package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
- package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
- package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
- package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
- package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
- package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
- package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
- package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
- package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
- package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
- package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
- package/{esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs → esm5/adapter-data-service-odata/adapter-data-service-odata.js} +147 -138
- package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
- package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +105 -0
- package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
- package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
- package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
- package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
- package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
- package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
- package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
- package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
- package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
- package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
- package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
- package/esm5/breeze-client.js +9 -0
- package/esm5/index.js +2 -0
- package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
- package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
- package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
- package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
- package/esm5/src/abstract-data-service-adapter.js +333 -0
- package/esm5/src/array.js +4 -0
- package/esm5/src/assert-param.js +317 -0
- package/esm5/src/breeze.js +85 -0
- package/esm5/src/complex-array.js +119 -0
- package/esm5/src/config.js +228 -0
- package/esm5/src/core.js +722 -0
- package/esm5/src/csdl-metadata-parser.js +385 -0
- package/esm5/src/data-service.js +207 -0
- package/esm5/src/data-type.js +510 -0
- package/esm5/src/default-property-interceptor.js +460 -0
- package/esm5/src/entity-action.js +52 -0
- package/esm5/src/entity-aspect.js +810 -0
- package/esm5/src/entity-group.js +189 -0
- package/esm5/src/entity-key.js +118 -0
- package/esm5/src/entity-manager.js +2112 -0
- package/esm5/src/entity-metadata.js +2144 -0
- package/esm5/src/entity-query.js +1042 -0
- package/esm5/src/entity-state.js +114 -0
- package/esm5/src/enum.js +144 -0
- package/esm5/src/event.js +259 -0
- package/esm5/src/interface-registry.js +43 -0
- package/esm5/src/key-generator.js +111 -0
- package/esm5/src/local-query-comparison-options.js +67 -0
- package/esm5/src/mapping-context.js +413 -0
- package/{esm2022/src/naming-convention.mjs → esm5/src/naming-convention.js} +29 -35
- package/esm5/src/observable-array.js +201 -0
- package/esm5/src/predicate.js +1307 -0
- package/esm5/src/primitive-array.js +87 -0
- package/esm5/src/query-options.js +167 -0
- package/esm5/src/relation-array.js +175 -0
- package/esm5/src/save-options.js +43 -0
- package/esm5/src/unattached-children-map.js +60 -0
- package/{esm2022/src/validate.mjs → esm5/src/validate.js} +110 -116
- package/esm5/src/validation-options.js +66 -0
- package/{fesm2022/breeze-client-adapter-ajax-angularjs.mjs → fesm2015/breeze-client-adapter-ajax-angularjs.js} +1 -6
- package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-fetch.mjs → fesm2015/breeze-client-adapter-ajax-fetch.js} +4 -9
- package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-httpclient.mjs → fesm2015/breeze-client-adapter-ajax-httpclient.js} +4 -6
- package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-jquery.mjs → fesm2015/breeze-client-adapter-ajax-jquery.js} +2 -6
- package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-data-service-odata.mjs → fesm2015/breeze-client-adapter-data-service-odata.js} +69 -68
- package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-data-service-webapi.mjs → fesm2015/breeze-client-adapter-data-service-webapi.js} +30 -30
- package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -14
- package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -14
- package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -9
- package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -86
- package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
- package/{fesm2022/breeze-client-mixin-get-entity-graph.mjs → fesm2015/breeze-client-mixin-get-entity-graph.js} +1 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
- package/{fesm2022/breeze-client-mixin-save-queuing.mjs → fesm2015/breeze-client-mixin-save-queuing.js} +2 -23
- package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
- package/{fesm2022/breeze-client.mjs → fesm2015/breeze-client.js} +1624 -2073
- package/fesm2015/breeze-client.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-angularjs.js +186 -0
- package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-fetch.js +186 -0
- package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-httpclient.js +193 -0
- package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-jquery.js +111 -0
- package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-post.js +86 -0
- package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
- package/fesm5/breeze-client-adapter-data-service-odata.js +523 -0
- package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
- package/fesm5/breeze-client-adapter-data-service-webapi.js +111 -0
- package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
- package/fesm5/breeze-client-adapter-model-library-backing-store.js +276 -0
- package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
- package/fesm5/breeze-client-adapter-model-library-ko.js +248 -0
- package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
- package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
- package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
- package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
- package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
- package/fesm5/breeze-client-mixin-get-entity-graph.js +254 -0
- package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
- package/fesm5/breeze-client-mixin-save-queuing.js +356 -0
- package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
- package/fesm5/breeze-client.js +13953 -0
- package/fesm5/breeze-client.js.map +1 -0
- package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
- package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
- package/mixin-get-entity-graph/package.json +13 -0
- package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
- package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
- package/mixin-save-queuing/package.json +13 -0
- package/package.json +11 -93
- package/src/abstract-data-service-adapter.d.ts +20 -0
- package/src/config.d.ts +1 -1
- package/src/core.d.ts +1 -1
- package/src/entity-aspect.d.ts +1 -1
- package/src/entity-metadata.d.ts +6 -8
- package/src/entity-query.d.ts +18 -4
- package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -135
- package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +0 -49
- package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
- package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -135
- package/esm2022/adapter-ajax-fetch/adapter-core.mjs +0 -49
- package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
- package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -139
- package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +0 -49
- package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
- package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -107
- package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
- package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
- package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
- package/esm2022/adapter-data-service-odata/adapter-core.mjs +0 -49
- package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
- package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -100
- package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
- package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -269
- package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
- package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -241
- package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
- package/esm2022/adapter-uri-builder-json/adapter-core.mjs +0 -49
- package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -37
- package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
- package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +0 -49
- package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -191
- package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
- package/esm2022/breeze-client.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
- package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
- package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
- package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +0 -421
- package/esm2022/src/abstract-data-service-adapter.mjs +0 -294
- package/esm2022/src/array.mjs +0 -4
- package/esm2022/src/assert-param.mjs +0 -330
- package/esm2022/src/breeze.mjs +0 -85
- package/esm2022/src/complex-array.mjs +0 -117
- package/esm2022/src/config.mjs +0 -232
- package/esm2022/src/core.mjs +0 -712
- package/esm2022/src/csdl-metadata-parser.mjs +0 -385
- package/esm2022/src/data-service.mjs +0 -239
- package/esm2022/src/data-type.mjs +0 -507
- package/esm2022/src/default-property-interceptor.mjs +0 -460
- package/esm2022/src/entity-aspect.mjs +0 -897
- package/esm2022/src/entity-group.mjs +0 -192
- package/esm2022/src/entity-key.mjs +0 -127
- package/esm2022/src/entity-manager.mjs +0 -2183
- package/esm2022/src/entity-metadata.mjs +0 -2242
- package/esm2022/src/entity-query.mjs +0 -1005
- package/esm2022/src/entity-state.mjs +0 -107
- package/esm2022/src/enum.mjs +0 -143
- package/esm2022/src/event.mjs +0 -264
- package/esm2022/src/interface-registry.mjs +0 -39
- package/esm2022/src/key-generator.mjs +0 -110
- package/esm2022/src/local-query-comparison-options.mjs +0 -75
- package/esm2022/src/mapping-context.mjs +0 -422
- package/esm2022/src/observable-array.mjs +0 -183
- package/esm2022/src/predicate.mjs +0 -1259
- package/esm2022/src/primitive-array.mjs +0 -85
- package/esm2022/src/query-options.mjs +0 -160
- package/esm2022/src/relation-array.mjs +0 -173
- package/esm2022/src/save-options.mjs +0 -51
- package/esm2022/src/unattached-children-map.mjs +0 -56
- package/esm2022/src/validation-options.mjs +0 -78
- package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
- package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
- package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +0 -1
- package/fesm2022/breeze-client.mjs.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './adapter-data-service-odata';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS1vZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1kYXRhLXNlcnZpY2Utb2RhdGEvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItZGF0YS1zZXJ2aWNlLW9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWRhdGEtc2VydmljZS1vZGF0YSc7XG4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import * as breeze from 'breeze-client';
|
|
3
|
+
// import { JsonResultsAdapter, KeyMapping } from './breeze';
|
|
4
|
+
/** @hidden */
|
|
5
|
+
var DataServiceWebApiAdapter = /** @class */ (function (_super) {
|
|
6
|
+
__extends(DataServiceWebApiAdapter, _super);
|
|
7
|
+
function DataServiceWebApiAdapter() {
|
|
8
|
+
var _this = _super.call(this) || this;
|
|
9
|
+
_this.jsonResultsAdapter = new breeze.JsonResultsAdapter({
|
|
10
|
+
name: "webApi_default",
|
|
11
|
+
visitNode: function (node, mappingContext, nodeContext) {
|
|
12
|
+
if (node == null)
|
|
13
|
+
return {};
|
|
14
|
+
var entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);
|
|
15
|
+
var entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
|
|
16
|
+
var propertyName = nodeContext.propertyName;
|
|
17
|
+
var ignore = propertyName && propertyName.substr(0, 1) === "$";
|
|
18
|
+
return {
|
|
19
|
+
entityType: entityType,
|
|
20
|
+
nodeId: node.$id,
|
|
21
|
+
nodeRefId: node.$ref,
|
|
22
|
+
ignore: ignore
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
_this.name = "webApi";
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
DataServiceWebApiAdapter.register = function (config) {
|
|
30
|
+
config = config || breeze.config;
|
|
31
|
+
config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
32
|
+
return config.initializeAdapterInstance("dataService", "webApi", true);
|
|
33
|
+
};
|
|
34
|
+
/** @hidden @internal */
|
|
35
|
+
DataServiceWebApiAdapter.prototype._prepareSaveBundle = function (saveContext, saveBundle) {
|
|
36
|
+
var changeRequestInterceptor = this._createChangeRequestInterceptor(saveContext, saveBundle);
|
|
37
|
+
var em = saveContext.entityManager;
|
|
38
|
+
var metadataStore = em.metadataStore;
|
|
39
|
+
var helper = em.helper;
|
|
40
|
+
var serSaveBundle = {};
|
|
41
|
+
serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {
|
|
42
|
+
var rawEntity = helper.unwrapInstance(e, transformValue);
|
|
43
|
+
var autoGeneratedKey;
|
|
44
|
+
if (e.entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {
|
|
45
|
+
autoGeneratedKey = {
|
|
46
|
+
propertyName: e.entityType.keyProperties[0].nameOnServer,
|
|
47
|
+
autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
var originalValuesOnServer = helper.unwrapOriginalValues(e, metadataStore);
|
|
51
|
+
rawEntity.entityAspect = {
|
|
52
|
+
entityTypeName: e.entityType.name,
|
|
53
|
+
defaultResourceName: e.entityType.defaultResourceName,
|
|
54
|
+
entityState: e.entityAspect.entityState.name,
|
|
55
|
+
originalValuesMap: originalValuesOnServer,
|
|
56
|
+
autoGeneratedKey: autoGeneratedKey
|
|
57
|
+
};
|
|
58
|
+
rawEntity = changeRequestInterceptor.getRequest(rawEntity, e, ix);
|
|
59
|
+
return rawEntity;
|
|
60
|
+
});
|
|
61
|
+
serSaveBundle.saveOptions = { tag: saveBundle.saveOptions.tag };
|
|
62
|
+
changeRequestInterceptor.done(serSaveBundle.entities);
|
|
63
|
+
return serSaveBundle;
|
|
64
|
+
};
|
|
65
|
+
/** @hidden @internal */
|
|
66
|
+
DataServiceWebApiAdapter.prototype._prepareSaveResult = function (saveContext, data) {
|
|
67
|
+
// use the jsonResultAdapter to extractResults and extractKeyMappings
|
|
68
|
+
var jra = saveContext.dataService.jsonResultsAdapter || this.jsonResultsAdapter;
|
|
69
|
+
var entities = jra.extractSaveResults(data) || [];
|
|
70
|
+
var keyMappings = jra.extractKeyMappings(data) || [];
|
|
71
|
+
var deletedKeys = jra.extractDeletedKeys ? (jra.extractDeletedKeys(data)) || [] : [];
|
|
72
|
+
if (keyMappings.length) {
|
|
73
|
+
// HACK: need to change the 'case' of properties in the saveResult
|
|
74
|
+
// but KeyMapping properties internally are still ucase. ugh...
|
|
75
|
+
keyMappings = keyMappings.map(function (km) {
|
|
76
|
+
if (km.entityTypeName)
|
|
77
|
+
return km; // it's already lower case
|
|
78
|
+
var kmHack = km;
|
|
79
|
+
var entityTypeName = breeze.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
|
|
80
|
+
return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
if (deletedKeys.length) {
|
|
84
|
+
deletedKeys = deletedKeys.map(function (dk) {
|
|
85
|
+
if (dk.entityTypeName)
|
|
86
|
+
return dk; // it's already lower case
|
|
87
|
+
var entityTypeName = breeze.MetadataStore.normalizeTypeName(dk.EntityTypeName);
|
|
88
|
+
// NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey
|
|
89
|
+
return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };
|
|
93
|
+
};
|
|
94
|
+
return DataServiceWebApiAdapter;
|
|
95
|
+
}(breeze.AbstractDataServiceAdapter));
|
|
96
|
+
export { DataServiceWebApiAdapter };
|
|
97
|
+
/** Transform data properties while unwrapping entities before save */
|
|
98
|
+
function transformValue(prop, val) {
|
|
99
|
+
if (prop.dataType === breeze.DataType.DateOnly) {
|
|
100
|
+
val = breeze.DataType.toDateOnlyString(val);
|
|
101
|
+
}
|
|
102
|
+
return val;
|
|
103
|
+
}
|
|
104
|
+
breeze.config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1kYXRhLXNlcnZpY2Utd2ViYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC9hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkvIiwic291cmNlcyI6WyJhZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLDZEQUE2RDtBQUU3RCxjQUFjO0FBQ2Q7SUFBOEMsNENBQWlDO0lBRTdFO1FBQUEsWUFDRSxpQkFBTyxTQUVSO1FBMkVELHdCQUFrQixHQUE4QixJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztZQUU1RSxJQUFJLEVBQUUsZ0JBQWdCO1lBRXRCLFNBQVMsRUFBRSxVQUFVLElBQVMsRUFBRSxjQUFxQyxFQUFFLFdBQStCO2dCQUNwRyxJQUFJLElBQUksSUFBSSxJQUFJO29CQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxVQUFVLEdBQUcsY0FBYyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2xILElBQUksWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUM7Z0JBQzVDLElBQUksTUFBTSxHQUFHLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBRS9ELE9BQU87b0JBQ0wsVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNwQixNQUFNLEVBQUUsTUFBTTtpQkFDUixDQUFDO1lBQ1gsQ0FBQztT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V0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUVwRixDQUFDO0lBdUJILCtCQUFDO0FBQUQsQ0FBQyxBQXJHRCxDQUE4QyxNQUFNLENBQUMsMEJBQTBCLEdBcUc5RTs7QUFFRCxzRUFBc0U7QUFDdEUsU0FBUyxjQUFjLENBQUMsSUFBeUIsRUFBRSxHQUFRO0lBQ3pELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUM5QyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM3QztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYnJlZXplIGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG4vLyBpbXBvcnQgeyBKc29uUmVzdWx0c0FkYXB0ZXIsIEtleU1hcHBpbmcgfSBmcm9tICcuL2JyZWV6ZSc7XHJcblxyXG4vKiogQGhpZGRlbiAqL1xyXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2VXZWJBcGlBZGFwdGVyIGV4dGVuZHMgYnJlZXplLkFic3RyYWN0RGF0YVNlcnZpY2VBZGFwdGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5uYW1lID0gXCJ3ZWJBcGlcIjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWdpc3Rlcihjb25maWc/OiBicmVlemUuQnJlZXplQ29uZmlnKSB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgYnJlZXplLmNvbmZpZztcclxuICAgIGNvbmZpZy5yZWdpc3RlckFkYXB0ZXIoXCJkYXRhU2VydmljZVwiLCBEYXRhU2VydmljZVdlYkFwaUFkYXB0ZXIpO1xyXG4gICAgcmV0dXJuIGNvbmZpZy5pbml0aWFsaXplQWRhcHRlckluc3RhbmNlKFwiZGF0YVNlcnZpY2VcIiwgXCJ3ZWJBcGlcIiwgdHJ1ZSkgYXMgRGF0YVNlcnZpY2VXZWJBcGlBZGFwdGVyO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX3ByZXBhcmVTYXZlQnVuZGxlKHNhdmVDb250ZXh0OiBicmVlemUuU2F2ZUNvbnRleHQsIHNhdmVCdW5kbGU6IGJyZWV6ZS5TYXZlQnVuZGxlKSB7XHJcbiAgICBsZXQgY2hhbmdlUmVxdWVzdEludGVyY2VwdG9yID0gdGhpcy5fY3JlYXRlQ2hhbmdlUmVxdWVzdEludGVyY2VwdG9yKHNhdmVDb250ZXh0LCBzYXZlQnVuZGxlKTtcclxuICAgIGxldCBlbSA9IHNhdmVDb250ZXh0LmVudGl0eU1hbmFnZXI7XHJcbiAgICBsZXQgbWV0YWRhdGFTdG9yZSA9IGVtLm1ldGFkYXRhU3RvcmU7XHJcbiAgICBsZXQgaGVscGVyID0gZW0uaGVscGVyO1xyXG4gICAgbGV0IHNlclNhdmVCdW5kbGU6IGFueSA9IHt9O1xyXG4gICAgc2VyU2F2ZUJ1bmRsZS5lbnRpdGllcyA9IHNhdmVCdW5kbGUuZW50aXRpZXMubWFwKGZ1bmN0aW9uIChlLCBpeCkge1xyXG4gICAgICBsZXQgcmF3RW50aXR5ID0gaGVscGVyLnVud3JhcEluc3RhbmNlKGUsIHRyYW5zZm9ybVZhbHVlKTtcclxuXHJcbiAgICAgIGxldCBhdXRvR2VuZXJhdGVkS2V5OiBPYmplY3QgfCB1bmRlZmluZWQ7XHJcbiAgICAgIGlmIChlLmVudGl0eVR5cGUuYXV0b0dlbmVyYXRlZEtleVR5cGUgIT09IGJyZWV6ZS5BdXRvR2VuZXJhdGVkS2V5VHlwZS5Ob25lKSB7XHJcbiAgICAgICAgYXV0b0dlbmVyYXRlZEtleSA9IHtcclxuICAgICAgICAgIHByb3BlcnR5TmFtZTogZS5lbnRpdHlUeXBlLmtleVByb3BlcnRpZXNbMF0ubmFtZU9uU2VydmVyLFxyXG4gICAgICAgICAgYXV0b0dlbmVyYXRlZEtleVR5cGU6IGUuZW50aXR5VHlwZS5hdXRvR2VuZXJhdGVkS2V5VHlwZS5uYW1lXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IG9yaWdpbmFsVmFsdWVzT25TZXJ2ZXIgPSBoZWxwZXIudW53cmFwT3JpZ2luYWxWYWx1ZXMoZSwgbWV0YWRhdGFTdG9yZSk7XHJcbiAgICAgIHJhd0VudGl0eS5lbnRpdHlBc3BlY3QgPSB7XHJcbiAgICAgICAgZW50aXR5VHlwZU5hbWU6IGUuZW50aXR5VHlwZS5uYW1lLFxyXG4gICAgICAgIGRlZmF1bHRSZXNvdXJjZU5hbWU6IGUuZW50aXR5VHlwZS5kZWZhdWx0UmVzb3VyY2VOYW1lLFxyXG4gICAgICAgIGVudGl0eVN0YXRlOiBlLmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZS5uYW1lLFxyXG4gICAgICAgIG9yaWdpbmFsVmFsdWVzTWFwOiBvcmlnaW5hbFZhbHVlc09uU2VydmVyLFxyXG4gICAgICAgIGF1dG9HZW5lcmF0ZWRLZXk6IGF1dG9HZW5lcmF0ZWRLZXlcclxuICAgICAgfTtcclxuICAgICAgcmF3RW50aXR5ID0gY2hhbmdlUmVxdWVzdEludGVyY2VwdG9yLmdldFJlcXVlc3QocmF3RW50aXR5LCBlLCBpeCk7XHJcbiAgICAgIHJldHVybiByYXdFbnRpdHk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZXJTYXZlQnVuZGxlLnNhdmVPcHRpb25zID0geyB0YWc6IHNhdmVCdW5kbGUuc2F2ZU9wdGlvbnMudGFnIH07XHJcbiAgICBjaGFuZ2VSZXF1ZXN0SW50ZXJjZXB0b3IuZG9uZShzZXJTYXZlQnVuZGxlLmVudGl0aWVzKTtcclxuICAgIHJldHVybiBzZXJTYXZlQnVuZGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX3ByZXBhcmVTYXZlUmVzdWx0KHNhdmVDb250ZXh0OiBicmVlemUuU2F2ZUNvbnRleHQsIGRhdGE6IGFueSkge1xyXG4gICAgLy8gdXNlIHRoZSBqc29uUmVzdWx0QWRhcHRlciB0byBleHRyYWN0UmVzdWx0cyBhbmQgZXh0cmFjdEtleU1hcHBpbmdzXHJcbiAgICBsZXQganJhID0gc2F2ZUNvbnRleHQuZGF0YVNlcnZpY2UuanNvblJlc3VsdHNBZGFwdGVyIHx8IHRoaXMuanNvblJlc3VsdHNBZGFwdGVyO1xyXG4gICAgbGV0IGVudGl0aWVzID0ganJhLmV4dHJhY3RTYXZlUmVzdWx0cyhkYXRhKSB8fCBbXTtcclxuICAgIGxldCBrZXlNYXBwaW5nczogYnJlZXplLktleU1hcHBpbmdbXSA9IGpyYS5leHRyYWN0S2V5TWFwcGluZ3MoZGF0YSkgfHwgW107XHJcbiAgICBsZXQgZGVsZXRlZEtleXMgPSBqcmEuZXh0cmFjdERlbGV0ZWRLZXlzID8gKGpyYS5leHRyYWN0RGVsZXRlZEtleXMoZGF0YSkpIHx8IFtdIDogW107XHJcblxyXG4gICAgaWYgKGtleU1hcHBpbmdzLmxlbmd0aCkge1xyXG4gICAgICAvLyBIQUNLOiBuZWVkIHRvIGNoYW5nZSB0aGUgJ2Nhc2UnIG9mIHByb3BlcnRpZXMgaW4gdGhlIHNhdmVSZXN1bHRcclxuICAgICAgLy8gYnV0IEtleU1hcHBpbmcgcHJvcGVydGllcyBpbnRlcm5hbGx5IGFyZSBzdGlsbCB1Y2FzZS4gdWdoLi4uXHJcbiAgICAgIGtleU1hcHBpbmdzID0ga2V5TWFwcGluZ3MubWFwKGZ1bmN0aW9uIChrbSkge1xyXG4gICAgICAgIGlmIChrbS5lbnRpdHlUeXBlTmFtZSkgcmV0dXJuIGttOyAvLyBpdCdzIGFscmVhZHkgbG93ZXIgY2FzZVxyXG4gICAgICAgIGxldCBrbUhhY2sgPSBrbSBhcyBhbnk7XHJcbiAgICAgICAgbGV0IGVudGl0eVR5cGVOYW1lID0gYnJlZXplLk1ldGFkYXRhU3RvcmUubm9ybWFsaXplVHlwZU5hbWUoa21IYWNrLkVudGl0eVR5cGVOYW1lKTtcclxuICAgICAgICByZXR1cm4geyBlbnRpdHlUeXBlTmFtZTogZW50aXR5VHlwZU5hbWUsIHRlbXBWYWx1ZToga21IYWNrLlRlbXBWYWx1ZSwgcmVhbFZhbHVlOiBrbUhhY2suUmVhbFZhbHVlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkZWxldGVkS2V5cy5sZW5ndGgpIHtcclxuICAgICAgZGVsZXRlZEtleXMgPSBkZWxldGVkS2V5cy5tYXAoZnVuY3Rpb24gKGRrKSB7XHJcbiAgICAgICAgaWYgKGRrLmVudGl0eVR5cGVOYW1lKSByZXR1cm4gZGs7IC8vIGl0J3MgYWxyZWFkeSBsb3dlciBjYXNlXHJcbiAgICAgICAgbGV0IGVudGl0eVR5cGVOYW1lID0gYnJlZXplLk1ldGFkYXRhU3RvcmUubm9ybWFsaXplVHlwZU5hbWUoZGsuRW50aXR5VHlwZU5hbWUpO1xyXG4gICAgICAgIC8vIE5PVEUgdGhlIGRrLktleVZhbHVlID0+IGtleVZhbHVlcyB0cmFuc2l0aW9uIC0gbmVlZGVkIGJlY2F1c2Ugd2UgYXJlIGRlc2VyaWFsaXppbmcgYW4gLk5FVCBFbnRpdHlLZXlcclxuICAgICAgICByZXR1cm4geyBlbnRpdHlUeXBlTmFtZTogZW50aXR5VHlwZU5hbWUsIGtleVZhbHVlczogZGsuS2V5VmFsdWUgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHsgZW50aXRpZXM6IGVudGl0aWVzLCBrZXlNYXBwaW5nczoga2V5TWFwcGluZ3MsIGRlbGV0ZWRLZXlzOiBkZWxldGVkS2V5cyB9O1xyXG5cclxuICB9XHJcblxyXG4gIGpzb25SZXN1bHRzQWRhcHRlcjogYnJlZXplLkpzb25SZXN1bHRzQWRhcHRlciA9IG5ldyBicmVlemUuSnNvblJlc3VsdHNBZGFwdGVyKHtcclxuXHJcbiAgICBuYW1lOiBcIndlYkFwaV9kZWZhdWx0XCIsXHJcblxyXG4gICAgdmlzaXROb2RlOiBmdW5jdGlvbiAobm9kZTogYW55LCBtYXBwaW5nQ29udGV4dDogYnJlZXplLk1hcHBpbmdDb250ZXh0LCBub2RlQ29udGV4dDogYnJlZXplLk5vZGVDb250ZXh0KSB7XHJcbiAgICAgIGlmIChub2RlID09IG51bGwpIHJldHVybiB7fTtcclxuICAgICAgbGV0IGVudGl0eVR5cGVOYW1lID0gYnJlZXplLk1ldGFkYXRhU3RvcmUubm9ybWFsaXplVHlwZU5hbWUobm9kZS4kdHlwZSk7XHJcbiAgICAgIGxldCBlbnRpdHlUeXBlID0gZW50aXR5VHlwZU5hbWUgJiYgbWFwcGluZ0NvbnRleHQuZW50aXR5TWFuYWdlci5tZXRhZGF0YVN0b3JlLmdldEVudGl0eVR5cGUoZW50aXR5VHlwZU5hbWUsIHRydWUpO1xyXG4gICAgICBsZXQgcHJvcGVydHlOYW1lID0gbm9kZUNvbnRleHQucHJvcGVydHlOYW1lO1xyXG4gICAgICBsZXQgaWdub3JlID0gcHJvcGVydHlOYW1lICYmIHByb3BlcnR5TmFtZS5zdWJzdHIoMCwgMSkgPT09IFwiJFwiO1xyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBlbnRpdHlUeXBlOiBlbnRpdHlUeXBlLFxyXG4gICAgICAgIG5vZGVJZDogbm9kZS4kaWQsXHJcbiAgICAgICAgbm9kZVJlZklkOiBub2RlLiRyZWYsXHJcbiAgICAgICAgaWdub3JlOiBpZ25vcmVcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICB9XHJcblxyXG4gIH0pO1xyXG5cclxufVxyXG5cclxuLyoqIFRyYW5zZm9ybSBkYXRhIHByb3BlcnRpZXMgd2hpbGUgdW53cmFwcGluZyBlbnRpdGllcyBiZWZvcmUgc2F2ZSAqL1xyXG5mdW5jdGlvbiB0cmFuc2Zvcm1WYWx1ZShwcm9wOiBicmVlemUuRGF0YVByb3BlcnR5LCB2YWw6IGFueSkge1xyXG4gIGlmIChwcm9wLmRhdGFUeXBlID09PSBicmVlemUuRGF0YVR5cGUuRGF0ZU9ubHkpIHtcclxuICAgIHZhbCA9IGJyZWV6ZS5EYXRhVHlwZS50b0RhdGVPbmx5U3RyaW5nKHZhbCk7XHJcbiAgfVxyXG4gIHJldHVybiB2YWw7XHJcbn1cclxuXHJcblxyXG5icmVlemUuY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcImRhdGFTZXJ2aWNlXCIsIERhdGFTZXJ2aWNlV2ViQXBpQWRhcHRlcik7XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './adapter-data-service-webapi';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItZGF0YS1zZXJ2aWNlLXdlYmFwaS8iLCJzb3VyY2VzIjpbImJyZWV6ZS1jbGllbnQtYWRhcHRlci1kYXRhLXNlcnZpY2Utd2ViYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGknO1xuIl19
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import * as breeze from 'breeze-client';
|
|
2
|
+
var core = breeze.core;
|
|
3
|
+
var ModelLibraryBackingStoreAdapter = /** @class */ (function () {
|
|
4
|
+
function ModelLibraryBackingStoreAdapter() {
|
|
5
|
+
this.name = "backingStore";
|
|
6
|
+
}
|
|
7
|
+
ModelLibraryBackingStoreAdapter.register = function (config) {
|
|
8
|
+
config = config || breeze.config;
|
|
9
|
+
config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
|
|
10
|
+
return config.initializeAdapterInstance("modelLibrary", "backingStore", true);
|
|
11
|
+
};
|
|
12
|
+
ModelLibraryBackingStoreAdapter.prototype.initialize = function () {
|
|
13
|
+
};
|
|
14
|
+
ModelLibraryBackingStoreAdapter.prototype.getTrackablePropertyNames = function (entity) {
|
|
15
|
+
var names = [];
|
|
16
|
+
for (var p in entity) {
|
|
17
|
+
if (p === "entityAspect" || p === "entityType")
|
|
18
|
+
continue;
|
|
19
|
+
if (p === "_$typeName" || p === "_pendingSets" || p === "_backingStore")
|
|
20
|
+
continue;
|
|
21
|
+
var val = entity[p];
|
|
22
|
+
if (!core.isFunction(val)) {
|
|
23
|
+
names.push(p);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return names;
|
|
27
|
+
};
|
|
28
|
+
// This method is called during Metadata initialization
|
|
29
|
+
ModelLibraryBackingStoreAdapter.prototype.initializeEntityPrototype = function (proto) {
|
|
30
|
+
proto.getProperty = function (propertyName) {
|
|
31
|
+
return this[propertyName];
|
|
32
|
+
};
|
|
33
|
+
proto.setProperty = function (propertyName, value) {
|
|
34
|
+
//if (!this._backingStore.hasOwnProperty(propertyName)) {
|
|
35
|
+
// throw new Error("Unknown property name:" + propertyName);
|
|
36
|
+
//}
|
|
37
|
+
this[propertyName] = value;
|
|
38
|
+
// allow setProperty chaining.
|
|
39
|
+
return this;
|
|
40
|
+
};
|
|
41
|
+
movePropDefsToProto(proto);
|
|
42
|
+
};
|
|
43
|
+
// This method is called when an EntityAspect is first created - this will occur as part of the entityType.createEntity call.
|
|
44
|
+
// which can be called either directly or via standard query materialization
|
|
45
|
+
// entity is either an entity or a complexObject
|
|
46
|
+
ModelLibraryBackingStoreAdapter.prototype.startTracking = function (entity, proto) {
|
|
47
|
+
// can't touch the normal property sets within this method - access the backingStore directly instead.
|
|
48
|
+
var bs = movePropsToBackingStore(entity);
|
|
49
|
+
// assign default values to the entity
|
|
50
|
+
var stype = breeze.EntityAspect.isEntity(entity) ? entity.entityType : entity.complexType;
|
|
51
|
+
stype.getProperties().forEach(function (prop) {
|
|
52
|
+
var propName = prop.name;
|
|
53
|
+
var val = entity[propName];
|
|
54
|
+
if (prop instanceof breeze.DataProperty) {
|
|
55
|
+
if (prop.isComplexProperty) {
|
|
56
|
+
if (prop.isScalar) {
|
|
57
|
+
val = prop.dataType._createInstanceCore(entity, prop);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
val = breeze.makeComplexArray([], entity, prop);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (!prop.isScalar) {
|
|
64
|
+
val = breeze.makePrimitiveArray([], entity, prop);
|
|
65
|
+
}
|
|
66
|
+
else if (val === undefined) {
|
|
67
|
+
val = prop.defaultValue;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (prop.isNavigationProperty) {
|
|
71
|
+
if (val !== undefined && val !== null) {
|
|
72
|
+
throw new Error("Cannot assign a navigation property in an entity ctor.: " + propName);
|
|
73
|
+
}
|
|
74
|
+
if (prop.isScalar) {
|
|
75
|
+
// TODO: change this to nullstob later.
|
|
76
|
+
val = null;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
val = breeze.makeRelationArray([], entity, prop);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new Error("unknown property: " + propName);
|
|
84
|
+
}
|
|
85
|
+
// can't touch the normal property sets within this method (IE9 Bug) - so we access the backingStore directly instead.
|
|
86
|
+
// otherwise we could just do
|
|
87
|
+
// entity[propName] = val
|
|
88
|
+
// after all of the interception logic had been injected.
|
|
89
|
+
if (prop.isSettable || prop.isNavigationProperty) {
|
|
90
|
+
bs[propName] = val;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
return ModelLibraryBackingStoreAdapter;
|
|
95
|
+
}());
|
|
96
|
+
export { ModelLibraryBackingStoreAdapter };
|
|
97
|
+
breeze.config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
|
|
98
|
+
// private methods
|
|
99
|
+
// This method is called during Metadata initialization to correctly "wrap" properties.
|
|
100
|
+
function movePropDefsToProto(proto) {
|
|
101
|
+
var stype = (proto.entityType || proto.complexType);
|
|
102
|
+
var extra = stype._extra;
|
|
103
|
+
var alreadyWrapped = extra.alreadyWrappedProps || {};
|
|
104
|
+
stype.getProperties().forEach(function (prop) {
|
|
105
|
+
var propName = prop.name;
|
|
106
|
+
// we only want to wrap props that haven't already been wrapped
|
|
107
|
+
if (alreadyWrapped[propName])
|
|
108
|
+
return;
|
|
109
|
+
// If property is already defined on the prototype then wrap it in another propertyDescriptor.
|
|
110
|
+
// otherwise create a propDescriptor for it.
|
|
111
|
+
var descr;
|
|
112
|
+
if (propName in proto) {
|
|
113
|
+
descr = wrapPropDescription(proto, prop);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
descr = makePropDescription(proto, prop);
|
|
117
|
+
}
|
|
118
|
+
// descr will be null for a wrapped descr that is not configurable
|
|
119
|
+
if (descr != null) {
|
|
120
|
+
Object.defineProperty(proto, propName, descr);
|
|
121
|
+
}
|
|
122
|
+
alreadyWrapped[propName] = true;
|
|
123
|
+
});
|
|
124
|
+
extra.alreadyWrappedProps = alreadyWrapped;
|
|
125
|
+
}
|
|
126
|
+
// This method is called when an instance is first created via materialization or createEntity.
|
|
127
|
+
// this method cannot be called while a 'defineProperty' accessor is executing
|
|
128
|
+
// because of IE bug mentioned above.
|
|
129
|
+
function movePropsToBackingStore(instance) {
|
|
130
|
+
var bs = getBackingStore(instance);
|
|
131
|
+
var proto = Object.getPrototypeOf(instance);
|
|
132
|
+
var stype = (proto.entityType || proto.complexType);
|
|
133
|
+
stype.getProperties().forEach(function (prop) {
|
|
134
|
+
var propName = prop.name;
|
|
135
|
+
if (prop.isUnmapped) {
|
|
136
|
+
// insure that any unmapped properties that were added after entityType
|
|
137
|
+
// was first created are wrapped with a property descriptor.
|
|
138
|
+
if (!core.getPropertyDescriptor(proto, propName)) {
|
|
139
|
+
var descr = makePropDescription(proto, prop);
|
|
140
|
+
Object.defineProperty(proto, propName, descr);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (!instance.hasOwnProperty(propName))
|
|
144
|
+
return;
|
|
145
|
+
// pulls off the value, removes the instance property and then rewrites it via ES5 accessor
|
|
146
|
+
var value = instance[propName];
|
|
147
|
+
delete instance[propName];
|
|
148
|
+
instance[propName] = value;
|
|
149
|
+
});
|
|
150
|
+
return bs;
|
|
151
|
+
}
|
|
152
|
+
function makePropDescription(proto, property) {
|
|
153
|
+
var propName = property.name;
|
|
154
|
+
var pendingStores = proto._pendingBackingStores;
|
|
155
|
+
if (!pendingStores) {
|
|
156
|
+
pendingStores = [];
|
|
157
|
+
proto._pendingBackingStores = pendingStores;
|
|
158
|
+
}
|
|
159
|
+
var descr = {
|
|
160
|
+
get: function () {
|
|
161
|
+
var bs = this._backingStore || getBackingStore(this);
|
|
162
|
+
return bs[propName];
|
|
163
|
+
},
|
|
164
|
+
set: function (value) {
|
|
165
|
+
// IE9 cannot touch instance._backingStore here
|
|
166
|
+
var bs = this._backingStore || getPendingBackingStore(this);
|
|
167
|
+
var accessorFn = getAccessorFn(bs, propName);
|
|
168
|
+
this._$interceptor(property, value, accessorFn);
|
|
169
|
+
},
|
|
170
|
+
enumerable: true,
|
|
171
|
+
configurable: true
|
|
172
|
+
};
|
|
173
|
+
descr.set.rawSet = function (value) {
|
|
174
|
+
var bs = this._backingStore || getPendingBackingStore(this);
|
|
175
|
+
var accessorFn = getAccessorFn(bs, propName);
|
|
176
|
+
accessorFn(value);
|
|
177
|
+
};
|
|
178
|
+
return descr;
|
|
179
|
+
}
|
|
180
|
+
function getAccessorFn(bs, propName) {
|
|
181
|
+
return function () {
|
|
182
|
+
if (arguments.length === 0) {
|
|
183
|
+
return bs[propName];
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
bs[propName] = arguments[0];
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
function wrapPropDescription(proto, property) {
|
|
192
|
+
if (!proto.hasOwnProperty(property.name)) {
|
|
193
|
+
var nextProto = Object.getPrototypeOf(proto);
|
|
194
|
+
return wrapPropDescription(nextProto, property);
|
|
195
|
+
}
|
|
196
|
+
var propDescr = Object.getOwnPropertyDescriptor(proto, property.name);
|
|
197
|
+
if (!propDescr)
|
|
198
|
+
return undefined;
|
|
199
|
+
// if not configurable; we can't touch it - so leave.
|
|
200
|
+
if (!propDescr.configurable)
|
|
201
|
+
return undefined;
|
|
202
|
+
// if a data descriptor - don't change it - this is basically a static property - i.e. defined on every instance of the type with the same value.
|
|
203
|
+
if (propDescr.value)
|
|
204
|
+
return undefined;
|
|
205
|
+
// if a read only property descriptor - no need to change it.
|
|
206
|
+
if (!propDescr.set)
|
|
207
|
+
return undefined;
|
|
208
|
+
var localAccessorFn = function (entity) {
|
|
209
|
+
return function () {
|
|
210
|
+
if (!propDescr)
|
|
211
|
+
return undefined;
|
|
212
|
+
if (arguments.length === 0) {
|
|
213
|
+
return propDescr.get.bind(entity)();
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
var set = propDescr.set;
|
|
217
|
+
var rawSet = set.rawSet || set;
|
|
218
|
+
rawSet.bind(entity)(arguments[0]);
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
var newDescr = {
|
|
224
|
+
get: function () {
|
|
225
|
+
if (!propDescr)
|
|
226
|
+
return undefined;
|
|
227
|
+
return propDescr.get.bind(this)();
|
|
228
|
+
},
|
|
229
|
+
set: function (value) {
|
|
230
|
+
this._$interceptor(property, value, localAccessorFn(this));
|
|
231
|
+
},
|
|
232
|
+
enumerable: propDescr.enumerable,
|
|
233
|
+
configurable: true
|
|
234
|
+
};
|
|
235
|
+
newDescr.set.rawSet = propDescr.set;
|
|
236
|
+
return newDescr;
|
|
237
|
+
}
|
|
238
|
+
function getBackingStore(instance) {
|
|
239
|
+
var proto = Object.getPrototypeOf(instance);
|
|
240
|
+
processPendingStores(proto);
|
|
241
|
+
var bs = instance._backingStore;
|
|
242
|
+
if (!bs) {
|
|
243
|
+
bs = {};
|
|
244
|
+
instance._backingStore = bs;
|
|
245
|
+
}
|
|
246
|
+
return bs;
|
|
247
|
+
}
|
|
248
|
+
// workaround for IE9 bug where instance properties cannot be changed when executing a property 'set' method.
|
|
249
|
+
function getPendingBackingStore(instance) {
|
|
250
|
+
var proto = Object.getPrototypeOf(instance);
|
|
251
|
+
var pendingStores = proto._pendingBackingStores;
|
|
252
|
+
var pending = core.arrayFirst(pendingStores, function (pending) {
|
|
253
|
+
return pending.entity === instance;
|
|
254
|
+
});
|
|
255
|
+
if (pending)
|
|
256
|
+
return pending.backingStore;
|
|
257
|
+
var bs = {};
|
|
258
|
+
pendingStores.push({ entity: instance, backingStore: bs });
|
|
259
|
+
return bs;
|
|
260
|
+
}
|
|
261
|
+
function processPendingStores(proto) {
|
|
262
|
+
var pendingStores = proto._pendingBackingStores;
|
|
263
|
+
if (pendingStores) {
|
|
264
|
+
pendingStores.forEach(function (pending) {
|
|
265
|
+
pending.entity._backingStore = pending.backingStore;
|
|
266
|
+
});
|
|
267
|
+
pendingStores.length = 0;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItbW9kZWwtbGlicmFyeS1iYWNraW5nLXN0b3JlLyIsInNvdXJjZXMiOlsiYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFeEMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUV2QjtJQUdFO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVNLHdDQUFRLEdBQWYsVUFBZ0IsTUFBNEI7UUFDMUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFDeEUsT0FBTyxNQUFNLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQW9DLENBQUM7SUFDbkgsQ0FBQztJQUVELG9EQUFVLEdBQVY7SUFDQSxDQUFDO0lBRUQsbUVBQXlCLEdBQXpCLFVBQTBCLE1BQXFCO1FBQzdDLElBQUksS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxJQUFJLE1BQU0sRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxjQUFjLElBQUksQ0FBQyxLQUFLLFlBQVk7Z0JBQUUsU0FBUztZQUN6RCxJQUFJLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxLQUFLLGNBQWMsSUFBSSxDQUFDLEtBQUssZUFBZTtnQkFBRSxTQUFTO1lBQ2xGLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFB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R0FBRyxFQUFFLENBQUM7S0FDN0I7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCw2R0FBNkc7QUFDN0csU0FBUyxzQkFBc0IsQ0FBQyxRQUFhO0lBQzNDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQ2hELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsT0FBTztRQUM1RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxPQUFPO1FBQUUsT0FBUSxPQUFlLENBQUMsWUFBWSxDQUFDO0lBQ2xELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNaLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsS0FBVTtJQUN0QyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUM7SUFDaEQsSUFBSSxhQUFhLEVBQUU7UUFDakIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLE9BQVk7WUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQzFCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJyZWV6ZSBmcm9tICdicmVlemUtY2xpZW50JztcclxuXHJcbmxldCBjb3JlID0gYnJlZXplLmNvcmU7XHJcblxyXG5leHBvcnQgY2xhc3MgTW9kZWxMaWJyYXJ5QmFja2luZ1N0b3JlQWRhcHRlciBpbXBsZW1lbnRzIGJyZWV6ZS5Nb2RlbExpYnJhcnlBZGFwdGVyIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5uYW1lID0gXCJiYWNraW5nU3RvcmVcIjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWdpc3Rlcihjb25maWc/OiBicmVlemUuQnJlZXplQ29uZmlnKSB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgYnJlZXplLmNvbmZpZztcclxuICAgIGNvbmZpZy5yZWdpc3RlckFkYXB0ZXIoXCJtb2RlbExpYnJhcnlcIiwgTW9kZWxMaWJyYXJ5QmFja2luZ1N0b3JlQWRhcHRlcik7XHJcbiAgICByZXR1cm4gY29uZmlnLmluaXRpYWxpemVBZGFwdGVySW5zdGFuY2UoXCJtb2RlbExpYnJhcnlcIiwgXCJiYWNraW5nU3RvcmVcIiwgdHJ1ZSkgYXMgTW9kZWxMaWJyYXJ5QmFja2luZ1N0b3JlQWRhcHRlcjtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKSB7XHJcbiAgfVxyXG5cclxuICBnZXRUcmFja2FibGVQcm9wZXJ0eU5hbWVzKGVudGl0eTogYnJlZXplLkVudGl0eSkge1xyXG4gICAgbGV0IG5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgcCBpbiBlbnRpdHkpIHtcclxuICAgICAgaWYgKHAgPT09IFwiZW50aXR5QXNwZWN0XCIgfHwgcCA9PT0gXCJlbnRpdHlUeXBlXCIpIGNvbnRpbnVlO1xyXG4gICAgICBpZiAocCA9PT0gXCJfJHR5cGVOYW1lXCIgfHwgcCA9PT0gXCJfcGVuZGluZ1NldHNcIiB8fCBwID09PSBcIl9iYWNraW5nU3RvcmVcIikgY29udGludWU7XHJcbiAgICAgIGxldCB2YWwgPSBlbnRpdHlbcF07XHJcbiAgICAgIGlmICghY29yZS5pc0Z1bmN0aW9uKHZhbCkpIHtcclxuICAgICAgICBuYW1lcy5wdXNoKHApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmFtZXM7XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZHVyaW5nIE1ldGFkYXRhIGluaXRpYWxpemF0aW9uXHJcbiAgaW5pdGlhbGl6ZUVudGl0eVByb3RvdHlwZShwcm90bzogYW55KSB7XHJcblxyXG4gICAgcHJvdG8uZ2V0UHJvcGVydHkgPSBmdW5jdGlvbiAocHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbcHJvcGVydHlOYW1lXTtcclxuICAgIH07XHJcblxyXG4gICAgcHJvdG8uc2V0UHJvcGVydHkgPSBmdW5jdGlvbiAocHJvcGVydHlOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgICAgLy9pZiAoIXRoaXMuX2JhY2tpbmdTdG9yZS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgIC8vICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gcHJvcGVydHkgbmFtZTpcIiArIHByb3BlcnR5TmFtZSk7XHJcbiAgICAgIC8vfVxyXG4gICAgICB0aGlzW3Byb3BlcnR5TmFtZV0gPSB2YWx1ZTtcclxuICAgICAgLy8gYWxsb3cgc2V0UHJvcGVydHkgY2hhaW5pbmcuXHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfTtcclxuXHJcbiAgICBtb3ZlUHJvcERlZnNUb1Byb3RvKHByb3RvKTtcclxuICB9XHJcblxyXG4gIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIEVudGl0eUFzcGVjdCBpcyBmaXJzdCBjcmVhdGVkIC0gdGhpcyB3aWxsIG9jY3VyIGFzIHBhcnQgb2YgdGhlIGVudGl0eVR5cGUuY3JlYXRlRW50aXR5IGNhbGwuXHJcbiAgLy8gd2hpY2ggY2FuIGJlIGNhbGxlZCBlaXRoZXIgZGlyZWN0bHkgb3IgdmlhIHN0YW5kYXJkIHF1ZXJ5IG1hdGVyaWFsaXphdGlvblxyXG5cclxuICAvLyBlbnRpdHkgaXMgZWl0aGVyIGFuIGVudGl0eSBvciBhIGNvbXBsZXhPYmplY3RcclxuICBzdGFydFRyYWNraW5nKGVudGl0eTogYnJlZXplLlN0cnVjdHVyYWxPYmplY3QsIHByb3RvOiBhbnkpIHtcclxuICAgIC8vIGNhbid0IHRvdWNoIHRoZSBub3JtYWwgcHJvcGVydHkgc2V0cyB3aXRoaW4gdGhpcyBtZXRob2QgLSBhY2Nlc3MgdGhlIGJhY2tpbmdTdG9yZSBkaXJlY3RseSBpbnN0ZWFkLlxyXG4gICAgbGV0IGJzID0gbW92ZVByb3BzVG9CYWNraW5nU3RvcmUoZW50aXR5KTtcclxuXHJcbiAgICAvLyBhc3NpZ24gZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIGVudGl0eVxyXG4gICAgbGV0IHN0eXBlID0gYnJlZXplLkVudGl0eUFzcGVjdC5pc0VudGl0eShlbnRpdHkpID8gZW50aXR5LmVudGl0eVR5cGUgOiBlbnRpdHkuY29tcGxleFR5cGU7XHJcbiAgICBzdHlwZS5nZXRQcm9wZXJ0aWVzKCkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xyXG5cclxuICAgICAgbGV0IHByb3BOYW1lID0gcHJvcC5uYW1lO1xyXG4gICAgICBsZXQgdmFsID0gZW50aXR5W3Byb3BOYW1lXTtcclxuXHJcbiAgICAgIGlmIChwcm9wIGluc3RhbmNlb2YgYnJlZXplLkRhdGFQcm9wZXJ0eSkge1xyXG4gICAgICAgIGlmIChwcm9wLmlzQ29tcGxleFByb3BlcnR5KSB7XHJcbiAgICAgICAgICBpZiAocHJvcC5pc1NjYWxhcikge1xyXG4gICAgICAgICAgICB2YWwgPSAocHJvcC5kYXRhVHlwZSBhcyBicmVlemUuQ29tcGxleFR5cGUpLl9jcmVhdGVJbnN0YW5jZUNvcmUoZW50aXR5LCBwcm9wKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZhbCA9IGJyZWV6ZS5tYWtlQ29tcGxleEFycmF5KFtdLCBlbnRpdHksIHByb3ApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoIXByb3AuaXNTY2FsYXIpIHtcclxuICAgICAgICAgIHZhbCA9IGJyZWV6ZS5tYWtlUHJpbWl0aXZlQXJyYXkoW10sIGVudGl0eSwgcHJvcCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh2YWwgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdmFsID0gcHJvcC5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBlbHNlIGlmIChwcm9wLmlzTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGFzc2lnbiBhIG5hdmlnYXRpb24gcHJvcGVydHkgaW4gYW4gZW50aXR5IGN0b3IuOiBcIiArIHByb3BOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3AuaXNTY2FsYXIpIHtcclxuICAgICAgICAgIC8vIFRPRE86IGNoYW5nZSB0aGlzIHRvIG51bGxzdG9iIGxhdGVyLlxyXG4gICAgICAgICAgdmFsID0gbnVsbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsID0gYnJlZXplLm1ha2VSZWxhdGlvbkFycmF5KFtdLCBlbnRpdHkgYXMgYnJlZXplLkVudGl0eSwgcHJvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVua25vd24gcHJvcGVydHk6IFwiICsgcHJvcE5hbWUpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGNhbid0IHRvdWNoIHRoZSBub3JtYWwgcHJvcGVydHkgc2V0cyB3aXRoaW4gdGhpcyBtZXRob2QgKElFOSBCdWcpIC0gc28gd2UgYWNjZXNzIHRoZSBiYWNraW5nU3RvcmUgZGlyZWN0bHkgaW5zdGVhZC5cclxuICAgICAgLy8gb3RoZXJ3aXNlIHdlIGNvdWxkIGp1c3QgZG9cclxuICAgICAgLy8gZW50aXR5W3Byb3BOYW1lXSA9IHZhbFxyXG4gICAgICAvLyBhZnRlciBhbGwgb2YgdGhlIGludGVyY2VwdGlvbiBsb2dpYyBoYWQgYmVlbiBpbmplY3RlZC5cclxuICAgICAgaWYgKChwcm9wIGFzIGJyZWV6ZS5EYXRhUHJvcGVydHkpLmlzU2V0dGFibGUgfHwgcHJvcC5pc05hdmlnYXRpb25Qcm9wZXJ0eSkge1xyXG4gICAgICAgIGJzW3Byb3BOYW1lXSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5icmVlemUuY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcIm1vZGVsTGlicmFyeVwiLCBNb2RlbExpYnJhcnlCYWNraW5nU3RvcmVBZGFwdGVyKTtcclxuXHJcbi8vIHByaXZhdGUgbWV0aG9kc1xyXG5cclxuLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIGR1cmluZyBNZXRhZGF0YSBpbml0aWFsaXphdGlvbiB0byBjb3JyZWN0bHkgXCJ3cmFwXCIgcHJvcGVydGllcy5cclxuZnVuY3Rpb24gbW92ZVByb3BEZWZzVG9Qcm90byhwcm90bzogYW55KSB7XHJcbiAgbGV0IHN0eXBlID0gKHByb3RvLmVudGl0eVR5cGUgfHwgcHJvdG8uY29tcGxleFR5cGUpIGFzIGJyZWV6ZS5TdHJ1Y3R1cmFsVHlwZTtcclxuICBsZXQgZXh0cmEgPSBzdHlwZS5fZXh0cmE7XHJcblxyXG4gIGxldCBhbHJlYWR5V3JhcHBlZCA9IGV4dHJhLmFscmVhZHlXcmFwcGVkUHJvcHMgfHwge307XHJcblxyXG4gIHN0eXBlLmdldFByb3BlcnRpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XHJcbiAgICBsZXQgcHJvcE5hbWUgPSBwcm9wLm5hbWU7XHJcbiAgICAvLyB3ZSBvbmx5IHdhbnQgdG8gd3JhcCBwcm9wcyB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHdyYXBwZWRcclxuICAgIGlmIChhbHJlYWR5V3JhcHBlZFtwcm9wTmFtZV0pIHJldHVybjtcclxuXHJcbiAgICAvLyBJZiBwcm9wZXJ0eSBpcyBhbHJlYWR5IGRlZmluZWQgb24gdGhlIHByb3RvdHlwZSB0aGVuIHdyYXAgaXQgaW4gYW5vdGhlciBwcm9wZXJ0eURlc2NyaXB0b3IuXHJcbiAgICAvLyBvdGhlcndpc2UgY3JlYXRlIGEgcHJvcERlc2NyaXB0b3IgZm9yIGl0LlxyXG4gICAgbGV0IGRlc2NyOiBhbnk7XHJcbiAgICBpZiAocHJvcE5hbWUgaW4gcHJvdG8pIHtcclxuICAgICAgZGVzY3IgPSB3cmFwUHJvcERlc2NyaXB0aW9uKHByb3RvLCBwcm9wKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRlc2NyID0gbWFrZVByb3BEZXNjcmlwdGlvbihwcm90bywgcHJvcCk7XHJcbiAgICB9XHJcbiAgICAvLyBkZXNjciB3aWxsIGJlIG51bGwgZm9yIGEgd3JhcHBlZCBkZXNjciB0aGF0IGlzIG5vdCBjb25maWd1cmFibGVcclxuICAgIGlmIChkZXNjciAhPSBudWxsKSB7XHJcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgcHJvcE5hbWUsIGRlc2NyKTtcclxuICAgIH1cclxuICAgIGFscmVhZHlXcmFwcGVkW3Byb3BOYW1lXSA9IHRydWU7XHJcbiAgfSk7XHJcbiAgZXh0cmEuYWxyZWFkeVdyYXBwZWRQcm9wcyA9IGFscmVhZHlXcmFwcGVkO1xyXG59XHJcblxyXG4vLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiBpbnN0YW5jZSBpcyBmaXJzdCBjcmVhdGVkIHZpYSBtYXRlcmlhbGl6YXRpb24gb3IgY3JlYXRlRW50aXR5LlxyXG4vLyB0aGlzIG1ldGhvZCBjYW5ub3QgYmUgY2FsbGVkIHdoaWxlIGEgJ2RlZmluZVByb3BlcnR5JyBhY2Nlc3NvciBpcyBleGVjdXRpbmdcclxuLy8gYmVjYXVzZSBvZiBJRSBidWcgbWVudGlvbmVkIGFib3ZlLlxyXG5cclxuZnVuY3Rpb24gbW92ZVByb3BzVG9CYWNraW5nU3RvcmUoaW5zdGFuY2U6IGFueSkge1xyXG5cclxuICBsZXQgYnMgPSBnZXRCYWNraW5nU3RvcmUoaW5zdGFuY2UpO1xyXG4gIGxldCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSk7XHJcbiAgbGV0IHN0eXBlID0gKHByb3RvLmVudGl0eVR5cGUgfHwgcHJvdG8uY29tcGxleFR5cGUpIGFzIGJyZWV6ZS5TdHJ1Y3R1cmFsVHlwZTtcclxuICBzdHlwZS5nZXRQcm9wZXJ0aWVzKCkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xyXG4gICAgbGV0IHByb3BOYW1lID0gcHJvcC5uYW1lO1xyXG4gICAgaWYgKHByb3AuaXNVbm1hcHBlZCkge1xyXG4gICAgICAvLyBpbnN1cmUgdGhhdCBhbnkgdW5tYXBwZWQgcHJvcGVydGllcyB0aGF0IHdlcmUgYWRkZWQgYWZ0ZXIgZW50aXR5VHlwZVxyXG4gICAgICAvLyB3YXMgZmlyc3QgY3JlYXRlZCBhcmUgd3JhcHBlZCB3aXRoIGEgcHJvcGVydHkgZGVzY3JpcHRvci5cclxuICAgICAgaWYgKCFjb3JlLmdldFByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgcHJvcE5hbWUpKSB7XHJcbiAgICAgICAgbGV0IGRlc2NyID0gbWFrZVByb3BEZXNjcmlwdGlvbihwcm90bywgcHJvcCk7XHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCBwcm9wTmFtZSwgZGVzY3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIWluc3RhbmNlLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkgcmV0dXJuO1xyXG4gICAgLy8gcHVsbHMgb2ZmIHRoZSB2YWx1ZSwgcmVtb3ZlcyB0aGUgaW5zdGFuY2UgcHJvcGVydHkgYW5kIHRoZW4gcmV3cml0ZXMgaXQgdmlhIEVTNSBhY2Nlc3NvclxyXG4gICAgbGV0IHZhbHVlID0gaW5zdGFuY2VbcHJvcE5hbWVdO1xyXG4gICAgZGVsZXRlIGluc3RhbmNlW3Byb3BOYW1lXTtcclxuICAgIGluc3RhbmNlW3Byb3BOYW1lXSA9IHZhbHVlO1xyXG4gIH0pO1xyXG4gIHJldHVybiBicztcclxufVxyXG5cclxuZnVuY3Rpb24gbWFrZVByb3BEZXNjcmlwdGlvbihwcm90bzogYW55LCBwcm9wZXJ0eTogYnJlZXplLkVudGl0eVByb3BlcnR5KSB7XHJcbiAgbGV0IHByb3BOYW1lID0gcHJvcGVydHkubmFtZTtcclxuICBsZXQgcGVuZGluZ1N0b3JlcyA9IHByb3RvLl9wZW5kaW5nQmFja2luZ1N0b3JlcztcclxuICBpZiAoIXBlbmRpbmdTdG9yZXMpIHtcclxuICAgIHBlbmRpbmdTdG9yZXMgPSBbXTtcclxuICAgIHByb3RvLl9wZW5kaW5nQmFja2luZ1N0b3JlcyA9IHBlbmRpbmdTdG9yZXM7XHJcbiAgfVxyXG4gIGxldCBkZXNjciA9IHtcclxuICAgIGdldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICBsZXQgYnMgPSB0aGlzLl9iYWNraW5nU3RvcmUgfHwgZ2V0QmFja2luZ1N0b3JlKHRoaXMpO1xyXG4gICAgICByZXR1cm4gYnNbcHJvcE5hbWVdO1xyXG4gICAgfSxcclxuICAgIHNldDogZnVuY3Rpb24gKHZhbHVlOiBhbnkpIHtcclxuICAgICAgLy8gSUU5IGNhbm5vdCB0b3VjaCBpbnN0YW5jZS5fYmFja2luZ1N0b3JlIGhlcmVcclxuICAgICAgbGV0IGJzID0gdGhpcy5fYmFja2luZ1N0b3JlIHx8IGdldFBlbmRpbmdCYWNraW5nU3RvcmUodGhpcyk7XHJcbiAgICAgIGxldCBhY2Nlc3NvckZuID0gZ2V0QWNjZXNzb3JGbihicywgcHJvcE5hbWUpO1xyXG4gICAgICB0aGlzLl8kaW50ZXJjZXB0b3IocHJvcGVydHksIHZhbHVlLCBhY2Nlc3NvckZuKTtcclxuICAgIH0sXHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgKGRlc2NyLnNldCBhcyBhbnkpLnJhd1NldCA9IGZ1bmN0aW9uICh2YWx1ZTogYW55KSB7XHJcbiAgICBsZXQgYnMgPSB0aGlzLl9iYWNraW5nU3RvcmUgfHwgZ2V0UGVuZGluZ0JhY2tpbmdTdG9yZSh0aGlzKTtcclxuICAgIGxldCBhY2Nlc3NvckZuID0gZ2V0QWNjZXNzb3JGbihicywgcHJvcE5hbWUpO1xyXG4gICAgYWNjZXNzb3JGbih2YWx1ZSk7XHJcbiAgfTtcclxuICByZXR1cm4gZGVzY3I7XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRBY2Nlc3NvckZuKGJzOiB7fSwgcHJvcE5hbWU6IHN0cmluZyk6IGFueSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBic1twcm9wTmFtZV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBic1twcm9wTmFtZV0gPSBhcmd1bWVudHNbMF07XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gd3JhcFByb3BEZXNjcmlwdGlvbihwcm90bzogYW55LCBwcm9wZXJ0eTogYnJlZXplLkVudGl0eVByb3BlcnR5KTogYW55IHtcclxuICBpZiAoIXByb3RvLmhhc093blByb3BlcnR5KHByb3BlcnR5Lm5hbWUpKSB7XHJcbiAgICBsZXQgbmV4dFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvKTtcclxuICAgIHJldHVybiB3cmFwUHJvcERlc2NyaXB0aW9uKG5leHRQcm90bywgcHJvcGVydHkpO1xyXG4gIH1cclxuXHJcbiAgbGV0IHByb3BEZXNjciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIHByb3BlcnR5Lm5hbWUpO1xyXG4gIGlmICghcHJvcERlc2NyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIC8vIGlmIG5vdCBjb25maWd1cmFibGU7IHdlIGNhbid0IHRvdWNoIGl0IC0gc28gbGVhdmUuXHJcbiAgaWYgKCFwcm9wRGVzY3IuY29uZmlndXJhYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIC8vIGlmIGEgZGF0YSBkZXNjcmlwdG9yIC0gZG9uJ3QgY2hhbmdlIGl0IC0gdGhpcyBpcyBiYXNpY2FsbHkgYSBzdGF0aWMgcHJvcGVydHkgLSBpLmUuIGRlZmluZWQgb24gZXZlcnkgaW5zdGFuY2Ugb2YgdGhlIHR5cGUgd2l0aCB0aGUgc2FtZSB2YWx1ZS5cclxuICBpZiAocHJvcERlc2NyLnZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIC8vIGlmIGEgcmVhZCBvbmx5IHByb3BlcnR5IGRlc2NyaXB0b3IgLSBubyBuZWVkIHRvIGNoYW5nZSBpdC5cclxuICBpZiAoIXByb3BEZXNjci5zZXQpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gIGxldCBsb2NhbEFjY2Vzc29yRm4gPSBmdW5jdGlvbiAoZW50aXR5OiBhbnkpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGlmICghcHJvcERlc2NyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBwcm9wRGVzY3IuZ2V0IS5iaW5kKGVudGl0eSkoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgc2V0ID0gcHJvcERlc2NyLnNldDtcclxuICAgICAgICBsZXQgcmF3U2V0ID0gKHNldCBhcyBhbnkpLnJhd1NldCB8fCBzZXQ7XHJcbiAgICAgICAgcmF3U2V0LmJpbmQoZW50aXR5KShhcmd1bWVudHNbMF0pO1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgbGV0IG5ld0Rlc2NyID0ge1xyXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGlmICghcHJvcERlc2NyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICByZXR1cm4gcHJvcERlc2NyLmdldCEuYmluZCh0aGlzKSgpO1xyXG4gICAgfSxcclxuICAgIHNldDogZnVuY3Rpb24gKHZhbHVlOiBhbnkpIHtcclxuICAgICAgdGhpcy5fJGludGVyY2VwdG9yKHByb3BlcnR5LCB2YWx1ZSwgbG9jYWxBY2Nlc3NvckZuKHRoaXMpKTtcclxuICAgIH0sXHJcbiAgICBlbnVtZXJhYmxlOiBwcm9wRGVzY3IuZW51bWVyYWJsZSxcclxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gIH07XHJcbiAgKG5ld0Rlc2NyLnNldCBhcyBhbnkpLnJhd1NldCA9IHByb3BEZXNjci5zZXQ7XHJcbiAgcmV0dXJuIG5ld0Rlc2NyO1xyXG59XHJcblxyXG5cclxuZnVuY3Rpb24gZ2V0QmFja2luZ1N0b3JlKGluc3RhbmNlOiBhbnkpIHtcclxuICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpO1xyXG4gIHByb2Nlc3NQZW5kaW5nU3RvcmVzKHByb3RvKTtcclxuICBsZXQgYnMgPSBpbnN0YW5jZS5fYmFja2luZ1N0b3JlO1xyXG4gIGlmICghYnMpIHtcclxuICAgIGJzID0ge307XHJcbiAgICBpbnN0YW5jZS5fYmFja2luZ1N0b3JlID0gYnM7XHJcbiAgfVxyXG4gIHJldHVybiBicztcclxufVxyXG5cclxuLy8gd29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyB3aGVyZSBpbnN0YW5jZSBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gZXhlY3V0aW5nIGEgcHJvcGVydHkgJ3NldCcgbWV0aG9kLlxyXG5mdW5jdGlvbiBnZXRQZW5kaW5nQmFja2luZ1N0b3JlKGluc3RhbmNlOiBhbnkpIHtcclxuICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpO1xyXG4gIGxldCBwZW5kaW5nU3RvcmVzID0gcHJvdG8uX3BlbmRpbmdCYWNraW5nU3RvcmVzO1xyXG4gIGxldCBwZW5kaW5nID0gY29yZS5hcnJheUZpcnN0KHBlbmRpbmdTdG9yZXMsIGZ1bmN0aW9uIChwZW5kaW5nKSB7XHJcbiAgICByZXR1cm4gcGVuZGluZy5lbnRpdHkgPT09IGluc3RhbmNlO1xyXG4gIH0pO1xyXG4gIGlmIChwZW5kaW5nKSByZXR1cm4gKHBlbmRpbmcgYXMgYW55KS5iYWNraW5nU3RvcmU7XHJcbiAgbGV0IGJzID0ge307XHJcbiAgcGVuZGluZ1N0b3Jlcy5wdXNoKHsgZW50aXR5OiBpbnN0YW5jZSwgYmFja2luZ1N0b3JlOiBicyB9KTtcclxuICByZXR1cm4gYnM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NQZW5kaW5nU3RvcmVzKHByb3RvOiBhbnkpIHtcclxuICBsZXQgcGVuZGluZ1N0b3JlcyA9IHByb3RvLl9wZW5kaW5nQmFja2luZ1N0b3JlcztcclxuICBpZiAocGVuZGluZ1N0b3Jlcykge1xyXG4gICAgcGVuZGluZ1N0b3Jlcy5mb3JFYWNoKGZ1bmN0aW9uIChwZW5kaW5nOiBhbnkpIHtcclxuICAgICAgcGVuZGluZy5lbnRpdHkuX2JhY2tpbmdTdG9yZSA9IHBlbmRpbmcuYmFja2luZ1N0b3JlO1xyXG4gICAgfSk7XHJcbiAgICBwZW5kaW5nU3RvcmVzLmxlbmd0aCA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './adapter-model-library-backing-store';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItbW9kZWwtbGlicmFyeS1iYWNraW5nLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZSc7XG4iXX0=
|