breeze-client 2.1.7 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
- package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
- package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
- package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
- package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
- package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
- package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
- package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +135 -0
- package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +49 -0
- package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
- package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +135 -0
- package/esm2022/adapter-ajax-fetch/adapter-core.mjs +49 -0
- package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
- package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +139 -0
- package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +49 -0
- package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
- package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +107 -0
- package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
- package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
- package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
- package/esm2022/adapter-data-service-odata/adapter-core.mjs +49 -0
- package/{esm5/adapter-data-service-odata/adapter-data-service-odata.js → esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs} +138 -147
- package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
- package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +100 -0
- package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
- package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +269 -0
- package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
- package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +241 -0
- package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
- package/esm2022/adapter-uri-builder-json/adapter-core.mjs +49 -0
- package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +37 -0
- package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
- package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +49 -0
- package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +191 -0
- package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
- package/esm2022/breeze-client.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
- package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
- package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
- package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +421 -0
- package/esm2022/src/abstract-data-service-adapter.mjs +325 -0
- package/esm2022/src/array.mjs +4 -0
- package/esm2022/src/assert-param.mjs +330 -0
- package/esm2022/src/breeze.mjs +85 -0
- package/esm2022/src/complex-array.mjs +117 -0
- package/esm2022/src/config.mjs +232 -0
- package/esm2022/src/core.mjs +712 -0
- package/esm2022/src/csdl-metadata-parser.mjs +385 -0
- package/esm2022/src/data-service.mjs +239 -0
- package/{esm2015/src/data-type.js → esm2022/src/data-type.mjs} +131 -124
- package/esm2022/src/default-property-interceptor.mjs +460 -0
- package/{esm2015/src/entity-action.js → esm2022/src/entity-action.mjs} +25 -25
- package/esm2022/src/entity-aspect.mjs +897 -0
- package/esm2022/src/entity-group.mjs +192 -0
- package/esm2022/src/entity-key.mjs +127 -0
- package/esm2022/src/entity-manager.mjs +2183 -0
- package/esm2022/src/entity-metadata.mjs +2242 -0
- package/esm2022/src/entity-query.mjs +1024 -0
- package/esm2022/src/entity-state.mjs +107 -0
- package/esm2022/src/enum.mjs +143 -0
- package/esm2022/src/event.mjs +264 -0
- package/esm2022/src/interface-registry.mjs +39 -0
- package/esm2022/src/key-generator.mjs +110 -0
- package/esm2022/src/local-query-comparison-options.mjs +75 -0
- package/esm2022/src/mapping-context.mjs +422 -0
- package/{esm5/src/naming-convention.js → esm2022/src/naming-convention.mjs} +35 -29
- package/esm2022/src/observable-array.mjs +183 -0
- package/esm2022/src/predicate.mjs +1259 -0
- package/esm2022/src/primitive-array.mjs +85 -0
- package/esm2022/src/query-options.mjs +160 -0
- package/esm2022/src/relation-array.mjs +173 -0
- package/esm2022/src/save-options.mjs +51 -0
- package/esm2022/src/unattached-children-map.mjs +56 -0
- package/{esm5/src/validate.js → esm2022/src/validate.mjs} +116 -110
- package/esm2022/src/validation-options.mjs +78 -0
- package/{fesm2015/breeze-client-adapter-ajax-angularjs.js → fesm2022/breeze-client-adapter-ajax-angularjs.mjs} +6 -1
- package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-fetch.js → fesm2022/breeze-client-adapter-ajax-fetch.mjs} +9 -4
- package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-httpclient.js → fesm2022/breeze-client-adapter-ajax-httpclient.mjs} +6 -4
- package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-jquery.js → fesm2022/breeze-client-adapter-ajax-jquery.mjs} +6 -2
- package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-ajax-post.js → fesm2022/breeze-client-adapter-ajax-post.mjs} +1 -1
- package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-data-service-odata.js → fesm2022/breeze-client-adapter-data-service-odata.mjs} +68 -69
- package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-data-service-webapi.js → fesm2022/breeze-client-adapter-data-service-webapi.mjs} +30 -30
- package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-model-library-backing-store.js → fesm2022/breeze-client-adapter-model-library-backing-store.mjs} +14 -13
- package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-model-library-ko.js → fesm2022/breeze-client-adapter-model-library-ko.mjs} +14 -13
- package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-uri-builder-json.js → fesm2022/breeze-client-adapter-uri-builder-json.mjs} +9 -8
- package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
- package/{fesm2015/breeze-client-adapter-uri-builder-odata.js → fesm2022/breeze-client-adapter-uri-builder-odata.mjs} +86 -86
- package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
- package/{fesm2015/breeze-client-mixin-get-entity-graph.js → fesm2022/breeze-client-mixin-get-entity-graph.mjs} +1 -1
- package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
- package/{fesm2015/breeze-client-mixin-save-queuing.js → fesm2022/breeze-client-mixin-save-queuing.mjs} +23 -2
- package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +1 -0
- package/{fesm2015/breeze-client.js → fesm2022/breeze-client.mjs} +2039 -1537
- package/fesm2022/breeze-client.mjs.map +1 -0
- package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
- package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
- package/package.json +94 -12
- package/src/config.d.ts +1 -1
- package/src/core.d.ts +1 -1
- package/src/entity-aspect.d.ts +1 -1
- package/src/entity-metadata.d.ts +8 -6
- package/src/entity-query.d.ts +1 -1
- package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
- package/adapter-ajax-angularjs/package.json +0 -13
- package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
- package/adapter-ajax-fetch/package.json +0 -13
- package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
- package/adapter-ajax-httpclient/package.json +0 -13
- package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
- package/adapter-ajax-jquery/package.json +0 -13
- package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
- package/adapter-ajax-post/package.json +0 -13
- package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
- package/adapter-data-service-odata/package.json +0 -13
- package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
- package/adapter-data-service-webapi/package.json +0 -13
- package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
- package/adapter-model-library-backing-store/package.json +0 -13
- package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
- package/adapter-model-library-ko/package.json +0 -13
- package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
- package/adapter-uri-builder-json/package.json +0 -13
- package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
- package/adapter-uri-builder-odata/package.json +0 -13
- package/breeze-client.d.ts +0 -8
- package/breeze-client.metadata.json +0 -1
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
- package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -747
- package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -333
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
- package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
- package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
- package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
- package/bundles/breeze-client.umd.js +0 -14231
- package/bundles/breeze-client.umd.js.map +0 -1
- package/bundles/breeze-client.umd.min.js +0 -16
- package/bundles/breeze-client.umd.min.js.map +0 -1
- package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
- package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
- package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
- package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
- package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
- package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
- package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
- package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
- package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
- package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
- package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
- package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -463
- package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
- package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -100
- package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
- package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
- package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
- package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
- package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
- package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
- package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
- package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
- package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
- package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
- package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
- package/esm2015/breeze-client.js +0 -9
- package/esm2015/index.js +0 -2
- package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
- package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
- package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
- package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
- package/esm2015/src/abstract-data-service-adapter.js +0 -327
- package/esm2015/src/array.js +0 -4
- package/esm2015/src/assert-param.js +0 -312
- package/esm2015/src/breeze.js +0 -85
- package/esm2015/src/complex-array.js +0 -119
- package/esm2015/src/config.js +0 -223
- package/esm2015/src/core.js +0 -714
- package/esm2015/src/csdl-metadata-parser.js +0 -385
- package/esm2015/src/data-service.js +0 -203
- package/esm2015/src/default-property-interceptor.js +0 -460
- package/esm2015/src/entity-aspect.js +0 -804
- package/esm2015/src/entity-group.js +0 -187
- package/esm2015/src/entity-key.js +0 -116
- package/esm2015/src/entity-manager.js +0 -2094
- package/esm2015/src/entity-metadata.js +0 -2109
- package/esm2015/src/entity-query.js +0 -1015
- package/esm2015/src/entity-state.js +0 -107
- package/esm2015/src/enum.js +0 -141
- package/esm2015/src/event.js +0 -256
- package/esm2015/src/interface-registry.js +0 -41
- package/esm2015/src/key-generator.js +0 -108
- package/esm2015/src/local-query-comparison-options.js +0 -65
- package/esm2015/src/mapping-context.js +0 -411
- package/esm2015/src/naming-convention.js +0 -88
- package/esm2015/src/observable-array.js +0 -185
- package/esm2015/src/predicate.js +0 -1242
- package/esm2015/src/primitive-array.js +0 -87
- package/esm2015/src/query-options.js +0 -152
- package/esm2015/src/relation-array.js +0 -175
- package/esm2015/src/save-options.js +0 -41
- package/esm2015/src/unattached-children-map.js +0 -58
- package/esm2015/src/validate.js +0 -991
- package/esm2015/src/validation-options.js +0 -64
- package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
- package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
- package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
- package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
- package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
- package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
- package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
- package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
- package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
- package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
- package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
- package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
- package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
- package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
- package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
- package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -105
- package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
- package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
- package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
- package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
- package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
- package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
- package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
- package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
- package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
- package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
- package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
- package/esm5/breeze-client.js +0 -9
- package/esm5/index.js +0 -2
- package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
- package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
- package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
- package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
- package/esm5/src/abstract-data-service-adapter.js +0 -333
- package/esm5/src/array.js +0 -4
- package/esm5/src/assert-param.js +0 -317
- package/esm5/src/breeze.js +0 -85
- package/esm5/src/complex-array.js +0 -119
- package/esm5/src/config.js +0 -228
- package/esm5/src/core.js +0 -722
- package/esm5/src/csdl-metadata-parser.js +0 -385
- package/esm5/src/data-service.js +0 -207
- package/esm5/src/data-type.js +0 -510
- package/esm5/src/default-property-interceptor.js +0 -460
- package/esm5/src/entity-action.js +0 -52
- package/esm5/src/entity-aspect.js +0 -810
- package/esm5/src/entity-group.js +0 -189
- package/esm5/src/entity-key.js +0 -118
- package/esm5/src/entity-manager.js +0 -2112
- package/esm5/src/entity-metadata.js +0 -2144
- package/esm5/src/entity-query.js +0 -1042
- package/esm5/src/entity-state.js +0 -114
- package/esm5/src/enum.js +0 -144
- package/esm5/src/event.js +0 -259
- package/esm5/src/interface-registry.js +0 -43
- package/esm5/src/key-generator.js +0 -111
- package/esm5/src/local-query-comparison-options.js +0 -67
- package/esm5/src/mapping-context.js +0 -413
- package/esm5/src/observable-array.js +0 -201
- package/esm5/src/predicate.js +0 -1307
- package/esm5/src/primitive-array.js +0 -87
- package/esm5/src/query-options.js +0 -167
- package/esm5/src/relation-array.js +0 -175
- package/esm5/src/save-options.js +0 -43
- package/esm5/src/unattached-children-map.js +0 -60
- package/esm5/src/validation-options.js +0 -66
- package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
- package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
- package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
- package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
- package/fesm2015/breeze-client.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-angularjs.js +0 -186
- package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-fetch.js +0 -186
- package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-httpclient.js +0 -193
- package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-jquery.js +0 -111
- package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-post.js +0 -86
- package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-odata.js +0 -523
- package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-webapi.js +0 -111
- package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-backing-store.js +0 -276
- package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-ko.js +0 -248
- package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
- package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
- package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
- package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
- package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
- package/fesm5/breeze-client-mixin-get-entity-graph.js +0 -254
- package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
- package/fesm5/breeze-client-mixin-save-queuing.js +0 -356
- package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
- package/fesm5/breeze-client.js +0 -13953
- package/fesm5/breeze-client.js.map +0 -1
- package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
- package/mixin-get-entity-graph/package.json +0 -13
- package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
- package/mixin-save-queuing/package.json +0 -13
|
@@ -1,105 +0,0 @@
|
|
|
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==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './adapter-data-service-webapi';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItZGF0YS1zZXJ2aWNlLXdlYmFwaS8iLCJzb3VyY2VzIjpbImJyZWV6ZS1jbGllbnQtYWRhcHRlci1kYXRhLXNlcnZpY2Utd2ViYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGknO1xuIl19
|
|
@@ -1,270 +0,0 @@
|
|
|
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=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './adapter-model-library-backing-store';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItbW9kZWwtbGlicmFyeS1iYWNraW5nLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZSc7XG4iXX0=
|