@remult/core
Advanced tools
Comparing version 1.0.6 to 1.0.7
@@ -9,5 +9,5 @@ /** | ||
export { RemultModule } from './src/lib/radweb.module'; | ||
export { myFetch, RestDataProvider, angularHttpProvider, restDataProviderHttpProviderUsingFetch, wrapFetch, Action } from './src/lib/core/restDataProvider'; | ||
export { myFetch, RestDataProvider, AngularHttpProvider, RestDataProviderHttpProviderUsingFetch, wrapFetch, Action } from './src/lib/core/restDataProvider'; | ||
export {} from './src/lib/core/dataInterfaces1'; | ||
export { isNewRow, extractSortFromSettings, translateSort, testing, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, EntitySource, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest } from './src/lib/core/utils'; | ||
export { isNewRow, extractSortFromSettings, translateSort, testing, DropDownSource, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest } from './src/lib/core/utils'; | ||
export { makeTitle, isFunction, functionOrString } from './src/lib/core/common'; | ||
@@ -20,8 +20,8 @@ export { pageArray, InMemoryDataProvider, ActualInMemoryDataProvider } from './src/lib/core/inMemoryDatabase'; | ||
export { LocalStorageDataProvider } from './src/lib/core/localStorageDataProvider'; | ||
export { EntityClass, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role } from './src/lib/context/Context'; | ||
export { EntityClass, DialogConfig, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role } from './src/lib/context/Context'; | ||
export { JwtSessionManager } from './src/lib/jwt-session-manager'; | ||
export { RouteHelperService, SignedInGuard, NotSignedInGuard } from './src/lib/navigate-to-component-route-service'; | ||
export { ServerFunction, ActualDirectSQL, myServerAction, actionInfo, serverActionField } from './src/lib/context/server-action'; | ||
export { checkForDuplicateValue, DecorateDataColumnSettings, IdEntity, IdColumn } from './src/lib/id-entity/id-entity'; | ||
export { DecorateDataColumnSettings, checkForDuplicateValue, IdEntity, IdColumn } from './src/lib/id-entity/id-entity'; | ||
export { BusyService } from './src/lib/angular-components/wait/busy-service'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNkJBQWMseUJBQXlCLENBQUM7QUFDeEMsMEhBQWMsaUNBQWlDLENBQUM7QUFDaEQsZUFBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxxaEJBQWMsc0JBQXNCLENBQUM7QUFDckMsd0RBQWMsdUJBQXVCLENBQUM7QUFDdEMsNEVBQWMsaUNBQWlDLENBQUM7QUFDaEQsbUNBQWMsbUNBQW1DLENBQUM7QUFDbEQsNENBQWMsa0NBQWtDLENBQUM7QUFDakQsd0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsd0JBQWMsMEJBQTBCLENBQUM7QUFDekMseUNBQWMseUNBQXlDLENBQUM7QUFDeEQsd0dBQWMsMkJBQTJCLENBQUM7QUFDMUMsa0NBQWMsK0JBQStCLENBQUM7QUFDOUMsb0VBQWMsK0NBQStDLENBQUM7QUFDOUQsK0ZBQWMsaUNBQWlDLENBQUM7QUFDaEQsdUZBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEByZW11bHQvY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9yYWR3ZWIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvcmVzdERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL3V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvaW5NZW1vcnlEYXRhYmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1NRTERhdGFiYXNlU2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvc2VydmVyL0RhdGFBcGknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29yZS9sb2NhbFN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9Db250ZXh0JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2p3dC1zZXNzaW9uLW1hbmFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvbmF2aWdhdGUtdG8tY29tcG9uZW50LXJvdXRlLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2lkLWVudGl0eS9pZC1lbnRpdHknO1xyXG5leHBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gJy4vc3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2UnO1xyXG4vL3NlcnZlclxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNkJBQWMseUJBQXlCLENBQUM7QUFDeEMsMEhBQWMsaUNBQWlDLENBQUM7QUFDaEQsZUFBYyxnQ0FBZ0MsQ0FBQztBQUMvQyx1aEJBQWMsc0JBQXNCLENBQUM7QUFDckMsd0RBQWMsdUJBQXVCLENBQUM7QUFDdEMsNEVBQWMsaUNBQWlDLENBQUM7QUFDaEQsbUNBQWMsbUNBQW1DLENBQUM7QUFDbEQsNENBQWMsa0NBQWtDLENBQUM7QUFDakQsd0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsd0JBQWMsMEJBQTBCLENBQUM7QUFDekMseUNBQWMseUNBQXlDLENBQUM7QUFDeEQsc0hBQWMsMkJBQTJCLENBQUM7QUFDMUMsa0NBQWMsK0JBQStCLENBQUM7QUFDOUMsb0VBQWMsK0NBQStDLENBQUM7QUFDOUQsK0ZBQWMsaUNBQWlDLENBQUM7QUFDaEQsdUZBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEByZW11bHQvY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9yYWR3ZWIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvcmVzdERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL3V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvaW5NZW1vcnlEYXRhYmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1NRTERhdGFiYXNlU2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvc2VydmVyL0RhdGFBcGknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29yZS9sb2NhbFN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9Db250ZXh0JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2p3dC1zZXNzaW9uLW1hbmFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvbmF2aWdhdGUtdG8tY29tcG9uZW50LXJvdXRlLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2lkLWVudGl0eS9pZC1lbnRpdHknO1xyXG5leHBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gJy4vc3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2UnO1xyXG4vL3NlcnZlclxyXG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export { BusyService, RemultModule, myFetch, RestDataProvider, angularHttpProvider, restDataProviderHttpProviderUsingFetch, wrapFetch, Action, isNewRow, extractSortFromSettings, translateSort, testing, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, EntitySource, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest, makeTitle, isFunction, functionOrString, pageArray, InMemoryDataProvider, ActualInMemoryDataProvider, WebSqlDataProvider, ActualSQLServerDataProvider, JsonStorageDataProvider, DataApi, LocalStorageDataProvider, EntityClass, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role, JwtSessionManager, RouteHelperService, SignedInGuard, NotSignedInGuard, ServerFunction, ActualDirectSQL, myServerAction, actionInfo, serverActionField, checkForDuplicateValue, DecorateDataColumnSettings, IdEntity, IdColumn } from './index'; | ||
export { BusyService, RemultModule, myFetch, RestDataProvider, AngularHttpProvider, RestDataProviderHttpProviderUsingFetch, wrapFetch, Action, isNewRow, extractSortFromSettings, translateSort, testing, DropDownSource, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest, makeTitle, isFunction, functionOrString, pageArray, InMemoryDataProvider, ActualInMemoryDataProvider, WebSqlDataProvider, ActualSQLServerDataProvider, JsonStorageDataProvider, DataApi, LocalStorageDataProvider, EntityClass, DialogConfig, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role, JwtSessionManager, RouteHelperService, SignedInGuard, NotSignedInGuard, ServerFunction, ActualDirectSQL, myServerAction, actionInfo, serverActionField, DecorateDataColumnSettings, checkForDuplicateValue, IdEntity, IdColumn } from './index'; | ||
export { ColumnDesigner as ɵd } from './src/lib/angular-components/column-designer/column-designer.component'; | ||
@@ -18,2 +18,2 @@ export { DataArea2Compnent as ɵc } from './src/lib/angular-components/data-area/dataArea2'; | ||
export { WaitComponent as ɵg } from './src/lib/angular-components/wait/wait.component'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtdWx0LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJyZW11bHQtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdXFDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDOUcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN2SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0NvbHVtbkRlc2lnbmVyIGFzIMm1ZH0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9jb2x1bW4tZGVzaWduZXIvY29sdW1uLWRlc2lnbmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFBcmVhMkNvbXBuZW50IGFzIMm1Y30gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWFyZWEvZGF0YUFyZWEyJztcbmV4cG9ydCB7RGF0YUNvbnRyb2wyQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhQ29udHJvbDNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL2RhdGEtY29udHJvbC9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFGaWx0ZXJJbmZvQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWZpbHRlci1pbmZvL2RhdGEtZmlsdGVyLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YUdyaWQyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckludGVyY2VwdG9yIGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy93YWl0L2J1c3ktc2VydmljZSc7XG5leHBvcnQge1dhaXRDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL3dhaXQvd2FpdC5jb21wb25lbnQnOyJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtdWx0LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJyZW11bHQtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdXJDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDOUcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN2SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0NvbHVtbkRlc2lnbmVyIGFzIMm1ZH0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9jb2x1bW4tZGVzaWduZXIvY29sdW1uLWRlc2lnbmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFBcmVhMkNvbXBuZW50IGFzIMm1Y30gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWFyZWEvZGF0YUFyZWEyJztcbmV4cG9ydCB7RGF0YUNvbnRyb2wyQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhQ29udHJvbDNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL2RhdGEtY29udHJvbC9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFGaWx0ZXJJbmZvQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWZpbHRlci1pbmZvL2RhdGEtZmlsdGVyLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YUdyaWQyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckludGVyY2VwdG9yIGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy93YWl0L2J1c3ktc2VydmljZSc7XG5leHBvcnQge1dhaXRDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL3dhaXQvd2FpdC5jb21wb25lbnQnOyJdfQ== |
@@ -54,6 +54,17 @@ /** | ||
/** @type {?} */ | ||
let itemsPerCol = Math.round(cols.length / this.columns); | ||
for (var i = 0; i < cols.length; i++) { | ||
r[Math.floor(i / itemsPerCol)].push(cols[i]); | ||
let linesToPlaceInColumns; | ||
if (this.settings.lines) | ||
linesToPlaceInColumns = this.settings.lines; | ||
else { | ||
linesToPlaceInColumns = cols.map((/** | ||
* @param {?} x | ||
* @return {?} | ||
*/ | ||
x => [x])); | ||
} | ||
/** @type {?} */ | ||
let itemsPerCol = Math.round(linesToPlaceInColumns.length / this.columns); | ||
for (var i = 0; i < linesToPlaceInColumns.length; i++) { | ||
r[Math.floor(i / itemsPerCol)].push(linesToPlaceInColumns[i]); | ||
} | ||
return this.lastCols; | ||
@@ -65,5 +76,5 @@ } | ||
selector: 'data-area', | ||
template: "<ng-container *ngFor=\"let line of settings.lines\">\r\n \r\n <div class=\"one-line\">\r\n <data-control [settings]=\"settings.columns\" [map]=\"map\" [record]=\"settings.columns.currentRow()\"\r\n *ngFor=\"let map of line\">\r\n </data-control>\r\n </div>\r\n</ng-container>\r\n<div *ngIf=\"!settings.lines\" class=\"column-container\">\r\n \r\n <div *ngFor=\"let col of theColumns()\">\r\n <data-control [settings]=\"settings.columns\" \r\n [map]=\"map\" \r\n [record]=\"settings.columns.currentRow()\"\r\n *ngFor=\"let map of col\">\r\n </data-control>\r\n</div>\r\n</div>\r\n", | ||
template: "\r\n<div class=\"column-container\">\r\n <div *ngFor=\"let col of theColumns()\">\r\n <ng-container *ngFor=\"let line of col\">\r\n <div class=\"one-line\">\r\n <data-control [settings]=\"settings.columns\" [map]=\"map\" [record]=\"settings.columns.currentRow()\"\r\n *ngFor=\"let map of line\">\r\n </data-control>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", | ||
encapsulation: ViewEncapsulation.None, | ||
styles: [".one-line{display:flex;justify-content:space-between}.one-line>*{padding-left:.2em;padding-right:.2em;flex-basis:1px;flex-grow:1}.one-line>:first-child{padding-right:0}.one-line>:last-child{padding-left:0}@media only screen and (min-width:768px){.column-container{display:flex;width:100%}.column-container div{width:100%;margin-right:5px}.column-container :last-child{margin-right:0}}"] | ||
styles: [".one-line{display:flex;justify-content:space-between}.one-line>*{margin-left:.2em;margin-right:.2em;flex-basis:1px;flex-grow:1}@media only screen and (min-width:768px){.column-container{display:flex;width:100%}.column-container>div{width:100%}}"] | ||
}] } | ||
@@ -85,2 +96,2 @@ ]; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUFyZWEyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvZGF0YS1hcmVhL2RhdGFBcmVhMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFxRCxNQUFNLGtCQUFrQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxTQUFTLEVBQUcsS0FBSyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBU2hGLE1BQU0sT0FBTyxpQkFBaUI7SUFSOUI7UUFVVyxhQUFRLEdBQXFCLEVBQUUsT0FBTyxFQUFFLElBQUksZ0JBQWdCOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUUsU0FBUzs7O1lBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBRSxDQUFDO1FBd0NwSSxZQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUF2Q0MsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsRUFBQyxDQUFDOztnQkFDbkUsWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxRQUFRLEVBQXlCO1lBQ3pELElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtvQkFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO2FBQzVEO1NBQ0Y7SUFHSCxDQUFDOzs7O0lBS0QsVUFBVTs7WUFJSixJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7UUFDcEQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVc7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDOztZQUVwQixDQUFDLEdBQWdDLEVBQUU7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNaOztZQUNHLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN4RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFFdkIsQ0FBQzs7O1lBakRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFFckIseW9CQUE4QjtnQkFFOUIsYUFBYSxFQUFDLGlCQUFpQixDQUFDLElBQUk7O2FBRXJDOzs7dUJBR0UsS0FBSztzQkF3Q0wsS0FBSzs7OztJQXhDTixxQ0FBNkk7O0lBZTdJLHFDQUFzQzs7SUFDdEMsd0NBQWtDOztJQXdCbEMsb0NBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbHVtbkNvbGxlY3Rpb24sIERhdGFBcmVhU2V0dGluZ3MsIGRhdGFBcmVhU2V0dGluZ3MsIENvbHVtblNldHRpbmcgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0YS1hcmVhJyxcclxuICBcclxuICB0ZW1wbGF0ZVVybDonLi9kYXRhQXJlYTIuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOlsnLi9kYXRhQXJlYTIuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246Vmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG4gIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YUFyZWEyQ29tcG5lbnQgIGltcGxlbWVudHMgT25DaGFuZ2VzICB7XHJcbiBcclxuICBASW5wdXQoKSBzZXR0aW5nczogZGF0YUFyZWFTZXR0aW5ncyA9IHsgY29sdW1uczogbmV3IENvbHVtbkNvbGxlY3Rpb24oKCkgPT4gdW5kZWZpbmVkLCAoKSA9PiBmYWxzZSwgdW5kZWZpbmVkLCAoKSA9PiB0cnVlKSxsaW5lczp1bmRlZmluZWQgfTtcclxuICBcclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzICYmIHRoaXMuc2V0dGluZ3MuY29sdW1ucykge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmNvbHVtbnMub25Db2xMaXN0Q2hhbmdlKCgpID0+IHRoaXMubGFzdENvbHMgPSB1bmRlZmluZWQpO1xyXG4gICAgICBsZXQgYXJlYVNldHRpbmdzID0gdGhpcy5zZXR0aW5ncyBhcyBEYXRhQXJlYVNldHRpbmdzPGFueT47XHJcbiAgICAgIGlmIChhcmVhU2V0dGluZ3Muc2V0dGluZ3MpIHtcclxuICAgICAgICBpZiAoYXJlYVNldHRpbmdzLnNldHRpbmdzLm51bWJlck9mQ29sdW1uQXJlYXMpXHJcbiAgICAgICAgICB0aGlzLmNvbHVtbnMgPSBhcmVhU2V0dGluZ3Muc2V0dGluZ3MubnVtYmVyT2ZDb2x1bW5BcmVhcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBsYXN0Q29sczogQXJyYXk8Q29sdW1uU2V0dGluZzxhbnk+W10+O1xyXG4gIGxhc3RBbGxDb2xzOiBDb2x1bW5TZXR0aW5nPGFueT5bXTtcclxuXHJcbiAgdGhlQ29sdW1ucygpOiBBcnJheTxDb2x1bW5TZXR0aW5nPGFueT5bXT4ge1xyXG5cclxuXHJcblxyXG4gICAgbGV0IGNvbHMgPSB0aGlzLnNldHRpbmdzLmNvbHVtbnMuZ2V0Tm9uR3JpZENvbHVtbnMoKTtcclxuICAgIGlmIChjb2xzID09IHRoaXMubGFzdEFsbENvbHMpXHJcbiAgICAgIHJldHVybiB0aGlzLmxhc3RDb2xzO1xyXG4gICAgdGhpcy5sYXN0QWxsQ29scyA9IGNvbHM7XHJcblxyXG4gICAgbGV0IHI6IEFycmF5PENvbHVtblNldHRpbmc8YW55PltdPiA9IFtdO1xyXG4gICAgdGhpcy5sYXN0Q29scyA9IHI7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY29sdW1uczsgaSsrKSB7XHJcbiAgICAgIHIucHVzaChbXSk7XHJcbiAgICB9XHJcbiAgICBsZXQgaXRlbXNQZXJDb2wgPSBNYXRoLnJvdW5kKGNvbHMubGVuZ3RoIC8gdGhpcy5jb2x1bW5zKTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29scy5sZW5ndGg7IGkrKykge1xyXG4gICAgICByW01hdGguZmxvb3IoaSAvIGl0ZW1zUGVyQ29sKV0ucHVzaChjb2xzW2ldKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5sYXN0Q29scztcclxuICAgIFxyXG4gIH1cclxuICBASW5wdXQoKSBjb2x1bW5zID0gMTtcclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUFyZWEyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvZGF0YS1hcmVhL2RhdGFBcmVhMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFxRCxNQUFNLGtCQUFrQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBUy9FLE1BQU0sT0FBTyxpQkFBaUI7SUFSOUI7UUFVVyxhQUFRLEdBQXFCLEVBQUUsT0FBTyxFQUFFLElBQUksZ0JBQWdCOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUUsU0FBUzs7O1lBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBOEN0SSxZQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUE3Q0MsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsRUFBQyxDQUFDOztnQkFDbkUsWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxRQUFRLEVBQXlCO1lBQ3pELElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtvQkFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO2FBQzVEO1NBQ0Y7SUFHSCxDQUFDOzs7O0lBS0QsVUFBVTs7WUFJSixJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7UUFDcEQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVc7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDOztZQUVwQixDQUFDLEdBQTZCLEVBQUU7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNaOztZQUNHLHFCQUE2QztRQUNqRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUNyQixxQkFBcUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzthQUN6QztZQUNILHFCQUFxQixHQUFHLElBQUksQ0FBQyxHQUFHOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7U0FDNUM7O1lBQ0csV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUV2QixDQUFDOzs7WUF2REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUVyQixzZEFBK0I7Z0JBRS9CLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUV0Qzs7O3VCQUdFLEtBQUs7c0JBOENMLEtBQUs7Ozs7SUE5Q04scUNBQStJOztJQWUvSSxxQ0FBbUM7O0lBQ25DLHdDQUFrQzs7SUE4QmxDLG9DQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb2x1bW5Db2xsZWN0aW9uLCBEYXRhQXJlYVNldHRpbmdzLCBkYXRhQXJlYVNldHRpbmdzLCBDb2x1bW5TZXR0aW5nIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0YS1hcmVhJyxcclxuXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGFBcmVhMi5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhQXJlYTIuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhQXJlYTJDb21wbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBkYXRhQXJlYVNldHRpbmdzID0geyBjb2x1bW5zOiBuZXcgQ29sdW1uQ29sbGVjdGlvbigoKSA9PiB1bmRlZmluZWQsICgpID0+IGZhbHNlLCB1bmRlZmluZWQsICgpID0+IHRydWUpLCBsaW5lczogdW5kZWZpbmVkIH07XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MgJiYgdGhpcy5zZXR0aW5ncy5jb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuY29sdW1ucy5vbkNvbExpc3RDaGFuZ2UoKCkgPT4gdGhpcy5sYXN0Q29scyA9IHVuZGVmaW5lZCk7XHJcbiAgICAgIGxldCBhcmVhU2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzIGFzIERhdGFBcmVhU2V0dGluZ3M8YW55PjtcclxuICAgICAgaWYgKGFyZWFTZXR0aW5ncy5zZXR0aW5ncykge1xyXG4gICAgICAgIGlmIChhcmVhU2V0dGluZ3Muc2V0dGluZ3MubnVtYmVyT2ZDb2x1bW5BcmVhcylcclxuICAgICAgICAgIHRoaXMuY29sdW1ucyA9IGFyZWFTZXR0aW5ncy5zZXR0aW5ncy5udW1iZXJPZkNvbHVtbkFyZWFzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIGxhc3RDb2xzOiBDb2x1bW5TZXR0aW5nPGFueT5bXVtdW107XHJcbiAgbGFzdEFsbENvbHM6IENvbHVtblNldHRpbmc8YW55PltdO1xyXG5cclxuICB0aGVDb2x1bW5zKCk6IENvbHVtblNldHRpbmc8YW55PltdW11bXSB7XHJcblxyXG5cclxuXHJcbiAgICBsZXQgY29scyA9IHRoaXMuc2V0dGluZ3MuY29sdW1ucy5nZXROb25HcmlkQ29sdW1ucygpO1xyXG4gICAgaWYgKGNvbHMgPT0gdGhpcy5sYXN0QWxsQ29scylcclxuICAgICAgcmV0dXJuIHRoaXMubGFzdENvbHM7XHJcbiAgICB0aGlzLmxhc3RBbGxDb2xzID0gY29scztcclxuXHJcbiAgICBsZXQgcjogQ29sdW1uU2V0dGluZzxhbnk+W11bXVtdID0gW107XHJcbiAgICB0aGlzLmxhc3RDb2xzID0gcjtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jb2x1bW5zOyBpKyspIHtcclxuICAgICAgci5wdXNoKFtdKTtcclxuICAgIH1cclxuICAgIGxldCBsaW5lc1RvUGxhY2VJbkNvbHVtbnM6IENvbHVtblNldHRpbmc8YW55PltdW107XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5saW5lcylcclxuICAgICAgbGluZXNUb1BsYWNlSW5Db2x1bW5zID0gdGhpcy5zZXR0aW5ncy5saW5lcztcclxuICAgIGVsc2Uge1xyXG4gICAgICBsaW5lc1RvUGxhY2VJbkNvbHVtbnMgPSBjb2xzLm1hcCh4ID0+IFt4XSk7XHJcbiAgICB9XHJcbiAgICBsZXQgaXRlbXNQZXJDb2wgPSBNYXRoLnJvdW5kKGxpbmVzVG9QbGFjZUluQ29sdW1ucy5sZW5ndGggLyB0aGlzLmNvbHVtbnMpO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lc1RvUGxhY2VJbkNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgcltNYXRoLmZsb29yKGkgLyBpdGVtc1BlckNvbCldLnB1c2gobGluZXNUb1BsYWNlSW5Db2x1bW5zW2ldKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5sYXN0Q29scztcclxuXHJcbiAgfVxyXG4gIEBJbnB1dCgpIGNvbHVtbnMgPSAxO1xyXG59XHJcbiJdfQ== |
@@ -52,2 +52,4 @@ /** | ||
return false; | ||
if (!this._getEditable()) | ||
return false; | ||
if (this.map.allowClick === undefined) { | ||
@@ -61,2 +63,9 @@ return true; | ||
*/ | ||
click() { | ||
if (this.showClick()) | ||
this.settings._click(this.map, this.record); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
getClickIcon() { | ||
@@ -146,3 +155,3 @@ if (this.map.clickIcon) | ||
selector: 'data-control', | ||
template: "\r\n<div class=\"data-control2\">\r\n <mat-form-field appearance=\"outline\" [floatLabel]=\"getFloatLabel()\" *ngIf=\"!showCheckbox()\" class=\"full-width-form-field dense-form-field\">\r\n <mat-label>{{map.caption}}</mat-label>\r\n <div style=\"display:flex;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" [errorStateMatcher]=\"ngErrorStateMatches\"\r\n [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px;\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button matSuffix *ngIf=\"showClick()\" (click)=\"settings._click(map,record)\">\r\n <mat-icon>{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId\">{{getError()}}</mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\">{{map.caption}}</mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>", | ||
template: "<div class=\"data-control2\">\r\n <mat-form-field appearance=\"outline\" [floatLabel]=\"getFloatLabel()\" *ngIf=\"!showCheckbox()\"\r\n class=\"full-width-form-field dense-form-field\">\r\n <mat-label>{{map.caption}}</mat-label>\r\n <div style=\"display:flex;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" [errorStateMatcher]=\"ngErrorStateMatches\"\r\n [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px;width:100%;\" (click)=\"click()\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button matSuffix *ngIf=\"showClick()\" (click)=\"click()\">\r\n <mat-icon>{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId\">{{getError()}}</mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\">{{map.caption}}</mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>", | ||
styles: [""] | ||
@@ -172,2 +181,2 @@ }] } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU0zRCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBZ0JXLGFBQVEsR0FBMEIsSUFBSSxnQkFBZ0IsQ0FBTSxTQUFTOzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBb0VsSCx3QkFBbUIsR0FBRyxJQUFJLEtBQU0sU0FBUSxpQkFBaUI7Ozs7WUFDdkQsWUFBbUIsTUFBNkI7Z0JBQzlDLEtBQUssRUFBRSxDQUFDO2dCQURTLFdBQU0sR0FBTixNQUFNLENBQXVCO1lBRWhELENBQUM7Ozs7WUFDRCxZQUFZO2dCQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztTQUNGLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDVixDQUFDOzs7OztJQXJGQyxJQUFhLE1BQU0sQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7SUFL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OUM7OztrQkFFRSxLQUFLO3FCQUNMLEtBQUs7cUJBT0wsS0FBSzswQkFDTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFWTixvQ0FBaUM7O0lBT2pDLHNDQUFXOztJQUNYLHVDQUE2Qjs7SUFDN0IsNENBQTRCOztJQUM1Qix5Q0FBa0g7O0lBb0VsSCxvREFPUSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb2x1bW5Db2xsZWN0aW9uLCBDb2x1bW5TZXR0aW5nLCBFbnRpdHksIENvbHVtbiwgU3RyaW5nQ29sdW1uIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0YS1jb250cm9sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1jb250cm9sMi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1jb250cm9sMi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhQ29udHJvbDJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG1hcDogQ29sdW1uU2V0dGluZzxhbnk+O1xyXG4gIEBJbnB1dCgpIHNldCBjb2x1bW4odmFsdWU6IENvbHVtbjxhbnk+KSB7XHJcbiAgICB0aGlzLm1hcCA9IHtcclxuICAgICAgY29sdW1uOiB2YWx1ZVxyXG4gICAgfTtcclxuICAgIHRoaXMubWFwLmNvbHVtbi5fX2RlY29yYXRlRGF0YVNldHRpbmdzKHRoaXMubWFwKTtcclxuICB9XHJcbiAgdGhlSWQ6IGFueTtcclxuICBASW5wdXQoKSByZWNvcmQ6IEVudGl0eTxhbnk+O1xyXG4gIEBJbnB1dCgpIG5vdFJlYWRvbmx5OiBmYWxzZTtcclxuICBASW5wdXQoKSBzZXR0aW5nczogQ29sdW1uQ29sbGVjdGlvbjxhbnk+ID0gbmV3IENvbHVtbkNvbGxlY3Rpb248YW55Pih1bmRlZmluZWQsICgpID0+IHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcclxuICBzaG93RGVzY3JpcHRpb24oKSB7XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLm1hcC5jb2x1bW4pICYmIHRoaXMubWFwLmdldFZhbHVlIHx8ICF0aGlzLl9nZXRFZGl0YWJsZSgpO1xyXG4gIH1cclxuICBzaG93Q2xpY2soKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwLmNsaWNrKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5tYXAuYWxsb3dDbGljayA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWFwLmFsbG93Q2xpY2sodGhpcy5yZWNvcmQpO1xyXG4gIH1cclxuICBnZXRDbGlja0ljb24oKSB7XHJcbiAgICBpZiAodGhpcy5tYXAuY2xpY2tJY29uKVxyXG4gICAgICByZXR1cm4gdGhpcy5tYXAuY2xpY2tJY29uO1xyXG4gICAgcmV0dXJuICdrZXlib2FyZF9hcnJvd19kb3duJ1xyXG4gIH1cclxuICBkYXRhQ29udHJvbFN0eWxlKCkge1xyXG5cclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9fZGF0YUNvbnRyb2xTdHlsZSh0aGlzLm1hcCk7XHJcbiAgfVxyXG4gIF9nZXRDb2x1bW4oKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwLmNvbHVtbilcclxuICAgICAgcmV0dXJuIG5ldyBTdHJpbmdDb2x1bW4oKTtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9fZ2V0Q29sdW1uKHRoaXMubWFwLCB0aGlzLnJlY29yZCk7XHJcblxyXG4gIH1cclxuICBfZ2V0RWRpdGFibGUoKSB7XHJcbiAgICBpZiAodGhpcy5ub3RSZWFkb25seSlcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fZ2V0RWRpdGFibGUodGhpcy5tYXApO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG4gIGlzU2VsZWN0KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubWFwLmRyb3BEb3duKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgc2hvd1RleHRCb3goKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNTZWxlY3QoKSAmJiAhdGhpcy5zaG93Q2hlY2tib3goKTtcclxuICB9XHJcbiAgc2hvd0NoZWNrYm94KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldENvbERhdGFUeXBlKHRoaXMubWFwKSA9PSAnY2hlY2tib3gnXHJcbiAgfVxyXG4gIGdldEVycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldEVycm9yKHRoaXMubWFwLCB0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG4gIGdldFN0eWxlKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0Rlc2NyaXB0aW9uKCkpIHtcclxuICAgICAgaWYgKHRoaXMubWFwLmhpZGVEYXRhT25JbnB1dCB8fCAhdGhpcy5fZ2V0RWRpdGFibGUoKSkge1xyXG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6ICdub25lJyB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IHdpZHRoOiAnNTBweCcgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcbiAgZ2V0RmxvYXRMYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLl9nZXRDb2xEaXNwbGF5VmFsdWUodGhpcy5tYXAsIHRoaXMucmVjb3JkKSlcclxuICAgICAgICByZXR1cm4gJ2Fsd2F5cyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdFcnJvclN0YXRlTWF0Y2hlcyA9IG5ldyBjbGFzcyBleHRlbmRzIEVycm9yU3RhdGVNYXRjaGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXJlbnQ6IERhdGFDb250cm9sMkNvbXBvbmVudCkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgaXNFcnJvclN0YXRlKCkge1xyXG4gICAgICByZXR1cm4gISF0aGlzLnBhcmVudC5nZXRFcnJvcigpO1xyXG4gICAgfVxyXG4gIH0odGhpcyk7XHJcbn1cclxuXHJcblxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU0zRCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBZ0JXLGFBQVEsR0FBMEIsSUFBSSxnQkFBZ0IsQ0FBTSxTQUFTOzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMEVsSCx3QkFBbUIsR0FBRyxJQUFJLEtBQU0sU0FBUSxpQkFBaUI7Ozs7WUFDdkQsWUFBbUIsTUFBNkI7Z0JBQzlDLEtBQUssRUFBRSxDQUFDO2dCQURTLFdBQU0sR0FBTixNQUFNLENBQXVCO1lBRWhELENBQUM7Ozs7WUFDRCxZQUFZO2dCQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztTQUNGLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDVixDQUFDOzs7OztJQTNGQyxJQUFhLE1BQU0sQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7SUFL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QUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzFELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzs7WUF2RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixrM0RBQTZDOzthQUU5Qzs7O2tCQUVFLEtBQUs7cUJBQ0wsS0FBSztxQkFPTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzs7OztJQVZOLG9DQUFpQzs7SUFPakMsc0NBQVc7O0lBQ1gsdUNBQTZCOztJQUM3Qiw0Q0FBNEI7O0lBQzVCLHlDQUFrSDs7SUEwRWxILG9EQU9RIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbHVtbkNvbGxlY3Rpb24sIENvbHVtblNldHRpbmcsIEVudGl0eSwgQ29sdW1uLCBTdHJpbmdDb2x1bW4gfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRhLWNvbnRyb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWNvbnRyb2wyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWNvbnRyb2wyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFDb250cm9sMkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWFwOiBDb2x1bW5TZXR0aW5nPGFueT47XHJcbiAgQElucHV0KCkgc2V0IGNvbHVtbih2YWx1ZTogQ29sdW1uPGFueT4pIHtcclxuICAgIHRoaXMubWFwID0ge1xyXG4gICAgICBjb2x1bW46IHZhbHVlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXAuY29sdW1uLl9fZGVjb3JhdGVEYXRhU2V0dGluZ3ModGhpcy5tYXApO1xyXG4gIH1cclxuICB0aGVJZDogYW55O1xyXG4gIEBJbnB1dCgpIHJlY29yZDogRW50aXR5PGFueT47XHJcbiAgQElucHV0KCkgbm90UmVhZG9ubHk6IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBDb2x1bW5Db2xsZWN0aW9uPGFueT4gPSBuZXcgQ29sdW1uQ29sbGVjdGlvbjxhbnk+KHVuZGVmaW5lZCwgKCkgPT4gdHJ1ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xyXG4gIHNob3dEZXNjcmlwdGlvbigpIHtcclxuXHJcbiAgICByZXR1cm4gKHRoaXMubWFwLmNvbHVtbikgJiYgdGhpcy5tYXAuZ2V0VmFsdWUgfHwgIXRoaXMuX2dldEVkaXRhYmxlKCk7XHJcbiAgfVxyXG4gIHNob3dDbGljaygpIHtcclxuICAgIGlmICghdGhpcy5tYXAuY2xpY2spXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIGlmICghdGhpcy5fZ2V0RWRpdGFibGUoKSlcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubWFwLmFsbG93Q2xpY2sgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1hcC5hbGxvd0NsaWNrKHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgY2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5zaG93Q2xpY2soKSlcclxuICAgICAgdGhpcy5zZXR0aW5ncy5fY2xpY2sodGhpcy5tYXAsIHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgZ2V0Q2xpY2tJY29uKCkge1xyXG4gICAgaWYgKHRoaXMubWFwLmNsaWNrSWNvbilcclxuICAgICAgcmV0dXJuIHRoaXMubWFwLmNsaWNrSWNvbjtcclxuICAgIHJldHVybiAna2V5Ym9hcmRfYXJyb3dfZG93bidcclxuICB9XHJcbiAgZGF0YUNvbnRyb2xTdHlsZSgpIHtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2RhdGFDb250cm9sU3R5bGUodGhpcy5tYXApO1xyXG4gIH1cclxuICBfZ2V0Q29sdW1uKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcC5jb2x1bW4pXHJcbiAgICAgIHJldHVybiBuZXcgU3RyaW5nQ29sdW1uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2dldENvbHVtbih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG5cclxuICB9XHJcbiAgX2dldEVkaXRhYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubm90UmVhZG9ubHkpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldEVkaXRhYmxlKHRoaXMubWFwKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuICBpc1NlbGVjdCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLm1hcC5kcm9wRG93bilcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIHNob3dUZXh0Qm94KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzU2VsZWN0KCkgJiYgIXRoaXMuc2hvd0NoZWNrYm94KCk7XHJcbiAgfVxyXG4gIHNob3dDaGVja2JveCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRDb2xEYXRhVHlwZSh0aGlzLm1hcCkgPT0gJ2NoZWNrYm94J1xyXG4gIH1cclxuICBnZXRFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRFcnJvcih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG4gIH1cclxuICBnZXRTdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLm1hcC5oaWRlRGF0YU9uSW5wdXQgfHwgIXRoaXMuX2dldEVkaXRhYmxlKCkpIHtcclxuICAgICAgICByZXR1cm4geyBkaXNwbGF5OiAnbm9uZScgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geyB3aWR0aDogJzUwcHgnIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG4gIGdldEZsb2F0TGFiZWwoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RGVzY3JpcHRpb24oKSkge1xyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5fZ2V0Q29sRGlzcGxheVZhbHVlKHRoaXMubWFwLCB0aGlzLnJlY29yZCkpXHJcbiAgICAgICAgcmV0dXJuICdhbHdheXMnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nRXJyb3JTdGF0ZU1hdGNoZXMgPSBuZXcgY2xhc3MgZXh0ZW5kcyBFcnJvclN0YXRlTWF0Y2hlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50OiBEYXRhQ29udHJvbDJDb21wb25lbnQpIHtcclxuICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIGlzRXJyb3JTdGF0ZSgpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5wYXJlbnQuZ2V0RXJyb3IoKTtcclxuICAgIH1cclxuICB9KHRoaXMpO1xyXG59XHJcblxyXG5cclxuIl19 |
@@ -53,2 +53,4 @@ /** | ||
return false; | ||
if (!this._getEditable()) | ||
return false; | ||
if (this.map.allowClick === undefined) { | ||
@@ -84,2 +86,9 @@ return true; | ||
*/ | ||
click() { | ||
if (this.showClick()) | ||
this.settings._click(this.map, this.record); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
_getEditable() { | ||
@@ -149,3 +158,3 @@ if (this.notReadonly) | ||
selector: 'data-control3', | ||
template: "<div class=\"data-control3\" #myDiv>\r\n <div style=\"display:flex;width:100%;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\"\r\n [errorStateMatcher]=\"ngErrorStateMatches\" [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px;\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\" class=\"my-select\" [class.rtl-select]=\"rightToLeft\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button *ngIf=\"showClick()\" (click)=\"settings._click(map,record)\" class=\"row-button\">\r\n <mat-icon style=\"height:19px;\">{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\"></mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>\r\n<mat-error *ngIf=\"getError()\" [id]=\"theId\" style=\"font-size: 75%;\">{{getError()}}</mat-error>", | ||
template: "<div class=\"data-control3\" #myDiv>\r\n <div style=\"display:flex;width:100%;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\"\r\n [errorStateMatcher]=\"ngErrorStateMatches\" [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px; width:100%;\" (click)=\"click()\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\" class=\"my-select\" [class.rtl-select]=\"rightToLeft\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button *ngIf=\"showClick()\" (click)=\"click()\" class=\"row-button\">\r\n <mat-icon style=\"height:19px;\">{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\"></mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>\r\n<mat-error *ngIf=\"getError()\" [id]=\"theId\" style=\"font-size: 75%;\">{{getError()}}</mat-error>", | ||
styles: [".my-select::after{content:\"\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;pointer-events:none;color:rgba(0,0,0,.54);margin-top:-5px}.rtl-select::after{right:auto;left:0}.my-select{position:relative;width:100%}.data-control3{display:flex;width:100%}.row-button{height:auto;line-height:normal}input{border:none;outline:0;padding:0;margin:0;font-size:inherit;font-family:inherit}"] | ||
@@ -178,2 +187,2 @@ }] } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFNM0QsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQWFhLGdCQUFXLEdBQUMsS0FBSyxDQUFDO1FBTXBCLGFBQVEsR0FBMEIsSUFBSSxnQkFBZ0IsQ0FBTSxTQUFTOzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBc0VsSCx3QkFBbUIsR0FBRyxJQUFJLEtBQU0sU0FBUSxpQkFBaUI7Ozs7WUFDdkQsWUFBbUIsTUFBNkI7Z0JBQzlDLEtBQUssRUFBRSxDQUFDO2dCQURTLFdBQU0sR0FBTixNQUFNLENBQXVCO1lBRWhELENBQUM7Ozs7WUFDRCxZQUFZO2dCQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztTQUNGLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDVixDQUFDOzs7OztJQTFGQyxJQUFhLE1BQU0sQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcs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UyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qix5cURBQTZDOzthQUU5Qzs7O2tCQUVFLEtBQUs7cUJBQ0wsS0FBSzswQkFNTCxLQUFLO3FCQUdMLEtBQUs7MEJBRUwsS0FBSzt1QkFDTCxLQUFLOzs7O0lBYk4sb0NBQWlDOztJQU9qQyw0Q0FBNkI7O0lBRTdCLHNDQUFXOztJQUNYLHVDQUE2Qjs7SUFFN0IsNENBQTRCOztJQUM1Qix5Q0FBa0g7O0lBc0VsSCxvREFPUSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb2x1bW5Db2xsZWN0aW9uLCBDb2x1bW5TZXR0aW5nLCBFbnRpdHksIENvbHVtbiwgU3RyaW5nQ29sdW1uIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgLFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGEtY29udHJvbDMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFDb250cm9sM0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWFwOiBDb2x1bW5TZXR0aW5nPGFueT47XHJcbiAgQElucHV0KCkgc2V0IGNvbHVtbih2YWx1ZTogQ29sdW1uPGFueT4pIHtcclxuICAgIHRoaXMubWFwID0ge1xyXG4gICAgICBjb2x1bW46IHZhbHVlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXAuY29sdW1uLl9fZGVjb3JhdGVEYXRhU2V0dGluZ3ModGhpcy5tYXApO1xyXG4gIH1cclxuICBASW5wdXQoKSAgIHJpZ2h0VG9MZWZ0PWZhbHNlO1xyXG4gXHJcbiAgdGhlSWQ6IGFueTtcclxuICBASW5wdXQoKSByZWNvcmQ6IEVudGl0eTxhbnk+O1xyXG4gIFxyXG4gIEBJbnB1dCgpIG5vdFJlYWRvbmx5OiBmYWxzZTtcclxuICBASW5wdXQoKSBzZXR0aW5nczogQ29sdW1uQ29sbGVjdGlvbjxhbnk+ID0gbmV3IENvbHVtbkNvbGxlY3Rpb248YW55Pih1bmRlZmluZWQsICgpID0+IHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcclxuICBzaG93RGVzY3JpcHRpb24oKSB7XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLm1hcC5jb2x1bW4pICYmIHRoaXMubWFwLmdldFZhbHVlIHx8ICF0aGlzLl9nZXRFZGl0YWJsZSgpO1xyXG4gIH1cclxuICBzaG93Q2xpY2soKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwLmNsaWNrKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5tYXAuYWxsb3dDbGljayA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWFwLmFsbG93Q2xpY2sodGhpcy5yZWNvcmQpO1xyXG4gIH1cclxuICBnZXRDbGlja0ljb24oKSB7XHJcbiAgICBpZiAodGhpcy5tYXAuY2xpY2tJY29uKVxyXG4gICAgICByZXR1cm4gdGhpcy5tYXAuY2xpY2tJY29uO1xyXG4gICAgcmV0dXJuICdrZXlib2FyZF9hcnJvd19kb3duJ1xyXG4gIH1cclxuICBkYXRhQ29udHJvbFN0eWxlKCkge1xyXG5cclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9fZGF0YUNvbnRyb2xTdHlsZSh0aGlzLm1hcCk7XHJcbiAgfVxyXG4gIF9nZXRDb2x1bW4oKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwLmNvbHVtbilcclxuICAgICAgcmV0dXJuIG5ldyBTdHJpbmdDb2x1bW4oKTtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9fZ2V0Q29sdW1uKHRoaXMubWFwLCB0aGlzLnJlY29yZCk7XHJcblxyXG4gIH1cclxuICBfZ2V0RWRpdGFibGUoKSB7XHJcbiAgICBpZiAodGhpcy5ub3RSZWFkb25seSlcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fZ2V0RWRpdGFibGUodGhpcy5tYXApO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG4gIGlzU2VsZWN0KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubWFwLmRyb3BEb3duKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgc2hvd1RleHRCb3goKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNTZWxlY3QoKSAmJiAhdGhpcy5zaG93Q2hlY2tib3goKTtcclxuICB9XHJcbiAgc2hvd0NoZWNrYm94KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldENvbERhdGFUeXBlKHRoaXMubWFwKSA9PSAnY2hlY2tib3gnXHJcbiAgfVxyXG4gIGdldEVycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldEVycm9yKHRoaXMubWFwLCB0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG4gIGdldFN0eWxlKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0Rlc2NyaXB0aW9uKCkpIHtcclxuICAgICAgaWYgKHRoaXMubWFwLmhpZGVEYXRhT25JbnB1dCB8fCAhdGhpcy5fZ2V0RWRpdGFibGUoKSkge1xyXG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6ICdub25lJyB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IHdpZHRoOiAnNTBweCcgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHdpZHRoOicxMDAlJ1xyXG4gICAgfTtcclxuICB9XHJcbiAgZ2V0RmxvYXRMYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLl9nZXRDb2xEaXNwbGF5VmFsdWUodGhpcy5tYXAsIHRoaXMucmVjb3JkKSlcclxuICAgICAgICByZXR1cm4gJ2Fsd2F5cyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdFcnJvclN0YXRlTWF0Y2hlcyA9IG5ldyBjbGFzcyBleHRlbmRzIEVycm9yU3RhdGVNYXRjaGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXJlbnQ6IERhdGFDb250cm9sM0NvbXBvbmVudCkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgaXNFcnJvclN0YXRlKCkge1xyXG4gICAgICByZXR1cm4gISF0aGlzLnBhcmVudC5nZXRFcnJvcigpO1xyXG4gICAgfVxyXG4gIH0odGhpcyk7XHJcbn1cclxuXHJcblxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFNM0QsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQWFXLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBTXBCLGFBQVEsR0FBMEIsSUFBSSxnQkFBZ0IsQ0FBTSxTQUFTOzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBNEVsSCx3QkFBbUIsR0FBRyxJQUFJLEtBQU0sU0FBUSxpQkFBaUI7Ozs7WUFDdkQsWUFBbUIsTUFBNkI7Z0JBQzlDLEtBQUssRUFBRSxDQUFDO2dCQURTLFdBQU0sR0FBTixNQUFNLENBQXVCO1lBRWhELENBQUM7Ozs7WUFDRCxZQUFZO2dCQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztTQUNGLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDVixDQUFDOzs7OztJQWhHQyxJQUFhLE1BQU0sQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7SUFRRCxlQUFlO1FBRWIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEUsQ0FBQzs7OztJQUNELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTyxLQUFLLENBQUM7UUFDZixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OztJQUNELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUztZQUNwQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQzVCLE9BQU8scUJBQXFCLENBQUE7SUFDOUIsQ0FBQzs7OztJQUNELGdCQUFnQjtRQUVkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7OztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTFELENBQUM7Ozs7SUFDRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7SUFDRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7SUFDRCxXQUFXO0lBRVgsQ0FBQzs7OztJQUNELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUTtZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OztJQUNELFdBQVc7UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFBO0lBQzlELENBQUM7Ozs7SUFDRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDOzs7O0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDNUI7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQzFCO1FBQ0QsT0FBTztZQUNMLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQztJQUNKLENBQUM7Ozs7SUFDRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDMUQsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OztZQTVGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHNyREFBNkM7O2FBRTlDOzs7a0JBRUUsS0FBSztxQkFDTCxLQUFLOzBCQU1MLEtBQUs7cUJBR0wsS0FBSzswQkFFTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFiTixvQ0FBaUM7O0lBT2pDLDRDQUE2Qjs7SUFFN0Isc0NBQVc7O0lBQ1gsdUNBQTZCOztJQUU3Qiw0Q0FBNEI7O0lBQzVCLHlDQUFrSDs7SUE0RWxILG9EQU9RIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbHVtbkNvbGxlY3Rpb24sIENvbHVtblNldHRpbmcsIEVudGl0eSwgQ29sdW1uLCBTdHJpbmdDb2x1bW4gfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGEtY29udHJvbDMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFDb250cm9sM0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWFwOiBDb2x1bW5TZXR0aW5nPGFueT47XHJcbiAgQElucHV0KCkgc2V0IGNvbHVtbih2YWx1ZTogQ29sdW1uPGFueT4pIHtcclxuICAgIHRoaXMubWFwID0ge1xyXG4gICAgICBjb2x1bW46IHZhbHVlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXAuY29sdW1uLl9fZGVjb3JhdGVEYXRhU2V0dGluZ3ModGhpcy5tYXApO1xyXG4gIH1cclxuICBASW5wdXQoKSByaWdodFRvTGVmdCA9IGZhbHNlO1xyXG5cclxuICB0aGVJZDogYW55O1xyXG4gIEBJbnB1dCgpIHJlY29yZDogRW50aXR5PGFueT47XHJcblxyXG4gIEBJbnB1dCgpIG5vdFJlYWRvbmx5OiBmYWxzZTtcclxuICBASW5wdXQoKSBzZXR0aW5nczogQ29sdW1uQ29sbGVjdGlvbjxhbnk+ID0gbmV3IENvbHVtbkNvbGxlY3Rpb248YW55Pih1bmRlZmluZWQsICgpID0+IHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcclxuICBzaG93RGVzY3JpcHRpb24oKSB7XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLm1hcC5jb2x1bW4pICYmIHRoaXMubWFwLmdldFZhbHVlIHx8ICF0aGlzLl9nZXRFZGl0YWJsZSgpO1xyXG4gIH1cclxuICBzaG93Q2xpY2soKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwLmNsaWNrKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAoIXRoaXMuX2dldEVkaXRhYmxlKCkpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIGlmICh0aGlzLm1hcC5hbGxvd0NsaWNrID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5tYXAuYWxsb3dDbGljayh0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG4gIGdldENsaWNrSWNvbigpIHtcclxuICAgIGlmICh0aGlzLm1hcC5jbGlja0ljb24pXHJcbiAgICAgIHJldHVybiB0aGlzLm1hcC5jbGlja0ljb247XHJcbiAgICByZXR1cm4gJ2tleWJvYXJkX2Fycm93X2Rvd24nXHJcbiAgfVxyXG4gIGRhdGFDb250cm9sU3R5bGUoKSB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX19kYXRhQ29udHJvbFN0eWxlKHRoaXMubWFwKTtcclxuICB9XHJcbiAgX2dldENvbHVtbigpIHtcclxuICAgIGlmICghdGhpcy5tYXAuY29sdW1uKVxyXG4gICAgICByZXR1cm4gbmV3IFN0cmluZ0NvbHVtbigpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX19nZXRDb2x1bW4odGhpcy5tYXAsIHRoaXMucmVjb3JkKTtcclxuXHJcbiAgfVxyXG4gIGNsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0NsaWNrKCkpXHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuX2NsaWNrKHRoaXMubWFwLCB0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG4gIF9nZXRFZGl0YWJsZSgpIHtcclxuICAgIGlmICh0aGlzLm5vdFJlYWRvbmx5KVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRFZGl0YWJsZSh0aGlzLm1hcCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG5cclxuICB9XHJcbiAgaXNTZWxlY3QoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5tYXAuZHJvcERvd24pXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBzaG93VGV4dEJveCgpIHtcclxuICAgIHJldHVybiAhdGhpcy5pc1NlbGVjdCgpICYmICF0aGlzLnNob3dDaGVja2JveCgpO1xyXG4gIH1cclxuICBzaG93Q2hlY2tib3goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fZ2V0Q29sRGF0YVR5cGUodGhpcy5tYXApID09ICdjaGVja2JveCdcclxuICB9XHJcbiAgZ2V0RXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fZ2V0RXJyb3IodGhpcy5tYXAsIHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgZ2V0U3R5bGUoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RGVzY3JpcHRpb24oKSkge1xyXG4gICAgICBpZiAodGhpcy5tYXAuaGlkZURhdGFPbklucHV0IHx8ICF0aGlzLl9nZXRFZGl0YWJsZSgpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogJ25vbmUnIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHsgd2lkdGg6ICc1MHB4JyB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfTtcclxuICB9XHJcbiAgZ2V0RmxvYXRMYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLl9nZXRDb2xEaXNwbGF5VmFsdWUodGhpcy5tYXAsIHRoaXMucmVjb3JkKSlcclxuICAgICAgICByZXR1cm4gJ2Fsd2F5cyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdFcnJvclN0YXRlTWF0Y2hlcyA9IG5ldyBjbGFzcyBleHRlbmRzIEVycm9yU3RhdGVNYXRjaGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXJlbnQ6IERhdGFDb250cm9sM0NvbXBvbmVudCkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgaXNFcnJvclN0YXRlKCkge1xyXG4gICAgICByZXR1cm4gISF0aGlzLnBhcmVudC5nZXRFcnJvcigpO1xyXG4gICAgfVxyXG4gIH0odGhpcyk7XHJcbn1cclxuXHJcblxyXG4iXX0= |
@@ -7,4 +7,4 @@ /** | ||
import { Injectable } from "@angular/core"; | ||
import { RestDataProvider, Action, angularHttpProvider } from "../core/restDataProvider"; | ||
import { DataList, ColumnHashSet, GridSettings, Lookup } from "../core/utils"; | ||
import { RestDataProvider, Action, AngularHttpProvider } from "../core/restDataProvider"; | ||
import { ColumnHashSet, GridSettings, Lookup, extractSortFromSettings, DropDownSource } from "../core/utils"; | ||
import { InMemoryDataProvider } from "../core/inMemoryDatabase"; | ||
@@ -26,3 +26,3 @@ import { HttpClient } from "@angular/common/http"; | ||
/** @type {?} */ | ||
var prov = new angularHttpProvider(http); | ||
var prov = new AngularHttpProvider(http); | ||
this._dataSource = new RestDataProvider(Context.apiBaseUrl, prov | ||
@@ -144,6 +144,4 @@ //,new restDataProviderHttpProviderUsingFetch() | ||
let e = new c(this); | ||
e.setSource(dataSource); | ||
e._setContext(this); | ||
return e; | ||
}), this._lookupCache, this); | ||
}), this._lookupCache, this, dataSource); | ||
dsCache.set(classKey, r); | ||
@@ -163,3 +161,3 @@ } | ||
/** @type {?} */ | ||
let ref = this._dialog.open(component); | ||
let ref = this._dialog.open(component, component[dialogConfigMember]); | ||
setParameters(ref.componentInstance); | ||
@@ -277,11 +275,22 @@ yield ref.beforeClose().toPromise(); | ||
/** | ||
* @param {?} factory | ||
* @param {?} create | ||
* @param {?} _lookupCache | ||
* @param {?} context | ||
* @param {?} dataSource | ||
*/ | ||
constructor(factory, _lookupCache, context) { | ||
this.factory = factory; | ||
constructor(create, _lookupCache, context, dataSource) { | ||
this.create = create; | ||
this._lookupCache = _lookupCache; | ||
this.context = context; | ||
this.create = (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
/** @type {?} */ | ||
let e = create(); | ||
e.__entityData.dataProvider = this._edp; | ||
return e; | ||
}); | ||
this.entity = this.create(); | ||
this._edp = dataSource.getEntityDataProvider(this.entity); | ||
} | ||
@@ -306,3 +315,3 @@ /** | ||
if (!lookup) { | ||
lookup = new Lookup(this.entity); | ||
lookup = new Lookup(this.entity, this); | ||
this._lookupCache.push({ key, lookup }); | ||
@@ -330,3 +339,3 @@ } | ||
if (!lookup) { | ||
lookup = new Lookup(this.entity); | ||
lookup = new Lookup(this.entity, this); | ||
this._lookupCache.push({ key, lookup }); | ||
@@ -342,5 +351,3 @@ } | ||
return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
/** @type {?} */ | ||
let dl = new DataList(this.entity); | ||
return yield dl.count(where); | ||
return yield this._edp.count(where ? where(this.entity) : undefined); | ||
}); | ||
@@ -356,8 +363,5 @@ } | ||
/** @type {?} */ | ||
let options = {}; | ||
if (where) { | ||
options.where = where(this.entity); | ||
} | ||
/** @type {?} */ | ||
let items = yield this.entity.source.find(options); | ||
let items = yield this.find({ | ||
where: where | ||
}); | ||
for (const item of items) { | ||
@@ -369,2 +373,24 @@ yield what(item); | ||
/** | ||
* @private | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
translateOptions(options) { | ||
if (!options) | ||
return undefined; | ||
/** @type {?} */ | ||
let getOptions = {}; | ||
if (options.where) | ||
getOptions.where = options.where(this.entity); | ||
if (options.orderBy) | ||
getOptions.orderBy = extractSortFromSettings(this.entity, options); | ||
if (options.limit) | ||
getOptions.limit = options.limit; | ||
if (options.page) | ||
getOptions.page = options.page; | ||
if (options.additionalUrlParameters) | ||
getOptions.additionalUrlParameters = options.additionalUrlParameters; | ||
return getOptions; | ||
} | ||
/** | ||
* @param {?=} options | ||
@@ -376,7 +402,26 @@ * @return {?} | ||
/** @type {?} */ | ||
let dl = new DataList(this.entity); | ||
return yield dl.get(options); | ||
let r = yield this._edp.find(this.translateOptions(options)); | ||
return r.map((/** | ||
* @param {?} i | ||
* @return {?} | ||
*/ | ||
i => { | ||
/** @type {?} */ | ||
let r = this.create(); | ||
r.__entityData.setData(i, r); | ||
return r; | ||
})); | ||
}); | ||
} | ||
/** | ||
* @param {?} r | ||
* @return {?} | ||
*/ | ||
fromPojo(r) { | ||
/** @type {?} */ | ||
let f = (/** @type {?} */ (this.create())); | ||
f.__entityData.setData(r, f); | ||
return f; | ||
} | ||
/** | ||
* @param {?=} where | ||
@@ -388,3 +433,3 @@ * @return {?} | ||
/** @type {?} */ | ||
let r = yield this.entity.source.find({ where: where ? where(this.entity) : undefined }); | ||
let r = yield this.find({ where }); | ||
if (r.length == 0) | ||
@@ -410,13 +455,14 @@ return undefined; | ||
/** | ||
* @param {?=} settings | ||
* @return {?} | ||
*/ | ||
create() { | ||
return this.factory(); | ||
gridSettings(settings) { | ||
return new GridSettings(this, this.context, settings); | ||
} | ||
/** | ||
* @param {?=} settings | ||
* @param {?=} args | ||
* @return {?} | ||
*/ | ||
gridSettings(settings) { | ||
return new GridSettings(this.entity, settings); | ||
dropDownSource(args) { | ||
return new DropDownSource(this, args); | ||
} | ||
@@ -434,3 +480,5 @@ } | ||
*/ | ||
SpecificEntityHelper.prototype.factory; | ||
SpecificEntityHelper.prototype._edp; | ||
/** @type {?} */ | ||
SpecificEntityHelper.prototype.create; | ||
/** | ||
@@ -473,3 +521,3 @@ * @type {?} | ||
super(...args); | ||
this._setFactoryClassAndDoInitColumns(f); | ||
this.__initColumns(((/** @type {?} */ (this))).id); | ||
if (!this.__options.name) { | ||
@@ -534,2 +582,18 @@ this.__options.name = original.name; | ||
; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDcEcsT0FBTyxFQUErQyxRQUFRLEVBQUUsYUFBYSxFQUFpQixZQUFZLEVBQTZDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyTCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU1yRCxNQUFNLE9BQU8sT0FBTzs7Ozs7SUFTaEIsWUFBWSxJQUFpQixFQUFVLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUEwQmhELGNBQVMsR0FBRyxLQUFLLENBQUM7UUEyQzVCLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBNEUsQ0FBQztRQW1DNUYsaUJBQVksR0FBdUIsRUFBRSxDQUFDO1FBdkdsQyxJQUFJLElBQUksWUFBWSxVQUFVLEVBQUU7O2dCQUN4QixJQUFJLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQ3BELElBQUk7WUFDTiwrQ0FBK0M7YUFDbEQsQ0FBQztZQUNGLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQ0k7WUFD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QUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQzthQUN2QztRQUNMLENBQUM7S0FDSjtJQUNELFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDOzs7O0FBQ0QsOEJBSUM7OztJQUhHLHNCQUFXOztJQUNYLHdCQUFhOztJQUNiLHlCQUFnQjs7Ozs7QUFHcEIsTUFBTSxPQUFnQixTQUFTO0NBRTlCOzs7Ozs7O0lBREcsaURBQXVEOzs7QUFHM0QsTUFBTSxPQUFPLElBQUk7Ozs7SUFDYixZQUFtQixHQUFXO1FBQVgsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUU5QixDQUFDOzs7OztJQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBZ0I7UUFDdkI7Ozs7UUFBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBQztJQUN0QyxDQUFDO0NBQ0o7OztJQU5lLG1CQUFrQjs7QUFPNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXJGYWN0b3J5LCBEYXRhQXBpUmVxdWVzdCwgRmlsdGVyQmFzZSwgRW50aXR5U291cmNlRmluZE9wdGlvbnMsIEZpbmRPcHRpb25zUGVyRW50aXR5IH0gZnJvbSBcIi4uL2NvcmUvZGF0YUludGVyZmFjZXMxXCI7XHJcbmltcG9ydCB7IFJlc3REYXRhUHJvdmlkZXIsIEFjdGlvbiwgYW5ndWxhckh0dHBQcm92aWRlciwgd3JhcEZldGNoIH0gZnJvbSBcIi4uL2NvcmUvcmVzdERhdGFQcm92aWRlclwiO1xyXG5pbXBvcnQgeyBFbnRpdHksIEVudGl0eU9wdGlvbnMsIE51bWJlckNvbHVtbiwgQ29sdW1uLCBEYXRhTGlzdCwgQ29sdW1uSGFzaFNldCwgSURhdGFTZXR0aW5ncywgR3JpZFNldHRpbmdzLCBFbnRpdHlTb3VyY2UsIFNRTFF1ZXJ5UmVzdWx0LCBMb29rdXBDYWNoZSwgTG9va3VwIH0gZnJvbSBcIi4uL2NvcmUvdXRpbHNcIjtcclxuaW1wb3J0IHsgSW5NZW1vcnlEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi4vY29yZS9pbk1lbW9yeURhdGFiYXNlXCI7XHJcbmltcG9ydCB7IERhdGFBcGlTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2ZXIvRGF0YUFwaVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzU3RyaW5nLCBpc0Jvb2xlYW4gfSBmcm9tIFwidXRpbFwiO1xyXG5pbXBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gXCIuLi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbnRleHQge1xyXG4gICAgY2xlYXJBbGxDYWNoZSgpOiBhbnkge1xyXG4gICAgICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLl9sb29rdXBDYWNoZSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGlzU2lnbmVkSW4oKSB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyO1xyXG4gICAgfVxyXG4gICAgY29uc3RydWN0b3IoaHR0cD86IEh0dHBDbGllbnQsIHByaXZhdGUgX2RpYWxvZz86IE1hdERpYWxvZykge1xyXG4gICAgICAgIGlmIChodHRwIGluc3RhbmNlb2YgSHR0cENsaWVudCkge1xyXG4gICAgICAgICAgICB2YXIgcHJvdiA9IG5ldyBhbmd1bGFySHR0cFByb3ZpZGVyKGh0dHApO1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gbmV3IFJlc3REYXRhUHJvdmlkZXIoQ29udGV4dC5hcGlCYXNlVXJsXHJcbiAgICAgICAgICAgICAgICAsIHByb3ZcclxuICAgICAgICAgICAgICAgIC8vLG5ldyByZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyVXNpbmdGZXRjaCgpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIEFjdGlvbi5wcm92aWRlciA9IHByb3Y7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gbmV3IEluTWVtb3J5RGF0YVByb3ZpZGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldENvb2tpZShuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBnZXRIb3N0KCkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGdldFBhdGhJblVybCgpe1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XHJcbiAgICB9XHJcblxyXG4gXHJcbiAgICBwcm90ZWN0ZWQgX2RhdGFTb3VyY2U6IERhdGFQcm92aWRlckZhY3Rvcnk7XHJcbiAgICBwcm90ZWN0ZWQgX29uU2VydmVyID0gZmFsc2U7XHJcbiAgICBnZXQgb25TZXJ2ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29uU2VydmVyO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF91c2VyOiBVc2VySW5mbztcclxuICAgIGdldCB1c2VyKCkgeyByZXR1cm4gdGhpcy5fdXNlcjsgfVxyXG5cclxuICAgIF9zZXRVc2VyKGluZm86IFVzZXJJbmZvKSB7XHJcbiAgICAgICAgdGhpcy5fdXNlciA9IGluZm87XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgYXBpQmFzZVVybCA9ICdhcGknO1xyXG5cclxuICAgIGlzQWxsb3dlZChyb2xlczogQWxsb3dlZCkge1xyXG4gICAgICAgIGlmIChyb2xlcyA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHJvbGVzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByb2xlIG9mIHJvbGVzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FsbG93ZWQocm9sZSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXNGdW5jdGlvbihyb2xlcykpIHtcclxuICAgICAgICAgICAgcmV0dXJuICg8YW55PnJvbGVzKSh0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzQm9vbGVhbihyb2xlcykpXHJcbiAgICAgICAgICAgIHJldHVybiByb2xlcztcclxuXHJcbiAgICAgICAgaWYgKHJvbGVzIGluc3RhbmNlb2YgUm9sZSkge1xyXG4gICAgICAgICAgICByb2xlcyA9IHJvbGVzLmtleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLnVzZXIpXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAoaXNTdHJpbmcocm9sZXMpKVxyXG4gICAgICAgICAgICBpZiAodGhpcy51c2VyLnJvbGVzLmluZGV4T2Yocm9sZXMudG9TdHJpbmcoKSkgPj0gMClcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNhY2hlID0gbmV3IE1hcDxEYXRhUHJvdmlkZXJGYWN0b3J5LCBNYXA8c3RyaW5nLCBTcGVjaWZpY0VudGl0eUhlbHBlcjxhbnksIEVudGl0eTxhbnk+Pj4+KCk7XHJcbiAgICBwdWJsaWMgZm9yPGxvb2t1cElkVHlwZSwgVCBleHRlbmRzIEVudGl0eTxsb29rdXBJZFR5cGU+PihjOiB7IG5ldyguLi5hcmdzOiBhbnlbXSk6IFQ7IH0sIGRhdGFTb3VyY2U/OiBEYXRhUHJvdmlkZXJGYWN0b3J5KSB7XHJcbiAgICAgICAgaWYgKCFkYXRhU291cmNlKVxyXG4gICAgICAgICAgICBkYXRhU291cmNlID0gdGhpcy5fZGF0YVNvdXJjZTtcclxuXHJcbiAgICAgICAgbGV0IGRzQ2FjaGUgPSB0aGlzLmNhY2hlLmdldChkYXRhU291cmNlKTtcclxuICAgICAgICBpZiAoIWRzQ2FjaGUpIHtcclxuICAgICAgICAgICAgZHNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBTcGVjaWZpY0VudGl0eUhlbHBlcjxhbnksIEVudGl0eTxhbnk+Pj4oKTtcclxuICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoZGF0YVNvdXJjZSwgZHNDYWNoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBjbGFzc1R5cGUgPSBjIGFzIGFueTtcclxuICAgICAgICBsZXQgY2xhc3NLZXkgPSBjbGFzc1R5cGUuX19rZXk7XHJcbiAgICAgICAgbGV0IHIgPSBkc0NhY2hlLmdldChjbGFzc0tleSkgYXMgU3BlY2lmaWNFbnRpdHlIZWxwZXI8bG9va3VwSWRUeXBlLCBUPjtcclxuICAgICAgICBpZiAoIXIpIHtcclxuICAgICAgICAgICAgciA9IG5ldyBTcGVjaWZpY0VudGl0eUhlbHBlcjxsb29rdXBJZFR5cGUsIFQ+KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBlID0gbmV3IGModGhpcyk7XHJcbiAgICAgICAgICAgICAgICBlLnNldFNvdXJjZShkYXRhU291cmNlKTtcclxuICAgICAgICAgICAgICAgIGUuX3NldENvbnRleHQodGhpcyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgICAgfSwgdGhpcy5fbG9va3VwQ2FjaGUsIHRoaXMpO1xyXG4gICAgICAgICAgICBkc0NhY2hlLnNldChjbGFzc0tleSwgcik7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgb3BlbkRpYWxvZzxULCBDPihjb21wb25lbnQ6IHsgbmV3KC4uLmFyZ3M6IGFueVtdKTogQzsgfSwgc2V0UGFyYW1ldGVyczogKGl0OiBDKSA9PiB2b2lkLCByZXR1cm5BVmFsdWU/OiAoaXQ6IEMpID0+IFQpIHtcclxuICAgICAgICBsZXQgcmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oY29tcG9uZW50KTtcclxuICAgICAgICBzZXRQYXJhbWV0ZXJzKHJlZi5jb21wb25lbnRJbnN0YW5jZSk7XHJcbiAgICAgICAgYXdhaXQgcmVmLmJlZm9yZUNsb3NlKCkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKHJldHVybkFWYWx1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHJldHVybkFWYWx1ZShyZWYuY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIF9sb29rdXBDYWNoZTogTG9va3VwQ2FjaGU8YW55PltdID0gW107XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBEYXRhUHJvdmlkZXJGYWN0b3J5QnVpbGRlciA9IChyZXE6IENvbnRleHQpID0+IERhdGFQcm92aWRlckZhY3Rvcnk7XHJcbmV4cG9ydCBjbGFzcyBTZXJ2ZXJDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcih1bmRlZmluZWQpO1xyXG4gICAgICAgIHRoaXMuX29uU2VydmVyID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgZ2V0SG9zdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXEuZ2V0SGVhZGVyKCdob3N0Jyk7XHJcbiAgICB9XHJcbiAgICBnZXRQYXRoSW5VcmwoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXEuZ2V0QmFzZVVybCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29va2llKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBjb29raWUgPSB0aGlzLnJlcS5nZXRIZWFkZXIoJ2Nvb2tpZScpO1xyXG4gICAgICAgIGlmIChjb29raWUpXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgY29va2llLnNwbGl0KCc7JykpIHtcclxuICAgICAgICAgICAgICAgIGxldCBpdGVtSW5mbyA9IGl0ZXJhdG9yLnNwbGl0KCc9Jyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUluZm8gJiYgaXRlbUluZm9bMF0udHJpbSgpID09IG5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbUluZm9bMV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSByZXE6IERhdGFBcGlSZXF1ZXN0O1xyXG5cclxuICAgIHNldFJlcShyZXE6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICAgICAgdGhpcy5yZXEgPSByZXE7XHJcbiAgICAgICAgdGhpcy5fdXNlciA9IHJlcS51c2VyID8gcmVxLnVzZXIgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBzZXREYXRhUHJvdmlkZXIoZGF0YVByb3ZpZGVyOiBEYXRhUHJvdmlkZXJGYWN0b3J5KSB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFQcm92aWRlcjtcclxuICAgIH1cclxuICAgIGdldE9yaWdpbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXEuZ2V0SGVhZGVyKCdvcmlnaW4nKVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFNwZWNpZmljRW50aXR5SGVscGVyPGxvb2t1cElkVHlwZSwgVCBleHRlbmRzIEVudGl0eTxsb29rdXBJZFR5cGU+PiB7XHJcbiAgICBwcml2YXRlIGVudGl0eTogVDtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogKCkgPT4gVCwgcHJpdmF0ZSBfbG9va3VwQ2FjaGU6IExvb2t1cENhY2hlPGFueT5bXSwgcHJpdmF0ZSBjb250ZXh0OiBDb250ZXh0KSB7XHJcbiAgICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvb2t1cChmaWx0ZXI6IENvbHVtbjxsb29rdXBJZFR5cGU+IHwgKChlbnRpdHlUeXBlOiBUKSA9PiBGaWx0ZXJCYXNlKSk6IFQge1xyXG5cclxuICAgICAgICBsZXQga2V5ID0gdGhpcy5lbnRpdHkuX19nZXROYW1lKCk7XHJcbiAgICAgICAgbGV0IGxvb2t1cDogTG9va3VwPGxvb2t1cElkVHlwZSwgVD47XHJcbiAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUuZm9yRWFjaChsID0+IHtcclxuICAgICAgICAgICAgaWYgKGwua2V5ID09IGtleSlcclxuICAgICAgICAgICAgICAgIGxvb2t1cCA9IGwubG9va3VwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICghbG9va3VwKSB7XHJcbiAgICAgICAgICAgIGxvb2t1cCA9IG5ldyBMb29rdXAodGhpcy5lbnRpdHkpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb29rdXBDYWNoZS5wdXNoKHsga2V5LCBsb29rdXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsb29rdXAuZ2V0KGZpbHRlcik7XHJcblxyXG4gICAgfVxyXG4gICAgbG9va3VwQXN5bmMoZmlsdGVyOiBDb2x1bW48bG9va3VwSWRUeXBlPiB8ICgoZW50aXR5VHlwZTogVCkgPT4gRmlsdGVyQmFzZSkpOiBQcm9taXNlPFQ+IHtcclxuXHJcbiAgICAgICAgbGV0IGtleSA9IHRoaXMuZW50aXR5Ll9fZ2V0TmFtZSgpO1xyXG4gICAgICAgIGxldCBsb29rdXA6IExvb2t1cDxsb29rdXBJZFR5cGUsIFQ+O1xyXG4gICAgICAgIHRoaXMuX2xvb2t1cENhY2hlLmZvckVhY2gobCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChsLmtleSA9PSBrZXkpXHJcbiAgICAgICAgICAgICAgICBsb29rdXAgPSBsLmxvb2t1cDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIWxvb2t1cCkge1xyXG4gICAgICAgICAgICBsb29rdXAgPSBuZXcgTG9va3VwKHRoaXMuZW50aXR5KTtcclxuICAgICAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUucHVzaCh7IGtleSwgbG9va3VwIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbG9va3VwLndoZW5HZXQoZmlsdGVyKTtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGFzeW5jIGNvdW50KHdoZXJlPzogKGVudGl0eTogVCkgPT4gRmlsdGVyQmFzZSkge1xyXG4gICAgICAgIGxldCBkbCA9IG5ldyBEYXRhTGlzdCh0aGlzLmVudGl0eSk7XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IGRsLmNvdW50KHdoZXJlKTtcclxuICAgIH1cclxuICAgIGFzeW5jIGZvcmVhY2god2hlcmU6IChlbnRpdHk6IFQpID0+IEZpbHRlckJhc2UsIHdoYXQ/OiAoZW50aXR5OiBUKSA9PiBQcm9taXNlPHZvaWQ+KSB7XHJcblxyXG4gICAgICAgIGxldCBvcHRpb25zOiBFbnRpdHlTb3VyY2VGaW5kT3B0aW9ucyA9IHt9O1xyXG4gICAgICAgIGlmICh3aGVyZSkge1xyXG4gICAgICAgICAgICBvcHRpb25zLndoZXJlID0gd2hlcmUodGhpcy5lbnRpdHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgaXRlbXMgPSBhd2FpdCB0aGlzLmVudGl0eS5zb3VyY2UuZmluZChvcHRpb25zKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgICAgICAgYXdhaXQgd2hhdChpdGVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgYXN5bmMgZmluZChvcHRpb25zPzogRmluZE9wdGlvbnNQZXJFbnRpdHk8VD4pIHtcclxuICAgICAgICBsZXQgZGwgPSBuZXcgRGF0YUxpc3QodGhpcy5lbnRpdHkpO1xyXG4gICAgICAgIHJldHVybiBhd2FpdCBkbC5nZXQob3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBhc3luYyBmaW5kRmlyc3Qod2hlcmU/OiAoZW50aXR5OiBUKSA9PiBGaWx0ZXJCYXNlKSB7XHJcbiAgICAgICAgbGV0IHIgPSBhd2FpdCB0aGlzLmVudGl0eS5zb3VyY2UuZmluZCh7IHdoZXJlOiB3aGVyZSA/IHdoZXJlKHRoaXMuZW50aXR5KSA6IHVuZGVmaW5lZCB9KTtcclxuICAgICAgICBpZiAoci5sZW5ndGggPT0gMClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICByZXR1cm4gclswXTtcclxuICAgIH1cclxuICAgIHRvUG9qb0FycmF5KGl0ZW1zOiBUW10pIHtcclxuICAgICAgICBsZXQgZXhjID0gbmV3IENvbHVtbkhhc2hTZXQoKTtcclxuXHJcbiAgICAgICAgZXhjLmFkZCguLi50aGlzLmVudGl0eS5fZ2V0RXhjbHVkZWRDb2x1bW5zKHRoaXMuZW50aXR5LCB0aGlzLmNvbnRleHQpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGl0ZW1zLm1hcChmID0+IGYuX190b1Bvam8oZXhjKSkpO1xyXG4gICAgfVxyXG4gICAgY3JlYXRlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZhY3RvcnkoKTtcclxuICAgIH1cclxuICAgIGdyaWRTZXR0aW5ncyhzZXR0aW5ncz86IElEYXRhU2V0dGluZ3M8VD4pIHtcclxuICAgICAgICByZXR1cm4gbmV3IEdyaWRTZXR0aW5ncyh0aGlzLmVudGl0eSwgc2V0dGluZ3MpO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VHlwZSB7XHJcbiAgICBuZXcoLi4uYXJnczogYW55W10pOiBFbnRpdHk8YW55PjtcclxuICAgIF9fa2V5OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGFsbEVudGl0aWVzOiBFbnRpdHlUeXBlW10gPSBbXTtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gRW50aXR5Q2xhc3M8VCBleHRlbmRzIEVudGl0eVR5cGU+KHRoZUVudGl0eUNsYXNzOiBUKSB7XHJcbiAgICBsZXQgb3JpZ2luYWwgPSB0aGVFbnRpdHlDbGFzcztcclxuICAgIGxldCBmID0gY2xhc3MgZXh0ZW5kcyB0aGVFbnRpdHlDbGFzcyB7XHJcbiAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAgICAgc3VwZXIoLi4uYXJncyk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEZhY3RvcnlDbGFzc0FuZERvSW5pdENvbHVtbnMoZik7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5fX29wdGlvbnMubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fX29wdGlvbnMubmFtZSA9IG9yaWdpbmFsLm5hbWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhbGxFbnRpdGllcy5wdXNoKGYpO1xyXG4gICAgZi5fX2tleSA9IHRoZUVudGl0eUNsYXNzLm5hbWUgKyBhbGxFbnRpdGllcy5pbmRleE9mKGYpO1xyXG4gICAgcmV0dXJuIGY7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVc2VySW5mbyB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGlyZWN0U1FMIHtcclxuICAgIGFic3RyYWN0IGV4ZWN1dGUoc3FsOiBzdHJpbmcpOiBQcm9taXNlPFNRTFF1ZXJ5UmVzdWx0PjtcclxufVxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgUm9sZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMga2V5OiBzdHJpbmcpIHtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgbm90KGFsbG93ZWQ6IEFsbG93ZWQpOiBBbGxvd2VkIHtcclxuICAgICAgICByZXR1cm4gYyA9PiAhYy5pc0FsbG93ZWQoYWxsb3dlZCk7XHJcbiAgICB9XHJcbn1cclxuZGVjbGFyZSB0eXBlIEFsbG93ZWRSdWxlID0gc3RyaW5nIHwgUm9sZSB8ICgoYzogQ29udGV4dCkgPT4gYm9vbGVhbikgfCBib29sZWFuOztcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBbGxvd2VkID0gQWxsb3dlZFJ1bGUgfCBBbGxvd2VkUnVsZVtdO1xyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEFuZ3VsYXJDb21wb25lbnQgPSB7IG5ldyguLi5hcmdzOiBhbnlbXSk6IGFueSB9OyJdfQ== | ||
/** | ||
* @param {?} config | ||
* @return {?} | ||
*/ | ||
export function DialogConfig(config) { | ||
return (/** | ||
* @param {?} target | ||
* @return {?} | ||
*/ | ||
function (target) { | ||
target[dialogConfigMember] = config; | ||
return target; | ||
}); | ||
} | ||
/** @type {?} */ | ||
const dialogConfigMember = Symbol("dialogConfigMember"); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDcEcsT0FBTyxFQUF5RCxhQUFhLEVBQWlCLFlBQVksRUFBK0IsTUFBTSxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBNkMsTUFBTSxlQUFlLENBQUM7QUFDM1AsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBTXRFLE1BQU0sT0FBTyxPQUFPOzs7OztJQVNoQixZQUFZLElBQWlCLEVBQVUsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQTBCaEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQTJDNUIsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFxRSxDQUFDO1FBa0NyRixpQkFBWSxHQUF1QixFQUFFLENBQUM7UUF0R2xDLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTs7Z0JBQ3hCLElBQUksR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFDcEQsSUFBSTtZQUNOLCtDQUErQzthQUNsRCxDQUFDO1lBQ0YsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7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YXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXIsIERhdGFBcGlSZXF1ZXN0LCBGaWx0ZXJCYXNlLCBGaW5kT3B0aW9uc1BlckVudGl0eSwgRW50aXR5RGF0YVByb3ZpZGVyLCBGaW5kT3B0aW9ucywgRW50aXR5UHJvdmlkZXIgfSBmcm9tIFwiLi4vY29yZS9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgUmVzdERhdGFQcm92aWRlciwgQWN0aW9uLCBBbmd1bGFySHR0cFByb3ZpZGVyLCB3cmFwRmV0Y2ggfSBmcm9tIFwiLi4vY29yZS9yZXN0RGF0YVByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEVudGl0eSwgRW50aXR5T3B0aW9ucywgTnVtYmVyQ29sdW1uLCBDb2x1bW4sIERhdGFMaXN0LCBDb2x1bW5IYXNoU2V0LCBJRGF0YVNldHRpbmdzLCBHcmlkU2V0dGluZ3MsIFNRTFF1ZXJ5UmVzdWx0LCBMb29rdXBDYWNoZSwgTG9va3VwLCBleHRyYWN0U29ydEZyb21TZXR0aW5ncywgRHJvcERvd25Tb3VyY2UsIERyb3BEb3duU291cmNlQXJncywgX19FbnRpdHlWYWx1ZVByb3ZpZGVyIH0gZnJvbSBcIi4uL2NvcmUvdXRpbHNcIjtcclxuaW1wb3J0IHsgSW5NZW1vcnlEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi4vY29yZS9pbk1lbW9yeURhdGFiYXNlXCI7XHJcbmltcG9ydCB7IERhdGFBcGlTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2ZXIvRGF0YUFwaVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzU3RyaW5nLCBpc0Jvb2xlYW4gfSBmcm9tIFwidXRpbFwiO1xyXG5pbXBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gXCIuLi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dCB7XHJcbiAgICBjbGVhckFsbENhY2hlKCk6IGFueSB7XHJcbiAgICAgICAgdGhpcy5jYWNoZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuX2xvb2t1cENhY2hlID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgaXNTaWduZWRJbigpIHtcclxuICAgICAgICByZXR1cm4gISF0aGlzLnVzZXI7XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3RvcihodHRwPzogSHR0cENsaWVudCwgcHJpdmF0ZSBfZGlhbG9nPzogTWF0RGlhbG9nKSB7XHJcbiAgICAgICAgaWYgKGh0dHAgaW5zdGFuY2VvZiBIdHRwQ2xpZW50KSB7XHJcbiAgICAgICAgICAgIHZhciBwcm92ID0gbmV3IEFuZ3VsYXJIdHRwUHJvdmlkZXIoaHR0cCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBuZXcgUmVzdERhdGFQcm92aWRlcihDb250ZXh0LmFwaUJhc2VVcmxcclxuICAgICAgICAgICAgICAgICwgcHJvdlxyXG4gICAgICAgICAgICAgICAgLy8sbmV3IHJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXJVc2luZ0ZldGNoKClcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgQWN0aW9uLnByb3ZpZGVyID0gcHJvdjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBuZXcgSW5NZW1vcnlEYXRhUHJvdmlkZXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29va2llKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGdldEhvc3QoKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgZ2V0UGF0aEluVXJsKCkge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBfZGF0YVNvdXJjZTogRGF0YVByb3ZpZGVyO1xyXG4gICAgcHJvdGVjdGVkIF9vblNlcnZlciA9IGZhbHNlO1xyXG4gICAgZ2V0IG9uU2VydmVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9vblNlcnZlcjtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfdXNlcjogVXNlckluZm87XHJcbiAgICBnZXQgdXNlcigpIHsgcmV0dXJuIHRoaXMuX3VzZXI7IH1cclxuXHJcbiAgICBfc2V0VXNlcihpbmZvOiBVc2VySW5mbykge1xyXG4gICAgICAgIHRoaXMuX3VzZXIgPSBpbmZvO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGFwaUJhc2VVcmwgPSAnYXBpJztcclxuXHJcbiAgICBpc0FsbG93ZWQocm9sZXM6IEFsbG93ZWQpIHtcclxuICAgICAgICBpZiAocm9sZXMgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChyb2xlcyBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm9sZSBvZiByb2xlcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd2VkKHJvbGUpID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ocm9sZXMpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoPGFueT5yb2xlcykodGhpcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0Jvb2xlYW4ocm9sZXMpKVxyXG4gICAgICAgICAgICByZXR1cm4gcm9sZXM7XHJcblxyXG4gICAgICAgIGlmIChyb2xlcyBpbnN0YW5jZW9mIFJvbGUpIHtcclxuICAgICAgICAgICAgcm9sZXMgPSByb2xlcy5rZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy51c2VyKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKGlzU3RyaW5nKHJvbGVzKSlcclxuICAgICAgICAgICAgaWYgKHRoaXMudXNlci5yb2xlcy5pbmRleE9mKHJvbGVzLnRvU3RyaW5nKCkpID49IDApXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWNoZSA9IG5ldyBNYXA8RGF0YVByb3ZpZGVyLCBNYXA8c3RyaW5nLCBTcGVjaWZpY0VudGl0eUhlbHBlcjxhbnksIEVudGl0eTxhbnk+Pj4+KCk7XHJcbiAgICBwdWJsaWMgZm9yPGxvb2t1cElkVHlwZSwgVCBleHRlbmRzIEVudGl0eTxsb29rdXBJZFR5cGU+PihjOiB7IG5ldyguLi5hcmdzOiBhbnlbXSk6IFQ7IH0sIGRhdGFTb3VyY2U/OiBEYXRhUHJvdmlkZXIpIHtcclxuICAgICAgICBpZiAoIWRhdGFTb3VyY2UpXHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2UgPSB0aGlzLl9kYXRhU291cmNlO1xyXG5cclxuICAgICAgICBsZXQgZHNDYWNoZSA9IHRoaXMuY2FjaGUuZ2V0KGRhdGFTb3VyY2UpO1xyXG4gICAgICAgIGlmICghZHNDYWNoZSkge1xyXG4gICAgICAgICAgICBkc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFNwZWNpZmljRW50aXR5SGVscGVyPGFueSwgRW50aXR5PGFueT4+PigpO1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlLnNldChkYXRhU291cmNlLCBkc0NhY2hlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGNsYXNzVHlwZSA9IGMgYXMgYW55O1xyXG4gICAgICAgIGxldCBjbGFzc0tleSA9IGNsYXNzVHlwZS5fX2tleTtcclxuICAgICAgICBsZXQgciA9IGRzQ2FjaGUuZ2V0KGNsYXNzS2V5KSBhcyBTcGVjaWZpY0VudGl0eUhlbHBlcjxsb29rdXBJZFR5cGUsIFQ+O1xyXG4gICAgICAgIGlmICghcikge1xyXG4gICAgICAgICAgICByID0gbmV3IFNwZWNpZmljRW50aXR5SGVscGVyPGxvb2t1cElkVHlwZSwgVD4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGUgPSBuZXcgYyh0aGlzKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgICAgICB9LCB0aGlzLl9sb29rdXBDYWNoZSwgdGhpcywgZGF0YVNvdXJjZSk7XHJcbiAgICAgICAgICAgIGRzQ2FjaGUuc2V0KGNsYXNzS2V5LCByKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICB9XHJcbiAgICBhc3luYyBvcGVuRGlhbG9nPFQsIEM+KGNvbXBvbmVudDogeyBuZXcoLi4uYXJnczogYW55W10pOiBDOyB9LCBzZXRQYXJhbWV0ZXJzOiAoaXQ6IEMpID0+IHZvaWQsIHJldHVybkFWYWx1ZT86IChpdDogQykgPT4gVCkge1xyXG5cclxuICAgICAgICBsZXQgcmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oY29tcG9uZW50LCBjb21wb25lbnRbZGlhbG9nQ29uZmlnTWVtYmVyXSk7XHJcbiAgICAgICAgc2V0UGFyYW1ldGVycyhyZWYuY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICAgICAgIGF3YWl0IHJlZi5iZWZvcmVDbG9zZSgpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmIChyZXR1cm5BVmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiByZXR1cm5BVmFsdWUocmVmLmNvbXBvbmVudEluc3RhbmNlKTtcclxuICAgIH1cclxuXHJcbiAgICBfbG9va3VwQ2FjaGU6IExvb2t1cENhY2hlPGFueT5bXSA9IFtdO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGF0YVByb3ZpZGVyRmFjdG9yeUJ1aWxkZXIgPSAocmVxOiBDb250ZXh0KSA9PiBEYXRhUHJvdmlkZXI7XHJcbmV4cG9ydCBjbGFzcyBTZXJ2ZXJDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcih1bmRlZmluZWQpO1xyXG4gICAgICAgIHRoaXMuX29uU2VydmVyID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgfVxyXG4gICAgZ2V0SG9zdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXEuZ2V0SGVhZGVyKCdob3N0Jyk7XHJcbiAgICB9XHJcbiAgICBnZXRQYXRoSW5VcmwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxLmdldEJhc2VVcmwoKTtcclxuICAgIH1cclxuICAgIGdldENvb2tpZShuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgY29va2llID0gdGhpcy5yZXEuZ2V0SGVhZGVyKCdjb29raWUnKTtcclxuICAgICAgICBpZiAoY29va2llKVxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZXJhdG9yIG9mIGNvb2tpZS5zcGxpdCgnOycpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXRlbUluZm8gPSBpdGVyYXRvci5zcGxpdCgnPScpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1JbmZvICYmIGl0ZW1JbmZvWzBdLnRyaW0oKSA9PSBuYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1JbmZvWzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgcmVxOiBEYXRhQXBpUmVxdWVzdDtcclxuXHJcbiAgICBzZXRSZXEocmVxOiBEYXRhQXBpUmVxdWVzdCkge1xyXG4gICAgICAgIHRoaXMucmVxID0gcmVxO1xyXG4gICAgICAgIHRoaXMuX3VzZXIgPSByZXEudXNlciA/IHJlcS51c2VyIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc2V0RGF0YVByb3ZpZGVyKGRhdGFQcm92aWRlcjogRGF0YVByb3ZpZGVyKSB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFQcm92aWRlcjtcclxuICAgIH1cclxuICAgIGdldE9yaWdpbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXEuZ2V0SGVhZGVyKCdvcmlnaW4nKVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFNwZWNpZmljRW50aXR5SGVscGVyPGxvb2t1cElkVHlwZSwgVCBleHRlbmRzIEVudGl0eTxsb29rdXBJZFR5cGU+PiBpbXBsZW1lbnRzIEVudGl0eVByb3ZpZGVyPFQ+e1xyXG4gICAgcHJpdmF0ZSBlbnRpdHk6IFQ7XHJcbiAgICBwcml2YXRlIF9lZHA6IEVudGl0eURhdGFQcm92aWRlcjtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjcmVhdGU6ICgpID0+IFQsIHByaXZhdGUgX2xvb2t1cENhY2hlOiBMb29rdXBDYWNoZTxhbnk+W10sIHByaXZhdGUgY29udGV4dDogQ29udGV4dCwgZGF0YVNvdXJjZTogRGF0YVByb3ZpZGVyKSB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGUgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBlID0gY3JlYXRlKCk7XHJcbiAgICAgICAgICAgIGUuX19lbnRpdHlEYXRhLmRhdGFQcm92aWRlciA9IHRoaXMuX2VkcDtcclxuICAgICAgICAgICAgcmV0dXJuIGU7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmVudGl0eSA9IHRoaXMuY3JlYXRlKCk7XHJcbiAgICAgICAgdGhpcy5fZWRwID0gZGF0YVNvdXJjZS5nZXRFbnRpdHlEYXRhUHJvdmlkZXIodGhpcy5lbnRpdHkpO1xyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgbG9va3VwKGZpbHRlcjogQ29sdW1uPGxvb2t1cElkVHlwZT4gfCAoKGVudGl0eVR5cGU6IFQpID0+IEZpbHRlckJhc2UpKTogVCB7XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSB0aGlzLmVudGl0eS5fX2dldE5hbWUoKTtcclxuICAgICAgICBsZXQgbG9va3VwOiBMb29rdXA8bG9va3VwSWRUeXBlLCBUPjtcclxuICAgICAgICB0aGlzLl9sb29rdXBDYWNoZS5mb3JFYWNoKGwgPT4ge1xyXG4gICAgICAgICAgICBpZiAobC5rZXkgPT0ga2V5KVxyXG4gICAgICAgICAgICAgICAgbG9va3VwID0gbC5sb29rdXA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFsb29rdXApIHtcclxuICAgICAgICAgICAgbG9va3VwID0gbmV3IExvb2t1cCh0aGlzLmVudGl0eSwgdGhpcyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvb2t1cENhY2hlLnB1c2goeyBrZXksIGxvb2t1cCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxvb2t1cC5nZXQoZmlsdGVyKTtcclxuXHJcbiAgICB9XHJcbiAgICBsb29rdXBBc3luYyhmaWx0ZXI6IENvbHVtbjxsb29rdXBJZFR5cGU+IHwgKChlbnRpdHlUeXBlOiBUKSA9PiBGaWx0ZXJCYXNlKSk6IFByb21pc2U8VD4ge1xyXG5cclxuICAgICAgICBsZXQga2V5ID0gdGhpcy5lbnRpdHkuX19nZXROYW1lKCk7XHJcbiAgICAgICAgbGV0IGxvb2t1cDogTG9va3VwPGxvb2t1cElkVHlwZSwgVD47XHJcbiAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUuZm9yRWFjaChsID0+IHtcclxuICAgICAgICAgICAgaWYgKGwua2V5ID09IGtleSlcclxuICAgICAgICAgICAgICAgIGxvb2t1cCA9IGwubG9va3VwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICghbG9va3VwKSB7XHJcbiAgICAgICAgICAgIGxvb2t1cCA9IG5ldyBMb29rdXAodGhpcy5lbnRpdHksIHRoaXMpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb29rdXBDYWNoZS5wdXNoKHsga2V5LCBsb29rdXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsb29rdXAud2hlbkdldChmaWx0ZXIpO1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgYXN5bmMgY291bnQod2hlcmU/OiAoZW50aXR5OiBUKSA9PiBGaWx0ZXJCYXNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX2VkcC5jb3VudCh3aGVyZSA/IHdoZXJlKHRoaXMuZW50aXR5KSA6IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbiAgICBhc3luYyBmb3JlYWNoKHdoZXJlOiAoZW50aXR5OiBUKSA9PiBGaWx0ZXJCYXNlLCB3aGF0PzogKGVudGl0eTogVCkgPT4gUHJvbWlzZTx2b2lkPikge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IGF3YWl0IHRoaXMuZmluZCh7XHJcbiAgICAgICAgICAgIHdoZXJlOiB3aGVyZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICAgICAgICBhd2FpdCB3aGF0KGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgdHJhbnNsYXRlT3B0aW9ucyhvcHRpb25zOiBGaW5kT3B0aW9uc1BlckVudGl0eTxUPikge1xyXG4gICAgICAgIGlmICghb3B0aW9ucylcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICBsZXQgZ2V0T3B0aW9uczogRmluZE9wdGlvbnMgPSB7fTtcclxuICAgICAgICBpZiAob3B0aW9ucy53aGVyZSlcclxuICAgICAgICAgICAgZ2V0T3B0aW9ucy53aGVyZSA9IG9wdGlvbnMud2hlcmUodGhpcy5lbnRpdHkpO1xyXG4gICAgICAgIGlmIChvcHRpb25zLm9yZGVyQnkpXHJcbiAgICAgICAgICAgIGdldE9wdGlvbnMub3JkZXJCeSA9IGV4dHJhY3RTb3J0RnJvbVNldHRpbmdzKHRoaXMuZW50aXR5LCBvcHRpb25zKTtcclxuICAgICAgICBpZiAob3B0aW9ucy5saW1pdClcclxuICAgICAgICAgICAgZ2V0T3B0aW9ucy5saW1pdCA9IG9wdGlvbnMubGltaXQ7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMucGFnZSlcclxuICAgICAgICAgICAgZ2V0T3B0aW9ucy5wYWdlID0gb3B0aW9ucy5wYWdlO1xyXG4gICAgICAgIGlmIChvcHRpb25zLmFkZGl0aW9uYWxVcmxQYXJhbWV0ZXJzKVxyXG4gICAgICAgICAgICBnZXRPcHRpb25zLmFkZGl0aW9uYWxVcmxQYXJhbWV0ZXJzID0gb3B0aW9ucy5hZGRpdGlvbmFsVXJsUGFyYW1ldGVycztcclxuICAgICAgICByZXR1cm4gZ2V0T3B0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKG9wdGlvbnM/OiBGaW5kT3B0aW9uc1BlckVudGl0eTxUPikge1xyXG4gICAgICAgIGxldCByID0gYXdhaXQgdGhpcy5fZWRwLmZpbmQodGhpcy50cmFuc2xhdGVPcHRpb25zKG9wdGlvbnMpKTtcclxuICAgICAgICByZXR1cm4gci5tYXAoaSA9PiB7XHJcbiAgICAgICAgICAgIGxldCByID0gdGhpcy5jcmVhdGUoKTtcclxuICAgICAgICAgICAgci5fX2VudGl0eURhdGEuc2V0RGF0YShpLCByKTtcclxuICAgICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBmcm9tUG9qbyhyOiBhbnkpOiBUIHtcclxuICAgICAgICBsZXQgZiA9IDxUPnRoaXMuY3JlYXRlKCk7XHJcbiAgICAgICAgZi5fX2VudGl0eURhdGEuc2V0RGF0YShyLCBmKTtcclxuICAgICAgICByZXR1cm4gZjtcclxuICAgIH1cclxuICAgIGFzeW5jIGZpbmRGaXJzdCh3aGVyZT86IChlbnRpdHk6IFQpID0+IEZpbHRlckJhc2UpIHtcclxuICAgICAgICBsZXQgciA9IGF3YWl0IHRoaXMuZmluZCh7IHdoZXJlIH0pO1xyXG4gICAgICAgIGlmIChyLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHJldHVybiByWzBdO1xyXG4gICAgfVxyXG4gICAgdG9Qb2pvQXJyYXkoaXRlbXM6IFRbXSkge1xyXG4gICAgICAgIGxldCBleGMgPSBuZXcgQ29sdW1uSGFzaFNldCgpO1xyXG5cclxuICAgICAgICBleGMuYWRkKC4uLnRoaXMuZW50aXR5Ll9nZXRFeGNsdWRlZENvbHVtbnModGhpcy5lbnRpdHksIHRoaXMuY29udGV4dCkpO1xyXG5cclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoaXRlbXMubWFwKGYgPT4gZi5fX3RvUG9qbyhleGMpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ3JpZFNldHRpbmdzKHNldHRpbmdzPzogSURhdGFTZXR0aW5nczxUPikge1xyXG4gICAgICAgIHJldHVybiBuZXcgR3JpZFNldHRpbmdzKHRoaXMsIHRoaXMuY29udGV4dCwgc2V0dGluZ3MpO1xyXG4gICAgfVxyXG4gICAgZHJvcERvd25Tb3VyY2UoYXJncz86IERyb3BEb3duU291cmNlQXJnczxUPikge1xyXG4gICAgICAgIHJldHVybiBuZXcgRHJvcERvd25Tb3VyY2UodGhpcywgYXJncyk7XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUeXBlIHtcclxuICAgIG5ldyguLi5hcmdzOiBhbnlbXSk6IEVudGl0eTxhbnk+O1xyXG4gICAgX19rZXk6IHN0cmluZztcclxufVxyXG5leHBvcnQgY29uc3QgYWxsRW50aXRpZXM6IEVudGl0eVR5cGVbXSA9IFtdO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBFbnRpdHlDbGFzczxUIGV4dGVuZHMgRW50aXR5VHlwZT4odGhlRW50aXR5Q2xhc3M6IFQpIHtcclxuICAgIGxldCBvcmlnaW5hbCA9IHRoZUVudGl0eUNsYXNzO1xyXG4gICAgbGV0IGYgPSBjbGFzcyBleHRlbmRzIHRoZUVudGl0eUNsYXNzIHtcclxuICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBzdXBlciguLi5hcmdzKTtcclxuICAgICAgICAgICAgdGhpcy5fX2luaXRDb2x1bW5zKCg8YW55PnRoaXMpLmlkKTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9fb3B0aW9ucy5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9fb3B0aW9ucy5uYW1lID0gb3JpZ2luYWwubmFtZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFsbEVudGl0aWVzLnB1c2goZik7XHJcbiAgICBmLl9fa2V5ID0gdGhlRW50aXR5Q2xhc3MubmFtZSArIGFsbEVudGl0aWVzLmluZGV4T2YoZik7XHJcbiAgICByZXR1cm4gZjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJbmZvIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICByb2xlczogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEaXJlY3RTUUwge1xyXG4gICAgYWJzdHJhY3QgZXhlY3V0ZShzcWw6IHN0cmluZyk6IFByb21pc2U8U1FMUXVlcnlSZXN1bHQ+O1xyXG59XHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBSb2xlIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBrZXk6IHN0cmluZykge1xyXG5cclxuICAgIH1cclxuICAgIHN0YXRpYyBub3QoYWxsb3dlZDogQWxsb3dlZCk6IEFsbG93ZWQge1xyXG4gICAgICAgIHJldHVybiBjID0+ICFjLmlzQWxsb3dlZChhbGxvd2VkKTtcclxuICAgIH1cclxufVxyXG5kZWNsYXJlIHR5cGUgQWxsb3dlZFJ1bGUgPSBzdHJpbmcgfCBSb2xlIHwgKChjOiBDb250ZXh0KSA9PiBib29sZWFuKSB8IGJvb2xlYW47O1xyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEFsbG93ZWQgPSBBbGxvd2VkUnVsZSB8IEFsbG93ZWRSdWxlW107XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQW5ndWxhckNvbXBvbmVudCA9IHsgbmV3KC4uLmFyZ3M6IGFueVtdKTogYW55IH07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gRGlhbG9nQ29uZmlnKGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCkge1xyXG4gICAgICAgIHRhcmdldFtkaWFsb2dDb25maWdNZW1iZXJdID0gY29uZmlnO1xyXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XHJcbiAgICB9O1xyXG59XHJcblxyXG5cclxuY29uc3QgZGlhbG9nQ29uZmlnTWVtYmVyID0gU3ltYm9sKFwiZGlhbG9nQ29uZmlnTWVtYmVyXCIpOyJdfQ== |
@@ -198,2 +198,2 @@ /** | ||
export const serverActionField = Symbol('serverActionField'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUF1QyxNQUFNLFdBQVcsQ0FBQztBQUVuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFHeEUscUJBRUM7OztJQURHLHNCQUFZOzs7OztBQUVoQixxQkFFQzs7O0lBREcsc0JBQVU7O0FBRWQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBUzs7OztJQU0xQyxZQUFvQixFQUF5QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURRLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBRXpDLElBQUksQ0FBQyxFQUFFLEdBQUcsMkJBQTJCLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBQ3BFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUNqQixDQUFDOzs7OztJQVJELE9BQU8sQ0FBQyxHQUFXOztZQUNYLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtRQUMvQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQU1KOzs7Ozs7SUFMZSw2QkFBaUM7O0FBT2pELE1BQU0sT0FBTyxjQUFlLFNBQVEsTUFBc0I7Ozs7Ozs7SUFFdEQsWUFBWSxJQUFZLEVBQVUsS0FBWSxFQUFVLE9BQThCLEVBQVUsY0FBb0M7UUFDaEksS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMs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QUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUM7UUFJekcsVUFBVSxDQUFDLEtBQUs7Ozs7UUFBRyxVQUFnQixHQUFHLElBQVc7O2dCQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRTtvQkFDN0IsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTt3QkFDN0IsT0FBTyxNQUFNLFdBQVcsQ0FBQyxjQUFjLENBQUMsU0FBUzs7O3dCQUFDLEdBQVMsRUFBRSx3REFBQyxPQUFBLENBQUMsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxHQUFBLEVBQUMsQ0FBQztxQkFDMUc7O3dCQUVHLE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2lCQUN0RDs7b0JBRUcsT0FBTyxDQUFDLE1BQU0sY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3RCxDQUFDO1NBQUEsQ0FBQSxDQUFBO1FBQ0QsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxZQUFZLENBQUM7UUFHbkQsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQyxFQUFBO0FBQ0wsQ0FBQzs7QUFDRCxNQUFNLE9BQU8saUJBQWlCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcclxuXHJcbmltcG9ydCB7IFN1cHBvcnRzVHJhbnNhY3Rpb24sIERhdGFQcm92aWRlckZhY3RvcnksIERhdGFBcGlSZXF1ZXN0IH0gZnJvbSBcIi4uL2NvcmUvZGF0YUludGVyZmFjZXMxXCI7XHJcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2NvcmUvcmVzdERhdGFQcm92aWRlcic7XHJcbmltcG9ydCB7IENvbnRleHQsIFNlcnZlckNvbnRleHQsIERpcmVjdFNRTCwgQWxsb3dlZCwgRGF0YVByb3ZpZGVyRmFjdG9yeUJ1aWxkZXIgfSBmcm9tICcuL0NvbnRleHQnO1xyXG5pbXBvcnQgeyBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFN1cHBvcnRzRGlyZWN0U3FsIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEJ1c3lTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci1jb21wb25lbnRzL3dhaXQvYnVzeS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyIH0gZnJvbSAnLi4vY29yZS9TUUxEYXRhYmFzZVNoYXJlZCc7XHJcblxyXG5cclxuaW50ZXJmYWNlIGluQXJncyB7XHJcbiAgICBhcmdzOiBhbnlbXTtcclxufVxyXG5pbnRlcmZhY2UgcmVzdWx0IHtcclxuICAgIGRhdGE6IGFueTtcclxufVxyXG5leHBvcnQgY2xhc3MgQWN0dWFsRGlyZWN0U1FMIGV4dGVuZHMgRGlyZWN0U1FMIHtcclxuXHJcbiAgICBleGVjdXRlKHNxbDogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IGMgPSB0aGlzLmRwLmNyZWF0ZUNvbW1hbmQoKTtcclxuICAgICAgICByZXR1cm4gYy5xdWVyeShzcWwpO1xyXG4gICAgfVxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkcDogU1FMQ29ubmVjdGlvblByb3ZpZGVyKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmRwID0gQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyLmRlY29yYXRlU3FsQ29ubmVjdGlvblByb3ZpZGVyKGRwKTtcclxuICAgICAgICBsZXQgeSA9IDEgKyAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgbXlTZXJ2ZXJBY3Rpb24gZXh0ZW5kcyBBY3Rpb248aW5BcmdzLCByZXN1bHQ+XHJcbntcclxuICAgIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcHJpdmF0ZSB0eXBlczogYW55W10sIHByaXZhdGUgb3B0aW9uczogU2VydmVyRnVuY3Rpb25PcHRpb25zLCBwcml2YXRlIG9yaWdpbmFsTWV0aG9kOiAoYXJnczogYW55W10pID0+IGFueSkge1xyXG4gICAgICAgIHN1cGVyKCcnLCBuYW1lKVxyXG4gICAgfVxyXG4gICAgZGF0YVByb3ZpZGVyOiBEYXRhUHJvdmlkZXJGYWN0b3J5QnVpbGRlcjtcclxuICAgIHByb3RlY3RlZCBhc3luYyBleGVjdXRlKGluZm86IGluQXJncywgcmVxOiBEYXRhQXBpUmVxdWVzdCk6IFByb21pc2U8cmVzdWx0PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHsgZGF0YToge30gfTtcclxuICAgICAgICBsZXQgY29udGV4dCA9IG5ldyBTZXJ2ZXJDb250ZXh0KCk7XHJcbiAgICAgICAgY29udGV4dC5zZXRSZXEocmVxKTtcclxuICAgICAgICBsZXQgZHMgPSB0aGlzLmRhdGFQcm92aWRlcihjb250ZXh0KTtcclxuICAgICAgICBhd2FpdCAoPFN1cHBvcnRzVHJhbnNhY3Rpb24+ZHMpLmRvSW5UcmFuc2FjdGlvbihhc3luYyBkcyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnRleHQuc2V0RGF0YVByb3ZpZGVyKGRzKTtcclxuICAgICAgICAgICAgaWYgKCFjb250ZXh0LmlzQWxsb3dlZCh0aGlzLm9wdGlvbnMuYWxsb3dlZCkpXHJcbiAgICAgICAgICAgICAgICB0aHJvdyAnbm90IGFsbG93ZWQnO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlcylcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50eXBlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmFyZ3MubGVuZ3RoIDwgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmFyZ3MucHVzaCh1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlc1tpXSA9PSBDb250ZXh0IHx8IHRoaXMudHlwZXNbaV0gPT0gU2VydmVyQ29udGV4dCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5hcmdzW2ldID0gY29udGV4dDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZXNbaV0gPT0gRGlyZWN0U1FMICYmIGRzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYXJnc1tpXSA9ICg8U3VwcG9ydHNEaXJlY3RTcWw+PGFueT5kcykuZ2V0RGlyZWN0U3FsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LmRhdGEgPSBhd2FpdCB0aGlzLm9yaWdpbmFsTWV0aG9kKGluZm8uYXJncyk7XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyRnVuY3Rpb25PcHRpb25zIHtcclxuICAgIGFsbG93ZWQ6IEFsbG93ZWQ7XHJcbiAgICBibG9ja1VzZXI/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjb25zdCBhY3Rpb25JbmZvID0ge1xyXG4gICAgYWxsQWN0aW9uczogW10gYXMgYW55W10sXHJcbiAgICBydW5uaW5nT25TZXJ2ZXI6IGZhbHNlXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZXJ2ZXJGdW5jdGlvbihvcHRpb25zOiBTZXJ2ZXJGdW5jdGlvbk9wdGlvbnMpIHtcclxuICAgIHJldHVybiAodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjcmlwdG9yOiBhbnkpID0+IHtcclxuICAgICAgICBcclxuICAgICAgICB2YXIgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xyXG4gICAgICAgIHZhciB0eXBlcyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCB0YXJnZXQsIGtleSk7XHJcblxyXG5cclxuICAgICAgICBsZXQgc2VydmVyQWN0aW9uID0gbmV3IG15U2VydmVyQWN0aW9uKGtleSwgdHlwZXMsIG9wdGlvbnMsIGFyZ3MgPT4gb3JpZ2luYWxNZXRob2QuYXBwbHkodW5kZWZpbmVkLCBhcmdzKSk7XHJcblxyXG5cclxuXHJcbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAoIWFjdGlvbkluZm8ucnVubmluZ09uU2VydmVyKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ibG9ja1VzZXIgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IEJ1c3lTZXJ2aWNlLnNpbmdsZUluc3RhbmNlLmRvbm90V2FpdChhc3luYyAoKSA9PiAoYXdhaXQgc2VydmVyQWN0aW9uLnJ1bih7IGFyZ3MgfSkpLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoYXdhaXQgc2VydmVyQWN0aW9uLnJ1bih7IGFyZ3MgfSkpLmRhdGE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChhd2FpdCBvcmlnaW5hbE1ldGhvZC5hcHBseSh1bmRlZmluZWQsIGFyZ3MpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYWN0aW9uSW5mby5hbGxBY3Rpb25zLnB1c2goZGVzY3JpcHRvci52YWx1ZSk7XHJcbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVtzZXJ2ZXJBY3Rpb25GaWVsZF0gPSBzZXJ2ZXJBY3Rpb247XHJcblxyXG5cclxuICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3Qgc2VydmVyQWN0aW9uRmllbGQgPSBTeW1ib2woJ3NlcnZlckFjdGlvbkZpZWxkJyk7XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUF1QyxNQUFNLFdBQVcsQ0FBQztBQUVuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFHeEUscUJBRUM7OztJQURHLHNCQUFZOzs7OztBQUVoQixxQkFFQzs7O0lBREcsc0JBQVU7O0FBRWQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBUzs7OztJQU0xQyxZQUFvQixFQUF5QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURRLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBRXpDLElBQUksQ0FBQyxFQUFFLEdBQUcsMkJBQTJCLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBQ3BFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUNqQixDQUFDOzs7OztJQVJELE9BQU8sQ0FBQyxHQUFXOztZQUNYLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtRQUMvQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQU1KOzs7Ozs7SUFMZSw2QkFBaUM7O0FBT2pELE1BQU0sT0FBTyxjQUFlLFNBQVEsTUFBc0I7Ozs7Ozs7SUFFdEQsWUFBWSxJQUFZLEVBQVUsS0FBWSxFQUFVLE9BQThCLEVBQVUsY0FBb0M7UUFDaEksS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMs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QUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUM7UUFJekcsVUFBVSxDQUFDLEtBQUs7Ozs7UUFBRyxVQUFnQixHQUFHLElBQVc7O2dCQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRTtvQkFDN0IsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTt3QkFDN0IsT0FBTyxNQUFNLFdBQVcsQ0FBQyxjQUFjLENBQUMsU0FBUzs7O3dCQUFDLEdBQVMsRUFBRSx3REFBQyxPQUFBLENBQUMsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxHQUFBLEVBQUMsQ0FBQztxQkFDMUc7O3dCQUVHLE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2lCQUN0RDs7b0JBRUcsT0FBTyxDQUFDLE1BQU0sY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3RCxDQUFDO1NBQUEsQ0FBQSxDQUFBO1FBQ0QsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxZQUFZLENBQUM7UUFHbkQsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQyxFQUFBO0FBQ0wsQ0FBQzs7QUFDRCxNQUFNLE9BQU8saUJBQWlCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcclxuXHJcbmltcG9ydCB7IFN1cHBvcnRzVHJhbnNhY3Rpb24sIERhdGFQcm92aWRlciwgRGF0YUFwaVJlcXVlc3QgfSBmcm9tIFwiLi4vY29yZS9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vY29yZS9yZXN0RGF0YVByb3ZpZGVyJztcclxuaW1wb3J0IHsgQ29udGV4dCwgU2VydmVyQ29udGV4dCwgRGlyZWN0U1FMLCBBbGxvd2VkLCBEYXRhUHJvdmlkZXJGYWN0b3J5QnVpbGRlciB9IGZyb20gJy4vQ29udGV4dCc7XHJcbmltcG9ydCB7IFNRTENvbm5lY3Rpb25Qcm92aWRlciwgU3VwcG9ydHNEaXJlY3RTcWwgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQnVzeVNlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgfSBmcm9tICcuLi9jb3JlL1NRTERhdGFiYXNlU2hhcmVkJztcclxuXHJcblxyXG5pbnRlcmZhY2UgaW5BcmdzIHtcclxuICAgIGFyZ3M6IGFueVtdO1xyXG59XHJcbmludGVyZmFjZSByZXN1bHQge1xyXG4gICAgZGF0YTogYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBY3R1YWxEaXJlY3RTUUwgZXh0ZW5kcyBEaXJlY3RTUUwge1xyXG5cclxuICAgIGV4ZWN1dGUoc3FsOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgYyA9IHRoaXMuZHAuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgICAgIHJldHVybiBjLnF1ZXJ5KHNxbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRwOiBTUUxDb25uZWN0aW9uUHJvdmlkZXIpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZHAgPSBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIuZGVjb3JhdGVTcWxDb25uZWN0aW9uUHJvdmlkZXIoZHApO1xyXG4gICAgICAgIGxldCB5ID0gMSArIDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBteVNlcnZlckFjdGlvbiBleHRlbmRzIEFjdGlvbjxpbkFyZ3MsIHJlc3VsdD5cclxue1xyXG4gICAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwcml2YXRlIHR5cGVzOiBhbnlbXSwgcHJpdmF0ZSBvcHRpb25zOiBTZXJ2ZXJGdW5jdGlvbk9wdGlvbnMsIHByaXZhdGUgb3JpZ2luYWxNZXRob2Q6IChhcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAgICAgc3VwZXIoJycsIG5hbWUpXHJcbiAgICB9XHJcbiAgICBkYXRhUHJvdmlkZXI6IERhdGFQcm92aWRlckZhY3RvcnlCdWlsZGVyO1xyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGUoaW5mbzogaW5BcmdzLCByZXE6IERhdGFBcGlSZXF1ZXN0KTogUHJvbWlzZTxyZXN1bHQ+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0geyBkYXRhOiB7fSB9O1xyXG4gICAgICAgIGxldCBjb250ZXh0ID0gbmV3IFNlcnZlckNvbnRleHQoKTtcclxuICAgICAgICBjb250ZXh0LnNldFJlcShyZXEpO1xyXG4gICAgICAgIGxldCBkcyA9IHRoaXMuZGF0YVByb3ZpZGVyKGNvbnRleHQpO1xyXG4gICAgICAgIGF3YWl0ICg8U3VwcG9ydHNUcmFuc2FjdGlvbj5kcykuZG9JblRyYW5zYWN0aW9uKGFzeW5jIGRzID0+IHtcclxuICAgICAgICAgICAgY29udGV4dC5zZXREYXRhUHJvdmlkZXIoZHMpO1xyXG4gICAgICAgICAgICBpZiAoIWNvbnRleHQuaXNBbGxvd2VkKHRoaXMub3B0aW9ucy5hbGxvd2VkKSlcclxuICAgICAgICAgICAgICAgIHRocm93ICdub3QgYWxsb3dlZCc7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGVzKVxyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnR5cGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8uYXJncy5sZW5ndGggPCBpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYXJncy5wdXNoKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGVzW2ldID09IENvbnRleHQgfHwgdGhpcy50eXBlc1tpXSA9PSBTZXJ2ZXJDb250ZXh0KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmFyZ3NbaV0gPSBjb250ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlc1tpXSA9PSBEaXJlY3RTUUwgJiYgZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5hcmdzW2ldID0gKDxTdXBwb3J0c0RpcmVjdFNxbD48YW55PmRzKS5nZXREaXJlY3RTcWwoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMub3JpZ2luYWxNZXRob2QoaW5mby5hcmdzKTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgICAgIHRocm93IGVyclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJGdW5jdGlvbk9wdGlvbnMge1xyXG4gICAgYWxsb3dlZDogQWxsb3dlZDtcclxuICAgIGJsb2NrVXNlcj86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNvbnN0IGFjdGlvbkluZm8gPSB7XHJcbiAgICBhbGxBY3Rpb25zOiBbXSBhcyBhbnlbXSxcclxuICAgIHJ1bm5pbmdPblNlcnZlcjogZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlcnZlckZ1bmN0aW9uKG9wdGlvbnM6IFNlcnZlckZ1bmN0aW9uT3B0aW9ucykge1xyXG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IGFueSkgPT4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHZhciBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XHJcbiAgICAgICAgdmFyIHR5cGVzID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIHRhcmdldCwga2V5KTtcclxuXHJcblxyXG4gICAgICAgIGxldCBzZXJ2ZXJBY3Rpb24gPSBuZXcgbXlTZXJ2ZXJBY3Rpb24oa2V5LCB0eXBlcywgb3B0aW9ucywgYXJncyA9PiBvcmlnaW5hbE1ldGhvZC5hcHBseSh1bmRlZmluZWQsIGFyZ3MpKTtcclxuXHJcblxyXG5cclxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIGlmICghYWN0aW9uSW5mby5ydW5uaW5nT25TZXJ2ZXIpIHtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmJsb2NrVXNlciA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgQnVzeVNlcnZpY2Uuc2luZ2xlSW5zdGFuY2UuZG9ub3RXYWl0KGFzeW5jICgpID0+IChhd2FpdCBzZXJ2ZXJBY3Rpb24ucnVuKHsgYXJncyB9KSkuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChhd2FpdCBzZXJ2ZXJBY3Rpb24ucnVuKHsgYXJncyB9KSkuZGF0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHVuZGVmaW5lZCwgYXJncykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhY3Rpb25JbmZvLmFsbEFjdGlvbnMucHVzaChkZXNjcmlwdG9yLnZhbHVlKTtcclxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW3NlcnZlckFjdGlvbkZpZWxkXSA9IHNlcnZlckFjdGlvbjtcclxuXHJcblxyXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBzZXJ2ZXJBY3Rpb25GaWVsZCA9IFN5bWJvbCgnc2VydmVyQWN0aW9uRmllbGQnKTtcclxuIl19 |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export function DataProvider() { } | ||
export function EntityDataProvider() { } | ||
if (false) { | ||
@@ -15,3 +15,3 @@ /** | ||
*/ | ||
DataProvider.prototype.count = function (where) { }; | ||
EntityDataProvider.prototype.count = function (where) { }; | ||
/** | ||
@@ -21,3 +21,3 @@ * @param {?=} options | ||
*/ | ||
DataProvider.prototype.find = function (options) { }; | ||
EntityDataProvider.prototype.find = function (options) { }; | ||
/** | ||
@@ -28,3 +28,3 @@ * @param {?} id | ||
*/ | ||
DataProvider.prototype.update = function (id, data) { }; | ||
EntityDataProvider.prototype.update = function (id, data) { }; | ||
/** | ||
@@ -34,3 +34,3 @@ * @param {?} id | ||
*/ | ||
DataProvider.prototype.delete = function (id) { }; | ||
EntityDataProvider.prototype.delete = function (id) { }; | ||
/** | ||
@@ -40,3 +40,3 @@ * @param {?} data | ||
*/ | ||
DataProvider.prototype.insert = function (data) { }; | ||
EntityDataProvider.prototype.insert = function (data) { }; | ||
} | ||
@@ -53,7 +53,20 @@ /** | ||
* @record | ||
* @template T | ||
*/ | ||
export function EntitySourceFindOptions() { } | ||
export function EntityProvider() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
EntitySourceFindOptions.prototype.orderBy; | ||
/** | ||
* @param {?=} options | ||
* @return {?} | ||
*/ | ||
EntityProvider.prototype.find = function (options) { }; | ||
/** | ||
* @param {?=} where | ||
* @return {?} | ||
*/ | ||
EntityProvider.prototype.count = function (where) { }; | ||
/** | ||
* @return {?} | ||
*/ | ||
EntityProvider.prototype.create = function () { }; | ||
} | ||
@@ -94,11 +107,9 @@ /** | ||
*/ | ||
export function DataProviderFactory() { } | ||
export function DataProvider() { } | ||
if (false) { | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
DataProviderFactory.prototype.provideFor = function (name, factory) { }; | ||
DataProvider.prototype.getEntityDataProvider = function (entity) { }; | ||
} | ||
@@ -178,5 +189,27 @@ /** | ||
DataColumnSettings.prototype.dbReadOnly; | ||
/** @type {?|undefined} */ | ||
DataColumnSettings.prototype.display; | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function ColumnDisplay() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.dropDown; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.width; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.getValue; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.hideDataOnInput; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.click; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.allowClick; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.clickIcon; | ||
} | ||
/** | ||
* @record | ||
* @template dataType | ||
@@ -314,2 +347,2 @@ */ | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUludGVyZmFjZXMxLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0Esa0NBTUM7Ozs7OztJQUxDLG9EQUEwQzs7Ozs7SUFDMUMscURBQWlEOzs7Ozs7SUFDakQsd0RBQXlDOzs7OztJQUN6QyxrREFBK0I7Ozs7O0lBQy9CLG9EQUFnQzs7Ozs7QUFFbEMsaUNBRUM7OztJQURDLDhCQUFlOzs7OztBQUVqQiw2Q0FFQzs7O0lBREMsMENBQTZEOzs7OztBQUcvRCxxQ0FNQzs7O0lBTEMsZ0NBQW1COztJQUVuQixnQ0FBZTs7SUFDZiwrQkFBYzs7SUFDZCxrREFBOEI7Ozs7OztBQUVoQywwQ0FNQzs7O0lBTEMscUNBQXlDOztJQUN6Qyx1Q0FBdUk7O0lBQ3ZJLHFDQUFlOztJQUNmLG9DQUFjOztJQUNkLHVEQUE4Qjs7Ozs7QUFHaEMseUNBR0M7Ozs7Ozs7O0lBRkMsd0VBQWdGOzs7OztBQUlsRiwwQ0FFQzs7O0lBREMsb0NBQVU7Ozs7O0FBRVoseUNBR0M7Ozs7OztJQUZDLG9FQUFpRjs7Ozs7QUFHbkYseUNBSUM7Ozs7OztJQUhDLDREQUEyQjs7Ozs7SUFDM0Isb0VBQW1DOzs7Ozs7SUFDbkMsbUVBQXdDOzs7Ozs7QUFHMUMsd0NBY0M7OztJQWJDLHNDQUFrQjs7SUFDbEIsMENBQXVCOztJQUN2QixxQ0FBaUI7O0lBQ2pCLDRDQUF5Qjs7SUFDekIsdUNBQW1COztJQUNuQixvQ0FBaUM7O0lBQ2pDLG1DQUFhOztJQUNiLHFDQUE4Qjs7SUFDOUIsd0NBQXdDOztJQUN4QyxzQ0FBOEI7O0lBQzlCLHlDQUFrQzs7SUFDbEMseUNBQXlDOztJQUN6Qyx3Q0FBcUI7Ozs7OztBQUV2QixtQ0FHQzs7Ozs7O0lBRkMsa0RBQXlCOzs7OztJQUN6QixvREFBMkI7Ozs7O0FBRTdCLCtCQUlDOzs7SUFIQywrQkFBd0I7O0lBQ3hCLDZCQUFxQzs7SUFDckMsNkJBQXFDOzs7OztBQUl2QyxnQ0FFQzs7Ozs7O0lBREMsNERBQTZDOzs7OztBQUUvQyxvQ0FTQzs7Ozs7OztJQVJDLDZEQUE0Qzs7Ozs7O0lBQzVDLG1FQUFrRDs7Ozs7O0lBQ2xELHNFQUFxRDs7Ozs7O0lBQ3JELGlFQUFnRDs7Ozs7O0lBQ2hELG1FQUFrRDs7Ozs7O0lBQ2xELDhEQUE2Qzs7Ozs7O0lBQzdDLDhEQUE4Qzs7Ozs7O0lBQzlDLGdFQUFnRDs7Ozs7QUFHbEQsb0NBTUM7OztJQUZDLDhCQUFlOztJQUNmLGtDQUFpQjs7OztJQUpqQixzREFBb0I7Ozs7O0lBQ3BCLGtEQUFzQjs7Ozs7SUFDdEIsd0RBQStCOzs7OztBQUlqQyxtQ0FJQzs7Ozs7O0lBSEMsK0RBQXFDOzs7OztJQUNyQyw4RkFBdUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIEVudGl0eSwgU29ydCwgU29ydFNlZ21lbnQsIFN0cmluZ0NvbHVtbiB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGaW5kT3B0aW9ucyB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuaW1wb3J0IHsgVXNlckluZm8sIEFsbG93ZWQgfSBmcm9tICcuLi9jb250ZXh0L0NvbnRleHQnO1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhUHJvdmlkZXIge1xyXG4gIGNvdW50KHdoZXJlOiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+O1xyXG4gIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxBcnJheTxhbnk+PjtcclxuICB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG4gIGRlbGV0ZShpZDogYW55KTogUHJvbWlzZTx2b2lkPjtcclxuICBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmluZE9wdGlvbnMgZXh0ZW5kcyBGaW5kT3B0aW9uc0Jhc2Uge1xyXG4gIG9yZGVyQnk/OiBTb3J0O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U291cmNlRmluZE9wdGlvbnMgZXh0ZW5kcyBGaW5kT3B0aW9uc0Jhc2Uge1xyXG4gIG9yZGVyQnk/OiBTb3J0IHwgQ29sdW1uPGFueT4gfCAoQ29sdW1uPGFueT4gfCBTb3J0U2VnbWVudClbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaW5kT3B0aW9uc0Jhc2Uge1xyXG4gIHdoZXJlPzogRmlsdGVyQmFzZTtcclxuXHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbiAgcGFnZT86IG51bWJlcjtcclxuICBhZGRpdGlvbmFsVXJsUGFyYW1ldGVycz86IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPcHRpb25zUGVyRW50aXR5PHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gIHdoZXJlPzogKHJvd1R5cGU6IHJvd1R5cGUpID0+IEZpbHRlckJhc2U7XHJcbiAgb3JkZXJCeT86ICgocm93VHlwZTogcm93VHlwZSkgPT4gU29ydCkgfCAoKHJvd1R5cGU6IHJvd1R5cGUpID0+IChDb2x1bW48YW55PikpIHwgKChyb3dUeXBlOiByb3dUeXBlKSA9PiAoQ29sdW1uPGFueT4gfCBTb3J0U2VnbWVudClbXSk7XHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbiAgcGFnZT86IG51bWJlcjtcclxuICBhZGRpdGlvbmFsVXJsUGFyYW1ldGVycz86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhUHJvdmlkZXJGYWN0b3J5IHtcclxuICBwcm92aWRlRm9yPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4obmFtZTogc3RyaW5nLCBmYWN0b3J5OiAoKSA9PiBUKTogRGF0YVByb3ZpZGVyO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgcm93czogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydHNUcmFuc2FjdGlvbiBleHRlbmRzIERhdGFQcm92aWRlckZhY3Rvcnkge1xyXG4gIGRvSW5UcmFuc2FjdGlvbih3aGF0OiAoZHA6IERhdGFQcm92aWRlckZhY3RvcnkpID0+IFByb21pc2U8dm9pZD4pOiBQcm9taXNlPHZvaWQ+O1xyXG5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblZhbHVlUHJvdmlkZXIge1xyXG4gIGdldFZhbHVlKGtleTogc3RyaW5nKTogYW55O1xyXG4gIGdldE9yaWdpbmFsVmFsdWUoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgc2V0VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29sdW1uT3B0aW9uczx0eXBlPiA9IERhdGFDb2x1bW5TZXR0aW5nczx0eXBlPiB8IHN0cmluZztcclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQ29sdW1uU2V0dGluZ3M8dHlwZT4ge1xyXG4gIGpzb25OYW1lPzogc3RyaW5nO1xyXG4gIGluY2x1ZGVJbkFwaT86IEFsbG93ZWQ7XHJcbiAgY2FwdGlvbj86IHN0cmluZztcclxuICBhbGxvd0FwaVVwZGF0ZT86IEFsbG93ZWQ7XHJcbiAgaW5wdXRUeXBlPzogc3RyaW5nO1xyXG4gIGRiTmFtZT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xyXG4gIHZhbHVlPzogdHlwZTtcclxuICBzdG9yYWdlPzogQ29sdW1uU3RvcmFnZTx0eXBlPjtcclxuICBvblZhbGlkYXRlPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XHJcbiAgZ2V0VmFsdWU/OiAodmFsOiB0eXBlKSA9PiBhbnk7XHJcbiAgdmFsdWVDaGFuZ2U/OiAodmFsOiB0eXBlKSA9PiB2b2lkO1xyXG4gIHZpcnR1YWxEYXRhPzogKCkgPT4gdHlwZSB8IFByb21pc2U8dHlwZT47XHJcbiAgZGJSZWFkT25seT86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5TdG9yYWdlPGRhdGFUeXBlPiB7XHJcbiAgdG9EYih2YWw6IGRhdGFUeXBlKTogYW55O1xyXG4gIGZyb21EYih2YWw6IGFueSk6IGRhdGFUeXBlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUm93RXZlbnRzIHtcclxuICByb3dEZWxldGVkPzogKCkgPT4gdm9pZDtcclxuICByb3dTYXZlZD86IChuZXdSb3c6IGJvb2xlYW4pID0+IHZvaWQ7XHJcbiAgcm93UmVzZXQ/OiAobmV3Um93OiBib29sZWFuKSA9PiB2b2lkO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJCYXNlIHtcclxuICBfX2FwcGx5VG9Db25zdW1lcihhZGQ6IEZpbHRlckNvbnN1bWVyKTogdm9pZDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbnN1bWVyIHtcclxuICBpc0VxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gIGlzRGlmZmVyZW50RnJvbShjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQ7XHJcbiAgaXNHcmVhdGVyT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICBpc0dyZWF0ZXJUaGFuKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICBpc0xlc3NPckVxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gIGlzQ29udGFpbnMoY29sOiBTdHJpbmdDb2x1bW4sIHZhbDogYW55KTogdm9pZDtcclxuICBpc1N0YXJ0c1dpdGgoY29sOiBTdHJpbmdDb2x1bW4sIHZhbDogYW55KTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpUmVxdWVzdCB7XHJcbiAgZ2V0QmFzZVVybCgpOnN0cmluZztcclxuICBnZXQoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogc3RyaW5nO1xyXG4gIHVzZXI6IFVzZXJJbmZvO1xyXG4gIGNsaWVudElwOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpU2VydmVyIHtcclxuICBhZGRBbGxvd2VkSGVhZGVyKG5hbWU6IHN0cmluZyk6IHZvaWQ7XHJcbiAgYWRkUmVxdWVzdFByb2Nlc3Nvcihwcm9jZXNzQW5kUmV0dXJuVHJ1ZVRvQW91dGhvcmlzZTogKHJlcTogRGF0YUFwaVJlcXVlc3QpID0+IFByb21pc2U8Ym9vbGVhbj4pOiB2b2lkO1xyXG5cclxufSJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUludGVyZmFjZXMxLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0Esd0NBTUM7Ozs7OztJQUxHLDBEQUEwQzs7Ozs7SUFDMUMsMkRBQWlEOzs7Ozs7SUFDakQsOERBQXlDOzs7OztJQUN6Qyx3REFBK0I7Ozs7O0lBQy9CLDBEQUFnQzs7Ozs7QUFFcEMsaUNBRUM7OztJQURHLDhCQUFlOzs7Ozs7QUFHbkIsb0NBSUM7Ozs7OztJQUhHLHVEQUFxRDs7Ozs7SUFDckQsc0RBQTBEOzs7O0lBQzFELGtEQUFZOzs7OztBQUVoQixxQ0FNQzs7O0lBTEcsZ0NBQW1COztJQUVuQixnQ0FBZTs7SUFDZiwrQkFBYzs7SUFDZCxrREFBOEI7Ozs7OztBQUlsQywwQ0FNQzs7O0lBTEcscUNBQTZCOztJQUM3Qix1Q0FBaUM7O0lBQ2pDLHFDQUFlOztJQUNmLG9DQUFjOztJQUNkLHVEQUE4Qjs7Ozs7QUFHbEMsa0NBR0M7Ozs7OztJQUZHLHFFQUErRDs7Ozs7QUFJbkUsMENBRUM7OztJQURHLG9DQUFVOzs7OztBQUVkLHlDQUdDOzs7Ozs7SUFGRyxvRUFBMEU7Ozs7O0FBRzlFLHlDQUlDOzs7Ozs7SUFIRyw0REFBMkI7Ozs7O0lBQzNCLG9FQUFtQzs7Ozs7O0lBQ25DLG1FQUF3Qzs7Ozs7O0FBRzVDLHdDQWVDOzs7SUFkRyxzQ0FBa0I7O0lBQ2xCLDBDQUF1Qjs7SUFDdkIscUNBQWlCOztJQUNqQiw0Q0FBeUI7O0lBQ3pCLHVDQUFtQjs7SUFDbkIsb0NBQWlDOztJQUNqQyxtQ0FBYTs7SUFDYixxQ0FBOEI7O0lBQzlCLHdDQUF3Qzs7SUFDeEMsc0NBQThCOztJQUM5Qix5Q0FBa0M7O0lBQ2xDLHlDQUF5Qzs7SUFDekMsd0NBQXFCOztJQUNyQixxQ0FBeUQ7Ozs7O0FBRTdELG1DQVFDOzs7SUFQRyxpQ0FBMkI7O0lBQzNCLDhCQUFlOztJQUNmLGlDQUFxQjs7SUFDckIsd0NBQTBCOztJQUMxQiw4QkFBbUI7O0lBQ25CLG1DQUEyQjs7SUFDM0Isa0NBQW1COzs7Ozs7QUFFdkIsbUNBR0M7Ozs7OztJQUZHLGtEQUF5Qjs7Ozs7SUFDekIsb0RBQTJCOzs7OztBQUUvQiwrQkFJQzs7O0lBSEcsK0JBQXdCOztJQUN4Qiw2QkFBcUM7O0lBQ3JDLDZCQUFxQzs7Ozs7QUFJekMsZ0NBRUM7Ozs7OztJQURHLDREQUE2Qzs7Ozs7QUFFakQsb0NBU0M7Ozs7Ozs7SUFSRyw2REFBNEM7Ozs7OztJQUM1QyxtRUFBa0Q7Ozs7OztJQUNsRCxzRUFBcUQ7Ozs7OztJQUNyRCxpRUFBZ0Q7Ozs7OztJQUNoRCxtRUFBa0Q7Ozs7OztJQUNsRCw4REFBNkM7Ozs7OztJQUM3Qyw4REFBOEM7Ozs7OztJQUM5QyxnRUFBZ0Q7Ozs7O0FBR3BELG9DQU1DOzs7SUFGRyw4QkFBZTs7SUFDZixrQ0FBaUI7Ozs7SUFKakIsc0RBQXFCOzs7OztJQUNyQixrREFBc0I7Ozs7O0lBQ3RCLHdEQUErQjs7Ozs7QUFJbkMsbUNBSUM7Ozs7OztJQUhHLCtEQUFxQzs7Ozs7SUFDckMsOEZBQXVHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBFbnRpdHksIFNvcnQsIFNvcnRTZWdtZW50LCBTdHJpbmdDb2x1bW4sIERyb3BEb3duT3B0aW9ucyB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGaW5kT3B0aW9ucyB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuaW1wb3J0IHsgVXNlckluZm8sIEFsbG93ZWQgfSBmcm9tICcuLi9jb250ZXh0L0NvbnRleHQnO1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gICAgY291bnQod2hlcmU6IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj47XHJcbiAgICBmaW5kKG9wdGlvbnM/OiBGaW5kT3B0aW9ucyk6IFByb21pc2U8QXJyYXk8YW55Pj47XHJcbiAgICB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG4gICAgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgaW5zZXJ0KGRhdGE6IGFueSk6IFByb21pc2U8YW55PjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPcHRpb25zIGV4dGVuZHMgRmluZE9wdGlvbnNCYXNlIHtcclxuICAgIG9yZGVyQnk/OiBTb3J0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVByb3ZpZGVyPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gICAgZmluZChvcHRpb25zPzogRmluZE9wdGlvbnNQZXJFbnRpdHk8VD4pOiBQcm9taXNlPFRbXT5cclxuICAgIGNvdW50KHdoZXJlPzogKGVudGl0eTogVCkgPT4gRmlsdGVyQmFzZSk6IFByb21pc2U8bnVtYmVyPjtcclxuICAgIGNyZWF0ZSgpOiBUO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmluZE9wdGlvbnNCYXNlIHtcclxuICAgIHdoZXJlPzogRmlsdGVyQmFzZTtcclxuXHJcbiAgICBsaW1pdD86IG51bWJlcjtcclxuICAgIHBhZ2U/OiBudW1iZXI7XHJcbiAgICBhZGRpdGlvbmFsVXJsUGFyYW1ldGVycz86IGFueTtcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEVudGl0eVdoZXJlPHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gPSAocm93VHlwZTogcm93VHlwZSkgPT4gRmlsdGVyQmFzZTtcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBFbnRpdHlPcmRlckJ5PHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gPSAoKHJvd1R5cGU6IHJvd1R5cGUpID0+IFNvcnQpIHwgKChyb3dUeXBlOiByb3dUeXBlKSA9PiAoQ29sdW1uPGFueT4pKSB8ICgocm93VHlwZTogcm93VHlwZSkgPT4gKENvbHVtbjxhbnk+IHwgU29ydFNlZ21lbnQpW10pO1xyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPcHRpb25zUGVyRW50aXR5PHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gICAgd2hlcmU/OiBFbnRpdHlXaGVyZTxyb3dUeXBlPjtcclxuICAgIG9yZGVyQnk/OiBFbnRpdHlPcmRlckJ5PHJvd1R5cGU+O1xyXG4gICAgbGltaXQ/OiBudW1iZXI7XHJcbiAgICBwYWdlPzogbnVtYmVyO1xyXG4gICAgYWRkaXRpb25hbFVybFBhcmFtZXRlcnM/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVByb3ZpZGVyIHtcclxuICAgIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6IEVudGl0eTxhbnk+KTogRW50aXR5RGF0YVByb3ZpZGVyO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgICByb3dzOiBhbnk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0c1RyYW5zYWN0aW9uIGV4dGVuZHMgRGF0YVByb3ZpZGVyIHtcclxuICAgIGRvSW5UcmFuc2FjdGlvbih3aGF0OiAoZHA6IERhdGFQcm92aWRlcikgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD47XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uVmFsdWVQcm92aWRlciB7XHJcbiAgICBnZXRWYWx1ZShrZXk6IHN0cmluZyk6IGFueTtcclxuICAgIGdldE9yaWdpbmFsVmFsdWUoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgICBzZXRWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb2x1bW5PcHRpb25zPHR5cGU+ID0gRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+IHwgc3RyaW5nO1xyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFDb2x1bW5TZXR0aW5nczx0eXBlPiB7XHJcbiAgICBqc29uTmFtZT86IHN0cmluZztcclxuICAgIGluY2x1ZGVJbkFwaT86IEFsbG93ZWQ7XHJcbiAgICBjYXB0aW9uPzogc3RyaW5nO1xyXG4gICAgYWxsb3dBcGlVcGRhdGU/OiBBbGxvd2VkO1xyXG4gICAgaW5wdXRUeXBlPzogc3RyaW5nO1xyXG4gICAgZGJOYW1lPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XHJcbiAgICB2YWx1ZT86IHR5cGU7XHJcbiAgICBzdG9yYWdlPzogQ29sdW1uU3RvcmFnZTx0eXBlPjtcclxuICAgIG9uVmFsaWRhdGU/OiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcclxuICAgIGdldFZhbHVlPzogKHZhbDogdHlwZSkgPT4gYW55O1xyXG4gICAgdmFsdWVDaGFuZ2U/OiAodmFsOiB0eXBlKSA9PiB2b2lkO1xyXG4gICAgdmlydHVhbERhdGE/OiAoKSA9PiB0eXBlIHwgUHJvbWlzZTx0eXBlPjtcclxuICAgIGRiUmVhZE9ubHk/OiBib29sZWFuO1xyXG4gICAgZGlzcGxheT86IChzZW5kRGlzcGxheToodG86Q29sdW1uRGlzcGxheSk9PnZvaWQpID0+IHZvaWQ7IFxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRGlzcGxheSB7XHJcbiAgICBkcm9wRG93bj86IERyb3BEb3duT3B0aW9ucztcclxuICAgIHdpZHRoPzogc3RyaW5nO1xyXG4gICAgZ2V0VmFsdWU/OiAoKSA9PiBhbnk7XHJcbiAgICBoaWRlRGF0YU9uSW5wdXQ/OiBib29sZWFuO1xyXG4gICAgY2xpY2s/OiAoKSA9PiB2b2lkO1xyXG4gICAgYWxsb3dDbGljaz86ICgpID0+IGJvb2xlYW47XHJcbiAgICBjbGlja0ljb24/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5TdG9yYWdlPGRhdGFUeXBlPiB7XHJcbiAgICB0b0RiKHZhbDogZGF0YVR5cGUpOiBhbnk7XHJcbiAgICBmcm9tRGIodmFsOiBhbnkpOiBkYXRhVHlwZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJvd0V2ZW50cyB7XHJcbiAgICByb3dEZWxldGVkPzogKCkgPT4gdm9pZDtcclxuICAgIHJvd1NhdmVkPzogKG5ld1JvdzogYm9vbGVhbikgPT4gdm9pZDtcclxuICAgIHJvd1Jlc2V0PzogKG5ld1JvdzogYm9vbGVhbikgPT4gdm9pZDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQmFzZSB7XHJcbiAgICBfX2FwcGx5VG9Db25zdW1lcihhZGQ6IEZpbHRlckNvbnN1bWVyKTogdm9pZDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbnN1bWVyIHtcclxuICAgIGlzRXF1YWxUbyhjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQ7XHJcbiAgICBpc0RpZmZlcmVudEZyb20oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNHcmVhdGVyT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICAgIGlzR3JlYXRlclRoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNMZXNzT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICAgIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNDb250YWlucyhjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNTdGFydHNXaXRoKGNvbDogU3RyaW5nQ29sdW1uLCB2YWw6IGFueSk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUFwaVJlcXVlc3Qge1xyXG4gICAgZ2V0QmFzZVVybCgpOiBzdHJpbmc7XHJcbiAgICBnZXQoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgICBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBzdHJpbmc7XHJcbiAgICB1c2VyOiBVc2VySW5mbztcclxuICAgIGNsaWVudElwOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpU2VydmVyIHtcclxuICAgIGFkZEFsbG93ZWRIZWFkZXIobmFtZTogc3RyaW5nKTogdm9pZDtcclxuICAgIGFkZFJlcXVlc3RQcm9jZXNzb3IocHJvY2Vzc0FuZFJldHVyblRydWVUb0FvdXRob3Jpc2U6IChyZXE6IERhdGFBcGlSZXF1ZXN0KSA9PiBQcm9taXNlPGJvb2xlYW4+KTogdm9pZDtcclxuXHJcbn0iXX0= |
@@ -11,11 +11,11 @@ /** | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
provideFor(name, factory) { | ||
getEntityDataProvider(entity) { | ||
/** @type {?} */ | ||
let name = entity.__getName(); | ||
if (!this.rows[name]) | ||
this.rows[name] = []; | ||
return new ActualInMemoryDataProvider(factory, this.rows[name]); | ||
return new ActualInMemoryDataProvider(entity, this.rows[name]); | ||
} | ||
@@ -31,12 +31,9 @@ /** | ||
} | ||
/** | ||
* @template T | ||
*/ | ||
export class ActualInMemoryDataProvider { | ||
/** | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @param {?=} rows | ||
*/ | ||
constructor(factory, rows) { | ||
this.factory = factory; | ||
constructor(entity, rows) { | ||
this.entity = entity; | ||
this.rows = rows; | ||
@@ -148,4 +145,2 @@ if (!rows) | ||
idMatches(id) { | ||
if (!this.entity) | ||
this.entity = this.factory(); | ||
/** @type {?} */ | ||
@@ -223,7 +218,2 @@ let f = this.entity.__idColumn.isEqualTo(id); | ||
*/ | ||
ActualInMemoryDataProvider.prototype.factory; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualInMemoryDataProvider.prototype.rows; | ||
@@ -368,2 +358,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlEYXRhYmFzZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9pbk1lbW9yeURhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLFNBQUksR0FBUSxFQUFFLENBQUM7SUFPakIsQ0FBQzs7Ozs7OztJQU5RLFVBQVUsQ0FBd0IsSUFBWSxFQUFFLE9BQWdCO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksMEJBQTBCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7O0lBQ0QsUUFBUSxLQUFLLE9BQU8sc0JBQXNCLENBQUEsQ0FBQyxDQUFDO0NBQzdDOzs7SUFQQyxvQ0FBZTs7Ozs7QUFZakIsTUFBTSxPQUFPLDBCQUEwQjs7Ozs7SUFJckMsWUFBb0IsT0FBZ0IsRUFBVSxJQUFZO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ3hELElBQUksQ0FBQyxJQUFJO1lBQ1AsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLENBQUM7Ozs7O0lBQ0ssS0FBSyxDQUFDLEtBQWtCOzs7Z0JBQ3hCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSTs7Z0JBQ2hCLENBQUMsR0FBRyxDQUFDO1lBQ1QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsQ0FBQyxFQUFFLENBQUM7aUJBQ0w7cUJBQ0k7O3dCQUNDLENBQUMsR0FBRyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzQixJQUFJLENBQUMsQ0FBQyxFQUFFO3dCQUNOLENBQUMsRUFBRSxDQUFDO2lCQUNQO2FBRUY7WUFDRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7S0FBQTs7Ozs7SUFDSyxJQUFJLENBQUMsT0FBcUI7OztnQkFFMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJO1lBQ3BCLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtvQkFDakIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNOzs7O29CQUFDLENBQUMsQ0FBQyxFQUFFOzs0QkFDakIsQ0FBQyxHQUFHLElBQUksNEJBQTRCLENBQUMsQ0FBQyxDQUFDO3dCQUUzQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNuQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2QsQ0FBQyxFQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO29CQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUk7Ozs7O29CQUFDLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFOzs0QkFDOUIsQ0FBQyxHQUFHLENBQUM7d0JBQ1QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTs7Z0NBQ3BELEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7O2dDQUNqQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDOztnQ0FDN0IsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQzs0QkFDbEMsSUFBSSxJQUFJLEdBQUcsS0FBSztnQ0FDZCxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lDQUNILElBQUksSUFBSSxHQUFHLEtBQUs7Z0NBQ25CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0NBQ1YsSUFBSSxHQUFHLENBQUMsVUFBVTtvQ0FDaEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dDQUNWLE9BQU8sQ0FBQyxDQUFDOzZCQUNWO3lCQUNGO3dCQUNELE9BQU8sQ0FBQyxDQUFDO29CQUNYLENBQUMsRUFBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxJQUFJO2dCQUNOLE9BQU8sSUFBSSxDQUFDLEdBQUc7Ozs7Z0JBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2xCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckIsQ0FBQyxFQUFDLENBQUM7UUFFUCxDQUFDO0tBQUE7Ozs7O0lBQ0QsR0FBRyxDQUFDLENBQU07O1lBQ0osQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Ozs7OztJQUVPLFNBQVMsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDOztZQUMzQixDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM1Qzs7OztRQUFPLElBQUksQ0FBQyxFQUFFOztnQkFDUixDQUFDLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUM7WUFDOUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNkLENBQUMsRUFBQztJQUNKLENBQUM7Ozs7OztJQUdNLE1BQU0sQ0FBQyxFQUFPLEVBQUUsSUFBUzs7WUFFMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBRWxDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUV6QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDckQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7U0FDRjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7Ozs7SUFFTSxNQUFNLENBQUMsRUFBTzs7WUFDZixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUMxQjtTQUNGO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7OztJQUVNLE1BQU0sQ0FBQyxJQUFTO1FBQ3JCLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUNqQixNQUFNLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsRUFBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7Ozs7OztJQS9DQyw0Q0FBNEI7Ozs7O0lBbEVoQiw2Q0FBd0I7Ozs7O0lBQUUsMENBQW9COzs7Ozs7O0FBa0g1RCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVcsRUFBRSxPQUFxQjtJQUMxRCxJQUFJLENBQUMsT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDO0lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1FBQ2hCLE9BQU8sSUFBSSxDQUFDOztRQUNWLElBQUksR0FBRyxDQUFDO0lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSTtRQUNkLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3RCLElBQUksSUFBSSxHQUFHLENBQUM7UUFDVixJQUFJLEdBQUcsQ0FBQyxDQUFDOztRQUNQLENBQUMsR0FBRyxDQUFDO0lBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTTs7OztJQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3JCLENBQUMsRUFBRSxDQUFDOztZQUNBLEdBQUcsR0FBRyxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUs7O1lBQzFCLEdBQUcsR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUs7UUFDN0IsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDN0IsQ0FBQyxFQUFDLENBQUM7QUFDTCxDQUFDO0FBQ0QsTUFBTSw0QkFBNEI7Ozs7SUFHaEMsWUFBb0IsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFENUIsT0FBRSxHQUFHLElBQUksQ0FBQztJQUNzQixDQUFDOzs7Ozs7SUFDMUIsU0FBUyxDQUFDLEdBQWdCLEVBQUUsR0FBUTtRQUV6QyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUc7WUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7Ozs7O0lBRU0sZUFBZSxDQUFDLEdBQWdCLEVBQUUsR0FBUTtRQUMvQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUc7WUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7Ozs7O0lBRU0sa0JBQWtCLENBQUMsR0FBZ0IsRUFBRSxHQUFRO1FBQ2xELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRztZQUM5QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFFTSxhQUFhLENBQUMsR0FBZ0IsRUFBRSxHQUFRO1FBRTdDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRztZQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFFTSxlQUFlLENBQUMsR0FBZ0IsRUFBRSxHQUFRO1FBQy9DLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRztZQUM5QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFFTSxVQUFVLENBQUMsR0FBZ0IsRUFBRSxHQUFRO1FBQzFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRztZQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFDTSxVQUFVLENBQUMsR0FBaUIsRUFBRSxHQUFROztZQUN2QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNoQixPQUFPO1NBQ1I7O1lBRUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7Ozs7O0lBQ00sWUFBWSxDQUFDLEdBQWlCLEVBQUUsR0FBUTs7WUFDekMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDaEIsT0FBTztTQUNSOztZQUVHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNkLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjs7O0lBdkRDLDBDQUFVOzs7OztJQUNFLDJDQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuXHJcblxyXG5cclxuaW1wb3J0IHsgRW50aXR5LCBDb2x1bW4sIFN0cmluZ0NvbHVtbiB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXNlLCBEYXRhUHJvdmlkZXJGYWN0b3J5LCBEYXRhUHJvdmlkZXIsIEZpbmRPcHRpb25zLCBGaWx0ZXJDb25zdW1lciwgUm93c09mRGF0YUZvclRlc3RpbmcgfSBmcm9tICcuL2RhdGFJbnRlcmZhY2VzMSc7XHJcblxyXG5cclxuaW1wb3J0IHsgaXNGdW5jdGlvbiwgbWFrZVRpdGxlIH0gZnJvbSAnLi9jb21tb24nO1xyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgSW5NZW1vcnlEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBEYXRhUHJvdmlkZXJGYWN0b3J5LCBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgcm93czogYW55ID0ge307XHJcbiAgcHVibGljIHByb3ZpZGVGb3I8VCBleHRlbmRzIEVudGl0eTxhbnk+PihuYW1lOiBzdHJpbmcsIGZhY3Rvcnk6ICgpID0+IFQpOiBEYXRhUHJvdmlkZXIge1xyXG4gICAgaWYgKCF0aGlzLnJvd3NbbmFtZV0pXHJcbiAgICAgIHRoaXMucm93c1tuYW1lXSA9IFtdO1xyXG4gICAgcmV0dXJuIG5ldyBBY3R1YWxJbk1lbW9yeURhdGFQcm92aWRlcihmYWN0b3J5LCB0aGlzLnJvd3NbbmFtZV0pO1xyXG4gIH1cclxuICB0b1N0cmluZygpIHsgcmV0dXJuIFwiSW5NZW1vcnlEYXRhUHJvdmlkZXJcIiB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBY3R1YWxJbk1lbW9yeURhdGFQcm92aWRlcjxUIGV4dGVuZHMgRW50aXR5PGFueT4+IGltcGxlbWVudHMgRGF0YVByb3ZpZGVyIHtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6ICgpID0+IFQsIHByaXZhdGUgcm93cz86IGFueVtdKSB7XHJcbiAgICBpZiAoIXJvd3MpXHJcbiAgICAgIHJvd3MgPSBbXTtcclxuXHJcbiAgfVxyXG4gIGFzeW5jIGNvdW50KHdoZXJlPzogRmlsdGVyQmFzZSk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBsZXQgcm93cyA9IHRoaXMucm93cztcclxuICAgIGxldCBqID0gMDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoIXdoZXJlKSB7XHJcbiAgICAgICAgaisrO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCB4ID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9PYmplY3Qocm93c1tpXSk7XHJcbiAgICAgICAgd2hlcmUuX19hcHBseVRvQ29uc3VtZXIoeCk7XHJcbiAgICAgICAgaWYgKHgub2spXHJcbiAgICAgICAgICBqKys7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gajtcclxuICB9XHJcbiAgYXN5bmMgZmluZChvcHRpb25zPzogRmluZE9wdGlvbnMpOiBQcm9taXNlPGFueVtdPiB7XHJcblxyXG4gICAgbGV0IHJvd3MgPSB0aGlzLnJvd3M7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBpZiAob3B0aW9ucy53aGVyZSkge1xyXG4gICAgICAgIHJvd3MgPSByb3dzLmZpbHRlcihpID0+IHtcclxuICAgICAgICAgIGxldCB4ID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9PYmplY3QoaSk7XHJcblxyXG4gICAgICAgICAgb3B0aW9ucy53aGVyZS5fX2FwcGx5VG9Db25zdW1lcih4KTtcclxuICAgICAgICAgIHJldHVybiB4Lm9rO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLm9yZGVyQnkpIHtcclxuICAgICAgICByb3dzID0gcm93cy5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHIgPSAwO1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IHNlZyA9IG9wdGlvbnMub3JkZXJCeS5TZWdtZW50c1tpXTtcclxuICAgICAgICAgICAgbGV0IGxlZnQgPSBhW3NlZy5jb2x1bW4uanNvbk5hbWVdO1xyXG4gICAgICAgICAgICBsZXQgcmlnaHQgPSBiW3NlZy5jb2x1bW4uanNvbk5hbWVdO1xyXG4gICAgICAgICAgICBpZiAobGVmdCA+IHJpZ2h0KVxyXG4gICAgICAgICAgICAgIHIgPSAxO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChsZWZ0IDwgcmlnaHQpXHJcbiAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICBpZiAociAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHNlZy5kZXNjZW5kaW5nKVxyXG4gICAgICAgICAgICAgICAgciAqPSAtMTtcclxuICAgICAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcm93cyA9IHBhZ2VBcnJheShyb3dzLCBvcHRpb25zKTtcclxuICAgIH1cclxuICAgIGlmIChyb3dzKVxyXG4gICAgICByZXR1cm4gcm93cy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwKGkpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgfVxyXG4gIG1hcChpOiBhbnkpOiBhbnkge1xyXG4gICAgbGV0IHIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGkpKTtcclxuICAgIHJldHVybiByO1xyXG4gIH1cclxuICBwcml2YXRlIGVudGl0eTogRW50aXR5PGFueT47XHJcbiAgcHJpdmF0ZSBpZE1hdGNoZXMoaWQ6IGFueSk6IChpdGVtOiBhbnkpID0+IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmVudGl0eSlcclxuICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmZhY3RvcnkoKTtcclxuICAgIGxldCBmID0gdGhpcy5lbnRpdHkuX19pZENvbHVtbi5pc0VxdWFsVG8oaWQpO1xyXG4gICAgcmV0dXJuIGl0ZW0gPT4ge1xyXG4gICAgICBsZXQgeCA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvT2JqZWN0KGl0ZW0pO1xyXG4gICAgICBmLl9fYXBwbHlUb0NvbnN1bWVyKHgpO1xyXG4gICAgICByZXR1cm4geC5vaztcclxuICAgIH07XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHVwZGF0ZShpZDogYW55LCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG5cclxuICAgIGxldCBpZE1hdGNoZXMgPSB0aGlzLmlkTWF0Y2hlcyhpZCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJvd3MubGVuZ3RoOyBpKyspIHtcclxuXHJcbiAgICAgIGlmIChpZE1hdGNoZXModGhpcy5yb3dzW2ldKSkge1xyXG4gICAgICAgIHRoaXMucm93c1tpXSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucm93c1tpXSwgZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLm1hcCh0aGlzLnJvd3NbaV0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY291bGRuJ3QgZmluZCBpZCB0byB1cGRhdGU6IFwiICsgaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZShpZDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgaWRNYXRjaGVzID0gdGhpcy5pZE1hdGNoZXMoaWQpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGlkTWF0Y2hlcyh0aGlzLnJvd3NbaV0pKSB7XHJcbiAgICAgICAgdGhpcy5yb3dzLnNwbGljZShpLCAxKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRocm93IG5ldyBFcnJvcihcImNvdWxkbid0IGZpbmQgaWQgdG8gZGVsZXRlOiBcIiArIGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmIChkYXRhLmlkKVxyXG4gICAgICB0aGlzLnJvd3MuZm9yRWFjaChpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5pZCA9PSBpLmlkKVxyXG4gICAgICAgICAgdGhyb3cgRXJyb3IoXCJpZCBhbHJlYWR5IGV4aXN0c1wiKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnJvd3MucHVzaChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKSk7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VBcnJheShyb3dzOiBhbnlbXSwgb3B0aW9ucz86IEZpbmRPcHRpb25zKSB7XHJcbiAgaWYgKCFvcHRpb25zKVxyXG4gICAgcmV0dXJuIHJvd3M7XHJcbiAgaWYgKCFvcHRpb25zLmxpbWl0KVxyXG4gICAgcmV0dXJuIHJvd3M7XHJcbiAgbGV0IHBhZ2UgPSAxO1xyXG4gIGlmIChvcHRpb25zLnBhZ2UpXHJcbiAgICBwYWdlID0gb3B0aW9ucy5wYWdlO1xyXG4gIGlmIChwYWdlIDwgMSlcclxuICAgIHBhZ2UgPSAxO1xyXG4gIGxldCB4ID0gMDtcclxuICByZXR1cm4gcm93cy5maWx0ZXIoaSA9PiB7XHJcbiAgICB4Kys7XHJcbiAgICBsZXQgbWF4ID0gcGFnZSAqIG9wdGlvbnMubGltaXQ7XHJcbiAgICBsZXQgbWluID0gbWF4IC0gb3B0aW9ucy5saW1pdDtcclxuICAgIHJldHVybiB4ID4gbWluICYmIHggPD0gbWF4O1xyXG4gIH0pO1xyXG59XHJcbmNsYXNzIEZpbHRlckNvbnN1bWVyQnJpZGdlVG9PYmplY3QgaW1wbGVtZW50cyBGaWx0ZXJDb25zdW1lciB7XHJcblxyXG4gIG9rID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdzogYW55KSB7IH1cclxuICBwdWJsaWMgaXNFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gIT0gdmFsKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNEaWZmZXJlbnRGcm9tKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSA9PSB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0dyZWF0ZXJPckVxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdIDwgdmFsKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNHcmVhdGVyVGhhbihjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdIDw9IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTGVzc09yRXF1YWxUbyhjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPiB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0xlc3NUaGFuKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSA+PSB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcbiAgcHVibGljIGlzQ29udGFpbnMoY29sOiBTdHJpbmdDb2x1bW4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgdiA9IHRoaXMucm93W2NvbC5qc29uTmFtZV07XHJcbiAgICBpZiAoIXYpIHtcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHMgPSAnJyArIHY7XHJcbiAgICBpZiAocy5pbmRleE9mKHZhbCkgPCAwKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBpc1N0YXJ0c1dpdGgoY29sOiBTdHJpbmdDb2x1bW4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgdiA9IHRoaXMucm93W2NvbC5qc29uTmFtZV07XHJcbiAgICBpZiAoIXYpIHtcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHMgPSAnJyArIHY7XHJcbiAgICBpZiAocy5pbmRleE9mKHZhbCkgIT0gMClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlEYXRhYmFzZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9pbk1lbW9yeURhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLFNBQUksR0FBUSxFQUFFLENBQUM7SUFRakIsQ0FBQzs7Ozs7SUFQUSxxQkFBcUIsQ0FBQyxNQUFrQjs7WUFDekMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7SUFDRCxRQUFRLEtBQUssT0FBTyxzQkFBc0IsQ0FBQSxDQUFDLENBQUM7Q0FDN0M7OztJQVJDLG9DQUFlOztBQWFqQixNQUFNLE9BQU8sMEJBQTBCOzs7OztJQUlyQyxZQUFvQixNQUFrQixFQUFVLElBQVk7UUFBeEMsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFDMUQsSUFBSSxDQUFDLElBQUk7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsQ0FBQzs7Ozs7SUFDSyxLQUFLLENBQUMsS0FBa0I7OztnQkFDeEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJOztnQkFDaEIsQ0FBQyxHQUFHLENBQUM7WUFDVCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixDQUFDLEVBQUUsQ0FB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LElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Ozs7OztJQUVNLFVBQVUsQ0FBQyxHQUFnQixFQUFFLEdBQVE7UUFDMUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHO1lBQy9CLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Ozs7OztJQUNNLFVBQVUsQ0FBQyxHQUFpQixFQUFFLEdBQVE7O1lBQ3ZDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQ2hCLE9BQU87U0FDUjs7WUFFRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDZCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFDTSxZQUFZLENBQUMsR0FBaUIsRUFBRSxHQUFROztZQUN6QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNoQixPQUFPO1NBQ1I7O1lBRUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGOzs7SUF2REMsMENBQVU7Ozs7O0lBQ0UsMkNBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5cclxuXHJcblxyXG5pbXBvcnQgeyBFbnRpdHksIENvbHVtbiwgU3RyaW5nQ29sdW1uIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IEZpbHRlckJhc2UsIERhdGFQcm92aWRlciwgRW50aXR5RGF0YVByb3ZpZGVyLCBGaW5kT3B0aW9ucywgRmlsdGVyQ29uc3VtZXIsIFJvd3NPZkRhdGFGb3JUZXN0aW5nIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5cclxuXHJcbmltcG9ydCB7IGlzRnVuY3Rpb24sIG1ha2VUaXRsZSB9IGZyb20gJy4vY29tbW9uJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEluTWVtb3J5RGF0YVByb3ZpZGVyIGltcGxlbWVudHMgRGF0YVByb3ZpZGVyLCBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgcm93czogYW55ID0ge307XHJcbiAgcHVibGljIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6RW50aXR5PGFueT4pOiBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gICAgbGV0IG5hbWUgPSBlbnRpdHkuX19nZXROYW1lKCk7XHJcbiAgICBpZiAoIXRoaXMucm93c1tuYW1lXSlcclxuICAgICAgdGhpcy5yb3dzW25hbWVdID0gW107XHJcbiAgICByZXR1cm4gbmV3IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyKGVudGl0eSwgdGhpcy5yb3dzW25hbWVdKTtcclxuICB9XHJcbiAgdG9TdHJpbmcoKSB7IHJldHVybiBcIkluTWVtb3J5RGF0YVByb3ZpZGVyXCIgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQWN0dWFsSW5NZW1vcnlEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OkVudGl0eTxhbnk+LCBwcml2YXRlIHJvd3M/OiBhbnlbXSkge1xyXG4gICAgaWYgKCFyb3dzKVxyXG4gICAgICByb3dzID0gW107XHJcblxyXG4gIH1cclxuICBhc3luYyBjb3VudCh3aGVyZT86IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgbGV0IHJvd3MgPSB0aGlzLnJvd3M7XHJcbiAgICBsZXQgaiA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKCF3aGVyZSkge1xyXG4gICAgICAgIGorKztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgeCA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvT2JqZWN0KHJvd3NbaV0pO1xyXG4gICAgICAgIHdoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKHgpO1xyXG4gICAgICAgIGlmICh4Lm9rKVxyXG4gICAgICAgICAgaisrO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGo7XHJcbiAgfVxyXG4gIGFzeW5jIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxhbnlbXT4ge1xyXG5cclxuICAgIGxldCByb3dzID0gdGhpcy5yb3dzO1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMud2hlcmUpIHtcclxuICAgICAgICByb3dzID0gcm93cy5maWx0ZXIoaSA9PiB7XHJcbiAgICAgICAgICBsZXQgeCA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvT2JqZWN0KGkpO1xyXG5cclxuICAgICAgICAgIG9wdGlvbnMud2hlcmUuX19hcHBseVRvQ29uc3VtZXIoeCk7XHJcbiAgICAgICAgICByZXR1cm4geC5vaztcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9ucy5vcmRlckJ5KSB7XHJcbiAgICAgICAgcm93cyA9IHJvd3Muc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgIGxldCByID0gMDtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBzZWcgPSBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHNbaV07XHJcbiAgICAgICAgICAgIGxldCBsZWZ0ID0gYVtzZWcuY29sdW1uLmpzb25OYW1lXTtcclxuICAgICAgICAgICAgbGV0IHJpZ2h0ID0gYltzZWcuY29sdW1uLmpzb25OYW1lXTtcclxuICAgICAgICAgICAgaWYgKGxlZnQgPiByaWdodClcclxuICAgICAgICAgICAgICByID0gMTtcclxuICAgICAgICAgICAgZWxzZSBpZiAobGVmdCA8IHJpZ2h0KVxyXG4gICAgICAgICAgICAgIHIgPSAtMTtcclxuICAgICAgICAgICAgaWYgKHIgIT0gMCkge1xyXG4gICAgICAgICAgICAgIGlmIChzZWcuZGVzY2VuZGluZylcclxuICAgICAgICAgICAgICAgIHIgKj0gLTE7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJvd3MgPSBwYWdlQXJyYXkocm93cywgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBpZiAocm93cylcclxuICAgICAgcmV0dXJuIHJvd3MubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1hcChpKTtcclxuICAgICAgfSk7XHJcblxyXG4gIH1cclxuICBtYXAoaTogYW55KTogYW55IHtcclxuICAgIGxldCByID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpKSk7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBpZE1hdGNoZXMoaWQ6IGFueSk6IChpdGVtOiBhbnkpID0+IGJvb2xlYW4ge1xyXG4gICAgbGV0IGYgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCk7XHJcbiAgICByZXR1cm4gaXRlbSA9PiB7XHJcbiAgICAgIGxldCB4ID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9PYmplY3QoaXRlbSk7XHJcbiAgICAgIGYuX19hcHBseVRvQ29uc3VtZXIoeCk7XHJcbiAgICAgIHJldHVybiB4Lm9rO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgbGV0IGlkTWF0Y2hlcyA9IHRoaXMuaWRNYXRjaGVzKGlkKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucm93cy5sZW5ndGg7IGkrKykge1xyXG5cclxuICAgICAgaWYgKGlkTWF0Y2hlcyh0aGlzLnJvd3NbaV0pKSB7XHJcbiAgICAgICAgdGhpcy5yb3dzW2ldID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5yb3dzW2ldLCBkYXRhKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMubWFwKHRoaXMucm93c1tpXSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjb3VsZG4ndCBmaW5kIGlkIHRvIHVwZGF0ZTogXCIgKyBpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBpZE1hdGNoZXMgPSB0aGlzLmlkTWF0Y2hlcyhpZCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoaWRNYXRjaGVzKHRoaXMucm93c1tpXSkpIHtcclxuICAgICAgICB0aGlzLnJvd3Muc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY291bGRuJ3QgZmluZCBpZCB0byBkZWxldGU6IFwiICsgaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGRhdGEuaWQpXHJcbiAgICAgIHRoaXMucm93cy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmlkID09IGkuaWQpXHJcbiAgICAgICAgICB0aHJvdyBFcnJvcihcImlkIGFscmVhZHkgZXhpc3RzXCIpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMucm93cy5wdXNoKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpKTtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSkpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZnVuY3Rpb24gcGFnZUFycmF5KHJvd3M6IGFueVtdLCBvcHRpb25zPzogRmluZE9wdGlvbnMpIHtcclxuICBpZiAoIW9wdGlvbnMpXHJcbiAgICByZXR1cm4gcm93cztcclxuICBpZiAoIW9wdGlvbnMubGltaXQpXHJcbiAgICByZXR1cm4gcm93cztcclxuICBsZXQgcGFnZSA9IDE7XHJcbiAgaWYgKG9wdGlvbnMucGFnZSlcclxuICAgIHBhZ2UgPSBvcHRpb25zLnBhZ2U7XHJcbiAgaWYgKHBhZ2UgPCAxKVxyXG4gICAgcGFnZSA9IDE7XHJcbiAgbGV0IHggPSAwO1xyXG4gIHJldHVybiByb3dzLmZpbHRlcihpID0+IHtcclxuICAgIHgrKztcclxuICAgIGxldCBtYXggPSBwYWdlICogb3B0aW9ucy5saW1pdDtcclxuICAgIGxldCBtaW4gPSBtYXggLSBvcHRpb25zLmxpbWl0O1xyXG4gICAgcmV0dXJuIHggPiBtaW4gJiYgeCA8PSBtYXg7XHJcbiAgfSk7XHJcbn1cclxuY2xhc3MgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb09iamVjdCBpbXBsZW1lbnRzIEZpbHRlckNvbnN1bWVyIHtcclxuXHJcbiAgb2sgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm93OiBhbnkpIHsgfVxyXG4gIHB1YmxpYyBpc0VxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSAhPSB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0RpZmZlcmVudEZyb20oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdID09IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzR3JlYXRlck9yRXF1YWxUbyhjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPCB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0dyZWF0ZXJUaGFuKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPD0gdmFsKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNMZXNzT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSA+IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdID49IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuICBwdWJsaWMgaXNDb250YWlucyhjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2ID0gdGhpcy5yb3dbY29sLmpzb25OYW1lXTtcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcyA9ICcnICsgdjtcclxuICAgIGlmIChzLmluZGV4T2YodmFsKSA8IDApXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcbiAgcHVibGljIGlzU3RhcnRzV2l0aChjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2ID0gdGhpcy5yb3dbY29sLmpzb25OYW1lXTtcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcyA9ICcnICsgdjtcclxuICAgIGlmIChzLmluZGV4T2YodmFsKSAhPSAwKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0= |
@@ -117,2 +117,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLGlDQUVDOzs7Ozs7O0lBREMsbURBQThEOzs7OztBQUloRSxNQUFNLE9BQU8sdUJBQXVCOzs7O0lBRWxDLFlBQW9CLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFFdkMsQ0FBQzs7Ozs7SUFDRCxJQUFJLENBQUMsT0FBcUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFDRCxLQUFLLENBQUMsS0FBa0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7SUFDM0QsQ0FBQzs7Ozs7O0lBR0QsTUFBTSxDQUFDLEVBQU8sRUFBRSxJQUFTO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25FLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQUMsRUFBQyxDQUFBO0lBRUwsQ0FBQzs7Ozs7SUFDRCxNQUFNLENBQUMsRUFBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0QsSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsRUFBQyxFQUFDLENBQUE7SUFDTCxDQUFDOzs7OztJQUNELE1BQU0sQ0FBQyxJQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRTtZQUMvRCxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFDLEVBQUMsQ0FBQTtJQUNMLENBQUM7Q0FFRjs7Ozs7O0lBL0JhLHlDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXIsIEZpbmRPcHRpb25zLCBGaWx0ZXJCYXNlIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5leHBvcnQgaW50ZXJmYWNlIEpzb25TdG9yYWdlIHtcclxuICBkb1dvcms8VD4od2hhdDogKGRwOiBEYXRhUHJvdmlkZXIsIHNhdmU6ICgpID0+IHZvaWQpID0+IFQpOiBUO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEpzb25TdG9yYWdlRGF0YVByb3ZpZGVyPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gaW1wbGVtZW50cyBEYXRhUHJvdmlkZXIge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhlbHBlcjogSnNvblN0b3JhZ2UpIHtcclxuXHJcbiAgfVxyXG4gIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLmZpbmQob3B0aW9ucykpO1xyXG4gIH1cclxuICBjb3VudCh3aGVyZT86IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLmNvdW50KHdoZXJlKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWxwZXIuZG9Xb3JrKChkcCwgc2F2ZSkgPT4gZHAudXBkYXRlKGlkLCBkYXRhKS50aGVuKHggPT4ge1xyXG4gICAgICBzYXZlKCk7XHJcbiAgICAgIHJldHVybiB4O1xyXG4gICAgfSkpXHJcblxyXG4gIH1cclxuICBkZWxldGUoaWQ6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLmRlbGV0ZShpZCkudGhlbih4ID0+IHtcclxuICAgICAgc2F2ZSgpO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pKVxyXG4gIH1cclxuICBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5pbnNlcnQoZGF0YSkudGhlbih4ID0+IHtcclxuICAgICAgc2F2ZSgpO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pKVxyXG4gIH1cclxuXHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLGlDQUVDOzs7Ozs7O0lBREMsbURBQW9FOzs7OztBQUl0RSxNQUFNLE9BQU8sdUJBQXVCOzs7O0lBRWxDLFlBQW9CLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFFdkMsQ0FBQzs7Ozs7SUFDRCxJQUFJLENBQUMsT0FBcUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7SUFDRCxLQUFLLENBQUMsS0FBa0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7SUFDM0QsQ0FBQzs7Ozs7O0lBR0QsTUFBTSxDQUFDLEVBQU8sRUFBRSxJQUFTO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25FLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQUMsRUFBQyxDQUFBO0lBRUwsQ0FBQzs7Ozs7SUFDRCxNQUFNLENBQUMsRUFBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0QsSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsRUFBQyxFQUFDLENBQUE7SUFDTCxDQUFDOzs7OztJQUNELE1BQU0sQ0FBQyxJQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRTtZQUMvRCxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFDLEVBQUMsQ0FBQTtJQUNMLENBQUM7Q0FFRjs7Ozs7O0lBL0JhLHlDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBFbnRpdHlEYXRhUHJvdmlkZXIsIEZpbmRPcHRpb25zLCBGaWx0ZXJCYXNlIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5leHBvcnQgaW50ZXJmYWNlIEpzb25TdG9yYWdlIHtcclxuICBkb1dvcms8VD4od2hhdDogKGRwOiBFbnRpdHlEYXRhUHJvdmlkZXIsIHNhdmU6ICgpID0+IHZvaWQpID0+IFQpOiBUO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEpzb25TdG9yYWdlRGF0YVByb3ZpZGVyPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gaW1wbGVtZW50cyBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhlbHBlcjogSnNvblN0b3JhZ2UpIHtcclxuXHJcbiAgfVxyXG4gIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLmZpbmQob3B0aW9ucykpO1xyXG4gIH1cclxuICBjb3VudCh3aGVyZT86IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLmNvdW50KHdoZXJlKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWxwZXIuZG9Xb3JrKChkcCwgc2F2ZSkgPT4gZHAudXBkYXRlKGlkLCBkYXRhKS50aGVuKHggPT4ge1xyXG4gICAgICBzYXZlKCk7XHJcbiAgICAgIHJldHVybiB4O1xyXG4gICAgfSkpXHJcblxyXG4gIH1cclxuICBkZWxldGUoaWQ6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLmRlbGV0ZShpZCkudGhlbih4ID0+IHtcclxuICAgICAgc2F2ZSgpO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pKVxyXG4gIH1cclxuICBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5pbnNlcnQoZGF0YSkudGhlbih4ID0+IHtcclxuICAgICAgc2F2ZSgpO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pKVxyXG4gIH1cclxuXHJcbn1cclxuIl19 |
@@ -11,9 +11,7 @@ /** | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
provideFor(name, factory) { | ||
return new JsonStorageDataProvider(new LocalJsonStorage(name, factory)); | ||
getEntityDataProvider(entity) { | ||
return new JsonStorageDataProvider(new LocalJsonStorage(entity.__getName(), entity)); | ||
} | ||
@@ -24,7 +22,7 @@ } | ||
* @param {?} key | ||
* @param {?} factory | ||
* @param {?} entity | ||
*/ | ||
constructor(key, factory) { | ||
constructor(key, entity) { | ||
this.key = key; | ||
this.factory = factory; | ||
this.entity = entity; | ||
} | ||
@@ -48,3 +46,3 @@ /** | ||
/** @type {?} */ | ||
let dp = new ActualInMemoryDataProvider(this.factory, data); | ||
let dp = new ActualInMemoryDataProvider(this.entity, data); | ||
return what(dp, (/** | ||
@@ -66,4 +64,4 @@ * @return {?} | ||
*/ | ||
LocalJsonStorage.prototype.factory; | ||
LocalJsonStorage.prototype.entity; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2xvY2FsU3RvcmFnZURhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFLakYsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQztJQUVBLENBQUM7Ozs7Ozs7SUFDTSxVQUFVLENBQXdCLElBQVksRUFBRSxPQUFnQjtRQUNyRSxPQUFPLElBQUksdUJBQXVCLENBQUksSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLGdCQUFnQjs7Ozs7SUFDcEIsWUFBb0IsR0FBVyxFQUFVLE9BQTBCO1FBQS9DLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUVuRSxDQUFDOzs7Ozs7SUFDRCxNQUFNLENBQUksSUFBK0M7O1lBQ25ELElBQUksR0FBUSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDOUMsSUFBSTtZQUNGLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ1g7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksS0FBSyxDQUFDO1lBQzFCLElBQUksR0FBRyxFQUFFLENBQUM7O1lBQ1IsRUFBRSxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsRUFBRTs7O1FBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7SUFDNUYsQ0FBQztDQUNGOzs7Ozs7SUFoQmEsK0JBQW1COzs7OztJQUFFLG1DQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi9pbk1lbW9yeURhdGFiYXNlJztcclxuaW1wb3J0IHsgSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIsIEpzb25TdG9yYWdlIH0gZnJvbSAnLi9Kc29uU3RvcmFnZURhdGFQcm92aWRlcic7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXJGYWN0b3J5LCBEYXRhUHJvdmlkZXIgfSBmcm9tICcuL2RhdGFJbnRlcmZhY2VzMSc7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZURhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlckZhY3Rvcnkge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbiAgcHVibGljIHByb3ZpZGVGb3I8VCBleHRlbmRzIEVudGl0eTxhbnk+PihuYW1lOiBzdHJpbmcsIGZhY3Rvcnk6ICgpID0+IFQpOiBEYXRhUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIG5ldyBKc29uU3RvcmFnZURhdGFQcm92aWRlcjxUPihuZXcgTG9jYWxKc29uU3RvcmFnZShuYW1lLCBmYWN0b3J5KSk7XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBMb2NhbEpzb25TdG9yYWdlIGltcGxlbWVudHMgSnNvblN0b3JhZ2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUga2V5OiBzdHJpbmcsIHByaXZhdGUgZmFjdG9yeTogKCkgPT4gRW50aXR5PGFueT4pIHtcclxuXHJcbiAgfVxyXG4gIGRvV29yazxUPih3aGF0OiAoZHA6IERhdGFQcm92aWRlciwgc2F2ZTogKCkgPT4gdm9pZCkgPT4gVCk6IFQge1xyXG4gICAgbGV0IGRhdGE6IGFueSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5KTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGRhdGEpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycikge1xyXG4gICAgICBkYXRhID0gW107XHJcbiAgICB9XHJcbiAgICBpZiAoIShkYXRhIGluc3RhbmNlb2YgQXJyYXkpKVxyXG4gICAgICBkYXRhID0gW107XHJcbiAgICBsZXQgZHAgPSBuZXcgQWN0dWFsSW5NZW1vcnlEYXRhUHJvdmlkZXIodGhpcy5mYWN0b3J5LCBkYXRhKTtcclxuICAgIHJldHVybiB3aGF0KGRwLCAoKSA9PiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSwgdW5kZWZpbmVkLCAyKSkpO1xyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2xvY2FsU3RvcmFnZURhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFLakYsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQztJQUVBLENBQUM7Ozs7O0lBQ00scUJBQXFCLENBQUMsTUFBa0I7UUFDN0MsT0FBTyxJQUFJLHVCQUF1QixDQUFDLElBQUksZ0JBQWdCLENBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNGO0FBRUQsTUFBTSxnQkFBZ0I7Ozs7O0lBQ3BCLFlBQW9CLEdBQVcsRUFBVSxNQUFtQjtRQUF4QyxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUU1RCxDQUFDOzs7Ozs7SUFDRCxNQUFNLENBQUksSUFBcUQ7O1lBQ3pELElBQUksR0FBUSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDOUMsSUFBSTtZQUNGLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ1g7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksS0FBSyxDQUFDO1lBQzFCLElBQUksR0FBRyxFQUFFLENBQUM7O1lBQ1IsRUFBRSxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsRUFBRTs7O1FBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7SUFDNUYsQ0FBQztDQUNGOzs7Ozs7SUFoQmEsK0JBQW1COzs7OztJQUFFLGtDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi9pbk1lbW9yeURhdGFiYXNlJztcclxuaW1wb3J0IHsgSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIsIEpzb25TdG9yYWdlIH0gZnJvbSAnLi9Kc29uU3RvcmFnZURhdGFQcm92aWRlcic7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXIsIEVudGl0eURhdGFQcm92aWRlciB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlRGF0YVByb3ZpZGVyIGltcGxlbWVudHMgRGF0YVByb3ZpZGVyIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRFbnRpdHlEYXRhUHJvdmlkZXIoZW50aXR5OkVudGl0eTxhbnk+KTogRW50aXR5RGF0YVByb3ZpZGVyIHtcclxuICAgIHJldHVybiBuZXcgSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIobmV3IExvY2FsSnNvblN0b3JhZ2UoIGVudGl0eS5fX2dldE5hbWUoKSwgZW50aXR5KSk7XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBMb2NhbEpzb25TdG9yYWdlIGltcGxlbWVudHMgSnNvblN0b3JhZ2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUga2V5OiBzdHJpbmcsIHByaXZhdGUgZW50aXR5OiBFbnRpdHk8YW55Pikge1xyXG5cclxuICB9XHJcbiAgZG9Xb3JrPFQ+KHdoYXQ6IChkcDogRW50aXR5RGF0YVByb3ZpZGVyLCBzYXZlOiAoKSA9PiB2b2lkKSA9PiBUKTogVCB7XHJcbiAgICBsZXQgZGF0YTogYW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXkpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgZGF0YSA9IEpTT04ucGFyc2UoZGF0YSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGRhdGEgPSBbXTtcclxuICAgIH1cclxuICAgIGlmICghKGRhdGEgaW5zdGFuY2VvZiBBcnJheSkpXHJcbiAgICAgIGRhdGEgPSBbXTtcclxuICAgIGxldCBkcCA9IG5ldyBBY3R1YWxJbk1lbW9yeURhdGFQcm92aWRlcih0aGlzLmVudGl0eSwgZGF0YSk7XHJcbiAgICByZXR1cm4gd2hhdChkcCwgKCkgPT4gbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIEpTT04uc3RyaW5naWZ5KGRhdGEsIHVuZGVmaW5lZCwgMikpKTtcclxuICB9XHJcbn1cclxuIl19 |
@@ -18,7 +18,7 @@ /** | ||
/** | ||
* @param {?} name | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
provideFor(name) { | ||
return new ActualRestDataProvider(this.url + '/' + name, this.http); | ||
getEntityDataProvider(entity) { | ||
return new ActualRestDataProvider(this.url + '/' + entity.__getName(), this.http); | ||
} | ||
@@ -149,3 +149,3 @@ } | ||
*/ | ||
export function restDataProviderHttpProvider() { } | ||
export function RestDataProviderHttpProvider() { } | ||
if (false) { | ||
@@ -157,3 +157,3 @@ /** | ||
*/ | ||
restDataProviderHttpProvider.prototype.post = function (url, data) { }; | ||
RestDataProviderHttpProvider.prototype.post = function (url, data) { }; | ||
/** | ||
@@ -163,3 +163,3 @@ * @param {?} url | ||
*/ | ||
restDataProviderHttpProvider.prototype.delete = function (url) { }; | ||
RestDataProviderHttpProvider.prototype.delete = function (url) { }; | ||
/** | ||
@@ -170,3 +170,3 @@ * @param {?} url | ||
*/ | ||
restDataProviderHttpProvider.prototype.put = function (url, data) { }; | ||
RestDataProviderHttpProvider.prototype.put = function (url, data) { }; | ||
/** | ||
@@ -176,5 +176,5 @@ * @param {?} url | ||
*/ | ||
restDataProviderHttpProvider.prototype.get = function (url) { }; | ||
RestDataProviderHttpProvider.prototype.get = function (url) { }; | ||
} | ||
export class angularHttpProvider { | ||
export class AngularHttpProvider { | ||
/** | ||
@@ -226,5 +226,5 @@ * @param {?} http | ||
*/ | ||
angularHttpProvider.prototype.http; | ||
AngularHttpProvider.prototype.http; | ||
} | ||
export class restDataProviderHttpProviderUsingFetch { | ||
export class RestDataProviderHttpProviderUsingFetch { | ||
/** | ||
@@ -297,3 +297,3 @@ * @param {?=} addRequestHeader | ||
*/ | ||
restDataProviderHttpProviderUsingFetch.prototype.addRequestHeader; | ||
RestDataProviderHttpProviderUsingFetch.prototype.addRequestHeader; | ||
} | ||
@@ -442,3 +442,3 @@ /** | ||
} | ||
Action.provider = new restDataProviderHttpProviderUsingFetch(); | ||
Action.provider = new RestDataProviderHttpProviderUsingFetch(); | ||
if (false) { | ||
@@ -466,2 +466,2 @@ /** @type {?} */ | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdERhdGFQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9yZXN0RGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUl4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0MsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFDM0IsWUFBb0IsR0FBVyxFQUFVLElBQWtDO1FBQXZELFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQUUzRSxDQUFDOzs7OztJQUNNLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjs7Ozs7O0lBTmEsK0JBQW1COzs7OztJQUFFLGdDQUEwQzs7QUFPN0UsTUFBTSxzQkFBc0I7Ozs7O0lBRTFCLFlBQW9CLEdBQVcsRUFBVSxJQUFrQztRQUF2RCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBOEI7SUFFM0UsQ0FBQzs7Ozs7SUFFTSxLQUFLLENBQUMsS0FBaUI7O1lBQ3hCLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksaUNBQWlDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENB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O0lBRzlFLENBQUM7Ozs7O0lBR0QsVUFBVSxDQUFDLEdBQWtHO1FBQzNHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUzs7Ozs7O1FBQUUsQ0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBRXhDLElBQUk7O29CQUNFLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztnQkFDbEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQjtZQUNELE9BQU8sR0FBRyxFQUFFO2dCQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDaEI7UUFFSCxDQUFDLENBQUEsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyQk0sZUFBUSxHQUFpQyxJQUFJLHNDQUFzQyxFQUFFLENBQUM7OztJQUE3RixnQkFBNkY7Ozs7O0lBVGpGLDJCQUF5Qjs7Ozs7SUFBRSwyQkFBMEI7Ozs7Ozs7O0lBZ0JqRSxvREFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgVXJsQnVpbGRlciwgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IERhdGFQcm92aWRlciwgRGF0YVByb3ZpZGVyRmFjdG9yeSwgRmluZE9wdGlvbnMsIERhdGFBcGlSZXF1ZXN0LCBGaWx0ZXJCYXNlIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5pbXBvcnQgeyBEYXRhQXBpUmVzcG9uc2UgfSBmcm9tICcuLi9zZXJ2ZXIvRGF0YUFwaSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L0NvbnRleHQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlc3REYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBEYXRhUHJvdmlkZXJGYWN0b3J5IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVybDogc3RyaW5nLCBwcml2YXRlIGh0dHA6IHJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXIpIHtcclxuXHJcbiAgfVxyXG4gIHB1YmxpYyBwcm92aWRlRm9yKG5hbWU6IHN0cmluZyk6IERhdGFQcm92aWRlciB7XHJcbiAgICByZXR1cm4gbmV3IEFjdHVhbFJlc3REYXRhUHJvdmlkZXIodGhpcy51cmwgKyAnLycgKyBuYW1lLCB0aGlzLmh0dHApO1xyXG4gIH1cclxufVxyXG5jbGFzcyBBY3R1YWxSZXN0RGF0YVByb3ZpZGVyIGltcGxlbWVudHMgRGF0YVByb3ZpZGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1cmw6IHN0cmluZywgcHJpdmF0ZSBodHRwOiByZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvdW50KHdoZXJlOiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGxldCB1cmwgPSBuZXcgVXJsQnVpbGRlcih0aGlzLnVybCk7XHJcbiAgICB1cmwuYWRkKFwiX19hY3Rpb25cIiwgXCJjb3VudFwiKTtcclxuICAgIGlmICh3aGVyZSkge1xyXG4gICAgICB3aGVyZS5fX2FwcGx5VG9Db25zdW1lcihuZXcgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyKHVybCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLnVybCkudGhlbihyID0+ICsoci5jb3VudCkpO1xyXG4gIH1cclxuICBwdWJsaWMgZmluZChvcHRpb25zOiBGaW5kT3B0aW9ucyk6IFByb21pc2U8QXJyYXk8YW55Pj4ge1xyXG4gICAgbGV0IHVybCA9IG5ldyBVcmxCdWlsZGVyKHRoaXMudXJsKTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGlmIChvcHRpb25zLndoZXJlKSB7XHJcbiAgICAgICAgb3B0aW9ucy53aGVyZS5fX2FwcGx5VG9Db25zdW1lcihuZXcgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyKHVybCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLm9yZGVyQnkgJiYgb3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzKSB7XHJcbiAgICAgICAgbGV0IHNvcnQgPSAnJztcclxuICAgICAgICBsZXQgb3JkZXIgPSAnJztcclxuICAgICAgICBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgIGlmIChzb3J0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgc29ydCArPSBcIiwgXCI7XHJcbiAgICAgICAgICAgIG9yZGVyICs9IFwiLCBcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNvcnQgKz0gYy5jb2x1bW4uanNvbk5hbWU7XHJcbiAgICAgICAgICBvcmRlciArPSBjLmRlc2NlbmRpbmcgPyBcImRlc2NcIiA6IFwiYXNjXCI7XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHVybC5hZGQoJ19zb3J0Jywgc29ydCk7XHJcbiAgICAgICAgdXJsLmFkZCgnX29yZGVyJywgb3JkZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLmxpbWl0KVxyXG4gICAgICAgIHVybC5hZGQoJ19saW1pdCcsIG9wdGlvbnMubGltaXQpO1xyXG4gICAgICBpZiAob3B0aW9ucy5wYWdlKVxyXG4gICAgICAgIHVybC5hZGQoJ19wYWdlJywgb3B0aW9ucy5wYWdlKTtcclxuICAgICAgaWYgKG9wdGlvbnMuYWRkaXRpb25hbFVybFBhcmFtZXRlcnMpXHJcbiAgICAgICAgdXJsLmFkZE9iamVjdChvcHRpb25zLmFkZGl0aW9uYWxVcmxQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwudXJsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMudXJsICsgJy8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSwgZGF0YSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZShpZDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh0aGlzLnVybCArICcvJyArIGVuY29kZVVSSUNvbXBvbmVudChpZCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsLCBkYXRhKTtcclxuICB9XHJcbn1cclxuZnVuY3Rpb24gSnNvbkNvbnRlbnQoYWRkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKSB7XHJcbiAgYWRkKCdDb250ZW50LXR5cGUnLCBcImFwcGxpY2F0aW9uL2pzb25cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciB7XHJcbiAgcG9zdCh1cmw6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XHJcbiAgcHV0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT47XHJcbiAgZ2V0KHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xyXG5cclxufVxyXG5leHBvcnQgY2xhc3MgYW5ndWxhckh0dHBQcm92aWRlciBpbXBsZW1lbnRzIHJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXIge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbiAgcG9zdCh1cmw6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGRhdGEpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBkZWxldGUodXJsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHVybCkudG9Qcm9taXNlKCkudGhlbih4ID0+IHsgfSk7XHJcbiAgfVxyXG4gIHB1dCh1cmw6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgZGF0YSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIGdldCh1cmw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIHJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXJVc2luZ0ZldGNoIGltcGxlbWVudHMgcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhZGRSZXF1ZXN0SGVhZGVyPzogKGFkZDogKChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpKSA9PiB2b2lkKSB7XHJcbiAgICBpZiAoIWFkZFJlcXVlc3RIZWFkZXIpXHJcbiAgICAgIHRoaXMuYWRkUmVxdWVzdEhlYWRlciA9ICgpID0+IHsgfTtcclxuICB9XHJcbiAgZ2V0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbXlGZXRjaCh1cmwsIHVuZGVmaW5lZCwgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyKS50aGVuKHIgPT4ge1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdXQodXJsOiBzdHJpbmcsIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIG15RmV0Y2godXJsLCB7XHJcbiAgICAgIG1ldGhvZDogJ3B1dCcsXHJcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpXHJcbiAgICB9LCB0aGlzLmFkZFJlcXVlc3RIZWFkZXIsIEpzb25Db250ZW50KVxyXG4gIH1cclxuICBkZWxldGUodXJsOiBzdHJpbmcpIHtcclxuICAgIGxldCBoID0gbmV3IEhlYWRlcnMoKTtcclxuICAgIHRoaXMuYWRkUmVxdWVzdEhlYWRlcigobmFtZSwgdmFsdWUpID0+IGguYXBwZW5kKG5hbWUsIHZhbHVlKSk7XHJcbiAgICByZXR1cm4gZmV0Y2godXJsLCB7IG1ldGhvZDogJ2RlbGV0ZScsIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScgfSkudGhlbihvblN1Y2Nlc3MsIG9uRXJyb3IpO1xyXG4gIH1cclxuICBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiBteUZldGNoKHVybCwge1xyXG4gICAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSlcclxuICAgIH0sIHRoaXMuYWRkUmVxdWVzdEhlYWRlciwgSnNvbkNvbnRlbnQpXHJcbiAgfVxyXG5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBGZXRjaEludGVyZmFjZSB7XHJcbiAgd3JhcDogKCkgPT4gKCgpID0+IHZvaWQpO1xyXG59XHJcbmV4cG9ydCBjb25zdCB3cmFwRmV0Y2g6IFdyYXBGZXRjaEludGVyZmFjZSA9IHtcclxuICB3cmFwOiAoKSA9PiAoKSA9PiB7IH1cclxufTtcclxuZXhwb3J0IGZ1bmN0aW9uIG15RmV0Y2godXJsOiBzdHJpbmcsIGluaXQ6IFJlcXVlc3RJbml0LCAuLi5hZGRSZXF1ZXN0SGVhZGVyOiAoKGFkZDogKChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpKSA9PiB2b2lkKVtdKTogUHJvbWlzZTxhbnk+IHtcclxuICBpZiAoIWluaXQpXHJcbiAgICBpbml0ID0ge307XHJcbiAgaWYgKCFpbml0LmhlYWRlcnMpXHJcbiAgICBpbml0LmhlYWRlcnMgPSBuZXcgSGVhZGVycygpO1xyXG4gIHZhciBoID0gaW5pdC5oZWFkZXJzIGFzIEhlYWRlcnM7XHJcbiAgYWRkUmVxdWVzdEhlYWRlci5mb3JFYWNoKHggPT4geCgobiwgdikgPT4gaC5hcHBlbmQobiwgdikpKTtcclxuICBpbml0LmNyZWRlbnRpYWxzID0gJ2luY2x1ZGUnO1xyXG4gIGxldCB4ID0gd3JhcEZldGNoLndyYXAoKTtcclxuICByZXR1cm4gZmV0Y2godXJsLCBpbml0KS50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgIHgoKTtcclxuICAgIHJldHVybiBvblN1Y2Nlc3MocmVzcG9uc2UpO1xyXG5cclxuICB9LCBlcnJvciA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICB4KCk7XHJcbiAgICB0aHJvdyBQcm9taXNlLnJlc29sdmUoZXJyb3IpO1xyXG4gIH0pO1xyXG59XHJcbmZ1bmN0aW9uIG9uU3VjY2VzcyhyZXNwb25zZTogUmVzcG9uc2UpIHtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzID09IDIwNClcclxuICAgIHJldHVybjtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDIwMCAmJiByZXNwb25zZS5zdGF0dXMgPCAzMDApXHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcclxuICBlbHNlXHJcbiAgICB0aHJvdyByZXNwb25zZS5qc29uKCkudGhlbih4ID0+IHtcclxuXHJcbiAgICAgIGlmICgheC5tZXNzYWdlKVxyXG4gICAgICAgIHgubWVzc2FnZSA9IHJlc3BvbnNlLnN0YXR1c1RleHQ7XHJcbiAgICAgIHJldHVybiB4O1xyXG4gICAgfSk7XHJcblxyXG5cclxuXHJcbn1cclxuZnVuY3Rpb24gb25FcnJvcihlcnJvcjogYW55KSB7XHJcbiAgdGhyb3cgUHJvbWlzZS5yZXNvbHZlKGVycm9yKTtcclxufVxyXG5cclxuXHJcbiBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aW9uPGluUGFyYW0sIG91dFBhcmFtPntcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZlclVybDogc3RyaW5nLCBwcml2YXRlIGFjdGlvblVybD86IHN0cmluZywgYWRkUmVxdWVzdEhlYWRlcj86IChhZGQ6ICgobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKSkgPT4gdm9pZCkge1xyXG4gICAgaWYgKCFhZGRSZXF1ZXN0SGVhZGVyKVxyXG4gICAgICBhZGRSZXF1ZXN0SGVhZGVyID0gKCkgPT4geyB9O1xyXG4gICAgaWYgKCFhY3Rpb25VcmwpIHtcclxuICAgICAgdGhpcy5hY3Rpb25VcmwgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XHJcbiAgICAgIGlmICh0aGlzLmFjdGlvblVybC5lbmRzV2l0aCgnQWN0aW9uJykpXHJcbiAgICAgICAgdGhpcy5hY3Rpb25VcmwgPSB0aGlzLmFjdGlvblVybC5zdWJzdHJpbmcoMCwgdGhpcy5hY3Rpb25VcmwubGVuZ3RoIC0gNik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHN0YXRpYyBwcm92aWRlcjogcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciA9IG5ldyByZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyVXNpbmdGZXRjaCgpO1xyXG4gIHJ1bihwSW46IGluUGFyYW0pOiBQcm9taXNlPG91dFBhcmFtPiB7XHJcblxyXG4gICAgcmV0dXJuIEFjdGlvbi5wcm92aWRlci5wb3N0KENvbnRleHQuYXBpQmFzZVVybCArICcvJyArIHRoaXMuYWN0aW9uVXJsLCBwSW4pO1xyXG5cclxuXHJcbiAgfVxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBleGVjdXRlKGluZm86IGluUGFyYW0sIHJlcTogRGF0YUFwaVJlcXVlc3QpOiBQcm9taXNlPG91dFBhcmFtPjtcclxuXHJcbiAgX19yZWdpc3RlcihyZWc6ICh1cmw6IHN0cmluZywgd2hhdDogKChkYXRhOiBhbnksIHJlcTogRGF0YUFwaVJlcXVlc3QsIHJlczogRGF0YUFwaVJlc3BvbnNlKSA9PiB2b2lkKSkgPT4gdm9pZCkge1xyXG4gICAgcmVnKHRoaXMuYWN0aW9uVXJsLCBhc3luYyAoZCwgcmVxLCByZXMpID0+IHtcclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdmFyIHIgPSBhd2FpdCB0aGlzLmV4ZWN1dGUoZCwgcmVxKTtcclxuICAgICAgICByZXMuc3VjY2VzcyhyKTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgcmVzLmVycm9yKGVycik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdERhdGFQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9yZXN0RGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQ0FBaUMsRUFBVSxNQUFNLFNBQVMsQ0FBQztBQUloRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0MsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFDM0IsWUFBb0IsR0FBVyxFQUFVLElBQWtDO1FBQXZELFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQUUzRSxDQUFDOzs7OztJQUNNLHFCQUFxQixDQUFDLE1BQW1CO1FBQzlDLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRjs7Ozs7O0lBTmEsK0JBQW1COzs7OztJQUFFLGdDQUEwQzs7QUFPN0UsTUFBTSxzQkFBc0I7Ozs7O0lBRTFCLFlBQW9CLEdBQVcsRUFBVSxJQUFrQztRQUF2RCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBOEI7SUFFM0UsQ0FBQzs7Ozs7SUFFTSxLQUFLLENBQUMsS0FBaUI7O1lBQ3hCLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksaUNBQWlDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFD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QUFFLEdBQUcsQ0FBQyxDQUFDO0lBRzlFLENBQUM7Ozs7O0lBR0QsVUFBVSxDQUFDLEdBQWtHO1FBQzNHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUzs7Ozs7O1FBQUUsQ0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBRXhDLElBQUk7O29CQUNFLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztnQkFDbEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQjtZQUNELE9BQU8sR0FBRyxFQUFFO2dCQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDaEI7UUFFSCxDQUFDLENBQUEsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyQk0sZUFBUSxHQUFpQyxJQUFJLHNDQUFzQyxFQUFFLENBQUM7OztJQUE3RixnQkFBNkY7Ozs7O0lBVGpGLDJCQUF5Qjs7Ozs7SUFBRSwyQkFBMEI7Ozs7Ozs7O0lBZ0JqRSxvREFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgVXJsQnVpbGRlciwgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyLCBFbnRpdHkgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgRW50aXR5RGF0YVByb3ZpZGVyLCBEYXRhUHJvdmlkZXIsIEZpbmRPcHRpb25zLCBEYXRhQXBpUmVxdWVzdCwgRmlsdGVyQmFzZSB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuaW1wb3J0IHsgRGF0YUFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vc2VydmVyL0RhdGFBcGknO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9Db250ZXh0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXN0RGF0YVByb3ZpZGVyIGltcGxlbWVudHMgRGF0YVByb3ZpZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVybDogc3RyaW5nLCBwcml2YXRlIGh0dHA6IFJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXIpIHtcclxuXHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRFbnRpdHlEYXRhUHJvdmlkZXIoZW50aXR5OiBFbnRpdHk8YW55Pik6IEVudGl0eURhdGFQcm92aWRlciB7XHJcbiAgICByZXR1cm4gbmV3IEFjdHVhbFJlc3REYXRhUHJvdmlkZXIodGhpcy51cmwgKyAnLycgKyBlbnRpdHkuX19nZXROYW1lKCksIHRoaXMuaHR0cCk7XHJcbiAgfVxyXG59XHJcbmNsYXNzIEFjdHVhbFJlc3REYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVybDogc3RyaW5nLCBwcml2YXRlIGh0dHA6IFJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXIpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY291bnQod2hlcmU6IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgbGV0IHVybCA9IG5ldyBVcmxCdWlsZGVyKHRoaXMudXJsKTtcclxuICAgIHVybC5hZGQoXCJfX2FjdGlvblwiLCBcImNvdW50XCIpO1xyXG4gICAgaWYgKHdoZXJlKSB7XHJcbiAgICAgIHdoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKG5ldyBGaWx0ZXJDb25zdW1uZXJCcmlkZ2VUb1VybEJ1aWxkZXIodXJsKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwudXJsKS50aGVuKHIgPT4gKyhyLmNvdW50KSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBmaW5kKG9wdGlvbnM6IEZpbmRPcHRpb25zKTogUHJvbWlzZTxBcnJheTxhbnk+PiB7XHJcbiAgICBsZXQgdXJsID0gbmV3IFVybEJ1aWxkZXIodGhpcy51cmwpO1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMud2hlcmUpIHtcclxuICAgICAgICBvcHRpb25zLndoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKG5ldyBGaWx0ZXJDb25zdW1uZXJCcmlkZ2VUb1VybEJ1aWxkZXIodXJsKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9wdGlvbnMub3JkZXJCeSAmJiBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHMpIHtcclxuICAgICAgICBsZXQgc29ydCA9ICcnO1xyXG4gICAgICAgIGxldCBvcmRlciA9ICcnO1xyXG4gICAgICAgIG9wdGlvbnMub3JkZXJCeS5TZWdtZW50cy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgaWYgKHNvcnQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBzb3J0ICs9IFwiLCBcIjtcclxuICAgICAgICAgICAgb3JkZXIgKz0gXCIsIFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc29ydCArPSBjLmNvbHVtbi5qc29uTmFtZTtcclxuICAgICAgICAgIG9yZGVyICs9IGMuZGVzY2VuZGluZyA/IFwiZGVzY1wiIDogXCJhc2NcIjtcclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdXJsLmFkZCgnX3NvcnQnLCBzb3J0KTtcclxuICAgICAgICB1cmwuYWRkKCdfb3JkZXInLCBvcmRlcik7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9wdGlvbnMubGltaXQpXHJcbiAgICAgICAgdXJsLmFkZCgnX2xpbWl0Jywgb3B0aW9ucy5saW1pdCk7XHJcbiAgICAgIGlmIChvcHRpb25zLnBhZ2UpXHJcbiAgICAgICAgdXJsLmFkZCgnX3BhZ2UnLCBvcHRpb25zLnBhZ2UpO1xyXG4gICAgICBpZiAob3B0aW9ucy5hZGRpdGlvbmFsVXJsUGFyYW1ldGVycylcclxuICAgICAgICB1cmwuYWRkT2JqZWN0KG9wdGlvbnMuYWRkaXRpb25hbFVybFBhcmFtZXRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybC51cmwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZShpZDogYW55LCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy51cmwgKyAnLycgKyBlbmNvZGVVUklDb21wb25lbnQoaWQpLCBkYXRhKTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMudXJsICsgJy8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5zZXJ0KGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy51cmwsIGRhdGEpO1xyXG4gIH1cclxufVxyXG5mdW5jdGlvbiBKc29uQ29udGVudChhZGQ6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpIHtcclxuICBhZGQoJ0NvbnRlbnQtdHlwZScsIFwiYXBwbGljYXRpb24vanNvblwiKTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyIHtcclxuICBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT47XHJcbiAgZGVsZXRlKHVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcclxuICBwdXQodXJsOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8YW55PjtcclxuICBnZXQodXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XHJcblxyXG59XHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFySHR0cFByb3ZpZGVyIGltcGxlbWVudHMgUmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcblxyXG4gIH1cclxuICBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsKS50b1Byb21pc2UoKS50aGVuKHggPT4geyB9KTtcclxuICB9XHJcbiAgcHV0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodXJsLCBkYXRhKS50b1Byb21pc2UoKTtcclxuICB9XHJcbiAgZ2V0KHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlclVzaW5nRmV0Y2ggaW1wbGVtZW50cyBSZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkZFJlcXVlc3RIZWFkZXI/OiAoYWRkOiAoKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZCkpID0+IHZvaWQpIHtcclxuICAgIGlmICghYWRkUmVxdWVzdEhlYWRlcilcclxuICAgICAgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyID0gKCkgPT4geyB9O1xyXG4gIH1cclxuICBnZXQodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBteUZldGNoKHVybCwgdW5kZWZpbmVkLCB0aGlzLmFkZFJlcXVlc3RIZWFkZXIpLnRoZW4ociA9PiB7XHJcbiAgICAgIHJldHVybiByO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1dCh1cmw6IHN0cmluZywgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gbXlGZXRjaCh1cmwsIHtcclxuICAgICAgbWV0aG9kOiAncHV0JyxcclxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSlcclxuICAgIH0sIHRoaXMuYWRkUmVxdWVzdEhlYWRlciwgSnNvbkNvbnRlbnQpXHJcbiAgfVxyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZykge1xyXG4gICAgbGV0IGggPSBuZXcgSGVhZGVycygpO1xyXG4gICAgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyKChuYW1lLCB2YWx1ZSkgPT4gaC5hcHBlbmQobmFtZSwgdmFsdWUpKTtcclxuICAgIHJldHVybiBmZXRjaCh1cmwsIHsgbWV0aG9kOiAnZGVsZXRlJywgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyB9KS50aGVuKG9uU3VjY2Vzcywgb25FcnJvcik7XHJcbiAgfVxyXG4gIHBvc3QodXJsOiBzdHJpbmcsIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIG15RmV0Y2godXJsLCB7XHJcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKVxyXG4gICAgfSwgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyLCBKc29uQ29udGVudClcclxuICB9XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgV3JhcEZldGNoSW50ZXJmYWNlIHtcclxuICB3cmFwOiAoKSA9PiAoKCkgPT4gdm9pZCk7XHJcbn1cclxuZXhwb3J0IGNvbnN0IHdyYXBGZXRjaDogV3JhcEZldGNoSW50ZXJmYWNlID0ge1xyXG4gIHdyYXA6ICgpID0+ICgpID0+IHsgfVxyXG59O1xyXG5leHBvcnQgZnVuY3Rpb24gbXlGZXRjaCh1cmw6IHN0cmluZywgaW5pdDogUmVxdWVzdEluaXQsIC4uLmFkZFJlcXVlc3RIZWFkZXI6ICgoYWRkOiAoKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZCkpID0+IHZvaWQpW10pOiBQcm9taXNlPGFueT4ge1xyXG4gIGlmICghaW5pdClcclxuICAgIGluaXQgPSB7fTtcclxuICBpZiAoIWluaXQuaGVhZGVycylcclxuICAgIGluaXQuaGVhZGVycyA9IG5ldyBIZWFkZXJzKCk7XHJcbiAgdmFyIGggPSBpbml0LmhlYWRlcnMgYXMgSGVhZGVycztcclxuICBhZGRSZXF1ZXN0SGVhZGVyLmZvckVhY2goeCA9PiB4KChuLCB2KSA9PiBoLmFwcGVuZChuLCB2KSkpO1xyXG4gIGluaXQuY3JlZGVudGlhbHMgPSAnaW5jbHVkZSc7XHJcbiAgbGV0IHggPSB3cmFwRmV0Y2gud3JhcCgpO1xyXG4gIHJldHVybiBmZXRjaCh1cmwsIGluaXQpLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgeCgpO1xyXG4gICAgcmV0dXJuIG9uU3VjY2VzcyhyZXNwb25zZSk7XHJcblxyXG4gIH0sIGVycm9yID0+IHtcclxuICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgIHgoKTtcclxuICAgIHRocm93IFByb21pc2UucmVzb2x2ZShlcnJvcik7XHJcbiAgfSk7XHJcbn1cclxuZnVuY3Rpb24gb25TdWNjZXNzKHJlc3BvbnNlOiBSZXNwb25zZSkge1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gMjA0KVxyXG4gICAgcmV0dXJuO1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMjAwICYmIHJlc3BvbnNlLnN0YXR1cyA8IDMwMClcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG4gIGVsc2VcclxuICAgIHRocm93IHJlc3BvbnNlLmpzb24oKS50aGVuKHggPT4ge1xyXG5cclxuICAgICAgaWYgKCF4Lm1lc3NhZ2UpXHJcbiAgICAgICAgeC5tZXNzYWdlID0gcmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KTtcclxuXHJcblxyXG5cclxufVxyXG5mdW5jdGlvbiBvbkVycm9yKGVycm9yOiBhbnkpIHtcclxuICB0aHJvdyBQcm9taXNlLnJlc29sdmUoZXJyb3IpO1xyXG59XHJcblxyXG5cclxuIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY3Rpb248aW5QYXJhbSwgb3V0UGFyYW0+e1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmVyVXJsOiBzdHJpbmcsIHByaXZhdGUgYWN0aW9uVXJsPzogc3RyaW5nLCBhZGRSZXF1ZXN0SGVhZGVyPzogKGFkZDogKChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpKSA9PiB2b2lkKSB7XHJcbiAgICBpZiAoIWFkZFJlcXVlc3RIZWFkZXIpXHJcbiAgICAgIGFkZFJlcXVlc3RIZWFkZXIgPSAoKSA9PiB7IH07XHJcbiAgICBpZiAoIWFjdGlvblVybCkge1xyXG4gICAgICB0aGlzLmFjdGlvblVybCA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcclxuICAgICAgaWYgKHRoaXMuYWN0aW9uVXJsLmVuZHNXaXRoKCdBY3Rpb24nKSlcclxuICAgICAgICB0aGlzLmFjdGlvblVybCA9IHRoaXMuYWN0aW9uVXJsLnN1YnN0cmluZygwLCB0aGlzLmFjdGlvblVybC5sZW5ndGggLSA2KTtcclxuICAgIH1cclxuICB9XHJcbiAgc3RhdGljIHByb3ZpZGVyOiBSZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyID0gbmV3IFJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXJVc2luZ0ZldGNoKCk7XHJcbiAgcnVuKHBJbjogaW5QYXJhbSk6IFByb21pc2U8b3V0UGFyYW0+IHtcclxuXHJcbiAgICByZXR1cm4gQWN0aW9uLnByb3ZpZGVyLnBvc3QoQ29udGV4dC5hcGlCYXNlVXJsICsgJy8nICsgdGhpcy5hY3Rpb25VcmwsIHBJbik7XHJcblxyXG5cclxuICB9XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGV4ZWN1dGUoaW5mbzogaW5QYXJhbSwgcmVxOiBEYXRhQXBpUmVxdWVzdCk6IFByb21pc2U8b3V0UGFyYW0+O1xyXG5cclxuICBfX3JlZ2lzdGVyKHJlZzogKHVybDogc3RyaW5nLCB3aGF0OiAoKGRhdGE6IGFueSwgcmVxOiBEYXRhQXBpUmVxdWVzdCwgcmVzOiBEYXRhQXBpUmVzcG9uc2UpID0+IHZvaWQpKSA9PiB2b2lkKSB7XHJcbiAgICByZWcodGhpcy5hY3Rpb25VcmwsIGFzeW5jIChkLCByZXEsIHJlcykgPT4ge1xyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICB2YXIgciA9IGF3YWl0IHRoaXMuZXhlY3V0ZShkLCByZXEpO1xyXG4gICAgICAgIHJlcy5zdWNjZXNzKHIpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICByZXMuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0= |
@@ -93,17 +93,10 @@ /** | ||
// @dynamic | ||
/** | ||
* @template T | ||
*/ | ||
export class ActualSQLServerDataProvider { | ||
/** | ||
* @param {?} entityFactory | ||
* @param {?} name | ||
* @param {?} entity | ||
* @param {?} sql | ||
* @param {?} factory | ||
*/ | ||
constructor(entityFactory, name, sql, factory) { | ||
this.entityFactory = entityFactory; | ||
this.name = name; | ||
constructor(entity, sql) { | ||
this.entity = entity; | ||
this.sql = sql; | ||
this.factory = factory; | ||
this.sql = ActualSQLServerDataProvider.decorateSqlConnectionProvider(sql); | ||
@@ -129,6 +122,4 @@ } | ||
count(where) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
let select = 'select count(*) from ' + this.entity.__getDbName(); | ||
let select = 'select count(*) count from ' + this.entity.__getDbName(); | ||
/** @type {?} */ | ||
@@ -155,4 +146,2 @@ let r = this.sql.createCommand(); | ||
find(options) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -242,4 +231,2 @@ let select = 'select '; | ||
update(id, data) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -296,4 +283,2 @@ let r = this.sql.createCommand(); | ||
delete(id) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -325,4 +310,2 @@ let r = this.sql.createCommand(); | ||
insert(data) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -393,19 +376,4 @@ let r = this.sql.createCommand(); | ||
*/ | ||
ActualSQLServerDataProvider.prototype.entityFactory; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualSQLServerDataProvider.prototype.name; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualSQLServerDataProvider.prototype.sql; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualSQLServerDataProvider.prototype.factory; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMRGF0YWJhc2VTaGFyZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvU1FMRGF0YWJhc2VTaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQXFFLGdDQUFnQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWhKLE1BQU0sd0JBQXdCOzs7OztJQUM1QixZQUFvQixNQUE2QixFQUFVLFVBQW1CO1FBQTFELFdBQU0sR0FBTixNQUFNLENBQXVCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBUztJQUFJLENBQUM7Ozs7SUFDbkYsYUFBYTtRQUNYLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGOzs7Ozs7SUFKYSwwQ0FBcUM7Ozs7O0lBQUUsOENBQTJCOztBQUtoRixNQUFNLGFBQWE7Ozs7O0lBQ2pCLFlBQW9CLE1BQWtCLEVBQVUsVUFBbUI7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVM7UUFHbkUsU0FBSSxHQUFRLEVBQUUsQ0FBQztJQURmLENBQUM7Ozs7OztJQUVELDJDQUEyQyxDQUFDLEdBQWdCLEVBQUUsR0FBUTs7WUFDaEUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsMkNBQTJDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Ozs7O0lBQ0ssS0FBSyxDQUFDLEdBQVc7O1lBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENB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R0FBRztRQUVyRixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUk7Ozs7WUFBQyxDQUFDLENBQUMsRUFBRTtnQkFFakQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZCxDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5TGEsd0NBQVksR0FBRyxLQUFLLENBQUM7OztJQUFuQyx5Q0FBbUM7Ozs7O0lBV25DLDZDQUE0Qjs7Ozs7SUFWaEIsb0RBQXdDOzs7OztJQUFFLDJDQUFvQjs7Ozs7SUFBRSwwQ0FBa0M7Ozs7O0lBQUUsOENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU1FMQ29ubmVjdGlvblByb3ZpZGVyLCBTUUxDb21tYW5kLCBDb2x1bW4sIFNRTFF1ZXJ5UmVzdWx0LCBFbnRpdHksIEZpbHRlckNvbnN1bWVyQnJpZGdlVG9TcWxSZXF1ZXN0LCBDb21wb3VuZElkQ29sdW1uIH0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgRGF0YVByb3ZpZGVyLCBGaWx0ZXJCYXNlLCBGaW5kT3B0aW9ucyB9IGZyb20gXCIuL2RhdGFJbnRlcmZhY2VzMVwiO1xyXG5cclxuXHJcbmNsYXNzIExvZ1NRTENvbm5lY3Rpb25Qcm92aWRlciBpbXBsZW1lbnRzIFNRTENvbm5lY3Rpb25Qcm92aWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcmlnaW46IFNRTENvbm5lY3Rpb25Qcm92aWRlciwgcHJpdmF0ZSBhbGxRdWVyaWVzOiBib29sZWFuKSB7IH1cclxuICBjcmVhdGVDb21tYW5kKCk6IFNRTENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBMb2dTUUxDb21tYW5kKHRoaXMub3JpZ2luLmNyZWF0ZUNvbW1hbmQoKSwgdGhpcy5hbGxRdWVyaWVzKTtcclxuICB9XHJcbn1cclxuY2xhc3MgTG9nU1FMQ29tbWFuZCBpbXBsZW1lbnRzIFNRTENvbW1hbmQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3JpZ2luOiBTUUxDb21tYW5kLCBwcml2YXRlIGFsbFF1ZXJpZXM6IGJvb2xlYW4pIHtcclxuXHJcbiAgfVxyXG4gIGFyZ3M6IGFueSA9IHt9O1xyXG4gIGFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgbGV0IHIgPSB0aGlzLm9yaWdpbi5hZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKGNvbCwgdmFsKTtcclxuICAgIHRoaXMuYXJnc1tyXSA9IHZhbDtcclxuICAgIHJldHVybiByO1xyXG4gIH1cclxuICBhc3luYyBxdWVyeShzcWw6IHN0cmluZyk6IFByb21pc2U8U1FMUXVlcnlSZXN1bHQ+IHtcclxuICAgIGlmICh0aGlzLmFsbFF1ZXJpZXMpIHtcclxuICAgICAgY29uc29sZS5sb2coJ1F1ZXJ5OicsIHNxbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQXJndW1lbnRzOlwiLCB0aGlzLmFyZ3MpO1xyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMub3JpZ2luLnF1ZXJ5KHNxbCk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdRdWVyeTonLCBzcWwpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkFyZ3VtZW50c1wiLCB0aGlzLmFyZ3MpO1xyXG4gICAgICBjb25zb2xlLmxvZygnRXJyb3I6JywgZXJyKTtcclxuICAgICAgdGhyb3cgZXJyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gaW1wbGVtZW50cyBEYXRhUHJvdmlkZXIge1xyXG4gIHB1YmxpYyBzdGF0aWMgTG9nVG9Db25zb2xlID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnRpdHlGYWN0b3J5OiAoKSA9PiBFbnRpdHk8YW55PiwgcHJpdmF0ZSBuYW1lOiBzdHJpbmcsIHByaXZhdGUgc3FsOiBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIHByaXZhdGUgZmFjdG9yeTogKCkgPT4gVCkge1xyXG5cclxuICAgIHRoaXMuc3FsID0gQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyLmRlY29yYXRlU3FsQ29ubmVjdGlvblByb3ZpZGVyKHNxbCk7XHJcbiAgfVxyXG4gIHN0YXRpYyBkZWNvcmF0ZVNxbENvbm5lY3Rpb25Qcm92aWRlcihzcWw6IFNRTENvbm5lY3Rpb25Qcm92aWRlcik6U1FMQ29ubmVjdGlvblByb3ZpZGVyIHtcclxuICAgIHJldHVybiBuZXcgTG9nU1FMQ29ubmVjdGlvblByb3ZpZGVyKHNxbCwgQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyLkxvZ1RvQ29uc29sZSk7XHJcbiAgfVxyXG4gIGNyZWF0ZURpcmVjdFNRTENvbW1hbmQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gIH1cclxuICBwcml2YXRlIGVudGl0eTogRW50aXR5PGFueT47XHJcbiAgcHVibGljIGNvdW50KHdoZXJlOiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGlmICghdGhpcy5lbnRpdHkpXHJcbiAgICAgIHRoaXMuZW50aXR5ID0gdGhpcy5lbnRpdHlGYWN0b3J5KCk7XHJcbiAgICBsZXQgc2VsZWN0ID0gJ3NlbGVjdCBjb3VudCgqKSBmcm9tICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpO1xyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBpZiAod2hlcmUpIHtcclxuICAgICAgbGV0IHdjID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9TcWxSZXF1ZXN0KHIpO1xyXG4gICAgICB3aGVyZS5fX2FwcGx5VG9Db25zdW1lcih3Yyk7XHJcbiAgICAgIHNlbGVjdCArPSB3Yy53aGVyZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzZWxlY3QpLnRoZW4ociA9PiB7XHJcbiAgICAgIHJldHVybiByLnJvd3NbMF0uY291bnQ7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgaWYgKCF0aGlzLmVudGl0eSlcclxuICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmVudGl0eUZhY3RvcnkoKTtcclxuICAgIGxldCBzZWxlY3QgPSAnc2VsZWN0ICc7XHJcbiAgICBsZXQgY29sS2V5czogQ29sdW1uPGFueT5bXSA9IFtdO1xyXG4gICAgdGhpcy5lbnRpdHkuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goeCA9PiB7XHJcbiAgICAgIGlmICh4Ll9faXNWaXJ0dWFsKCkpIHtcclxuXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKGNvbEtleXMubGVuZ3RoID4gMClcclxuICAgICAgICAgIHNlbGVjdCArPSAnLCAnO1xyXG4gICAgICAgIHNlbGVjdCArPSB4Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICAgICAgY29sS2V5cy5wdXNoKHgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHNlbGVjdCArPSAnIGZyb20gJyArIHRoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICBsZXQgciA9IHRoaXMuc3FsLmNyZWF0ZUNvbW1hbmQoKTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGlmIChvcHRpb25zLndoZXJlKSB7XHJcbiAgICAgICAgbGV0IHdoZXJlID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9TcWxSZXF1ZXN0KHIpO1xyXG4gICAgICAgIG9wdGlvbnMud2hlcmUuX19hcHBseVRvQ29uc3VtZXIod2hlcmUpO1xyXG4gICAgICAgIHNlbGVjdCArPSB3aGVyZS53aGVyZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9ucy5vcmRlckJ5KSB7XHJcbiAgICAgICAgbGV0IGZpcnN0ID0gdHJ1ZTtcclxuICAgICAgICBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgIGlmIChmaXJzdCkge1xyXG4gICAgICAgICAgICBzZWxlY3QgKz0gJyBPcmRlciBCeSAnO1xyXG4gICAgICAgICAgICBmaXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBzZWxlY3QgKz0gJywgJztcclxuICAgICAgICAgIHNlbGVjdCArPSBjLmNvbHVtbi5fX2dldERiTmFtZSgpO1xyXG4gICAgICAgICAgaWYgKGMuZGVzY2VuZGluZylcclxuICAgICAgICAgICAgc2VsZWN0ICs9ICcgZGVzYyc7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAob3B0aW9ucy5saW1pdCkge1xyXG5cclxuICAgICAgICBsZXQgcGFnZSA9IDE7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMucGFnZSlcclxuICAgICAgICAgIHBhZ2UgPSBvcHRpb25zLnBhZ2U7XHJcbiAgICAgICAgaWYgKHBhZ2UgPCAxKVxyXG4gICAgICAgICAgcGFnZSA9IDE7XHJcbiAgICAgICAgc2VsZWN0ICs9ICcgbGltaXQgJyArIG9wdGlvbnMubGltaXQgKyAnIG9mZnNldCAnICsgKHBhZ2UgLSAxKSAqIG9wdGlvbnMubGltaXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzZWxlY3QpLnRoZW4ociA9PiB7XHJcbiAgICAgIHJldHVybiByLnJvd3MubWFwKHkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IGFueSA9IHt9O1xyXG4gICAgICAgIGZvciAobGV0IHggaW4geSkge1xyXG4gICAgICAgICAgbGV0IGNvbCA9IGNvbEtleXNbci5nZXRDb2x1bW5JbmRleCh4KV07XHJcbiAgICAgICAgICByZXN1bHRbY29sLmpzb25OYW1lXSA9IGNvbC5fX2dldFN0b3JhZ2UoKS5mcm9tRGIoeVt4XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHVwZGF0ZShpZDogYW55LCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKCF0aGlzLmVudGl0eSlcclxuICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmVudGl0eUZhY3RvcnkoKTtcclxuXHJcblxyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBsZXQgZiA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuICAgIHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKS5fX2FwcGx5VG9Db25zdW1lcihmKTtcclxuICAgIGxldCBzdGF0ZW1lbnQgPSAndXBkYXRlICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpICsgJyBzZXQgJztcclxuICAgIGxldCBhZGRlZCA9IGZhbHNlO1xyXG4gICAgbGV0IHJlc3VsdEZpbHRlciA9IHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKTtcclxuICAgIGlmIChkYXRhLmlkICE9IHVuZGVmaW5lZClcclxuICAgICAgcmVzdWx0RmlsdGVyID0gdGhpcy5lbnRpdHkuX19pZENvbHVtbi5pc0VxdWFsVG8oZGF0YS5pZCk7XHJcblxyXG4gICAgdGhpcy5lbnRpdHkuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goeCA9PiB7XHJcbiAgICAgIGlmICh4IGluc3RhbmNlb2YgQ29tcG91bmRJZENvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdEZpbHRlciA9IHgucmVzdWx0SWRGaWx0ZXIoaWQsIGRhdGEpO1xyXG4gICAgICB9IGlmICh4Ll9fZGJSZWFkT25seSgpKSB7IH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgbGV0IHYgPSB4Ll9fZ2V0U3RvcmFnZSgpLnRvRGIoZGF0YVt4Lmpzb25OYW1lXSk7XHJcbiAgICAgICAgaWYgKHYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpZiAoIWFkZGVkKVxyXG4gICAgICAgICAgICBhZGRlZCA9IHRydWU7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHN0YXRlbWVudCArPSAnLCAnO1xyXG5cclxuICAgICAgICAgIHN0YXRlbWVudCArPSB4Ll9fZ2V0RGJOYW1lKCkgKyAnID0gJyArIHIuYWRkUGFyYW1ldGVyVG9Db21tYW5kQW5kUmV0dXJuUGFyYW1ldGVyTmFtZSh4LCB2KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc3RhdGVtZW50ICs9IGYud2hlcmU7XHJcblxyXG4gICAgcmV0dXJuIHIucXVlcnkoc3RhdGVtZW50KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmluZCh7IHdoZXJlOiByZXN1bHRGaWx0ZXIgfSkudGhlbih5ID0+IHlbMF0pO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICB9XHJcbiAgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5lbnRpdHkpXHJcbiAgICAgIHRoaXMuZW50aXR5ID0gdGhpcy5lbnRpdHlGYWN0b3J5KCk7XHJcblxyXG5cclxuICAgIGxldCByID0gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgbGV0IGYgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCkuX19hcHBseVRvQ29uc3VtZXIoZik7XHJcbiAgICBsZXQgc3RhdGVtZW50ID0gJ2RlbGV0ZSBmcm9tICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpO1xyXG4gICAgbGV0IGFkZGVkID0gZmFsc2U7XHJcblxyXG4gICAgc3RhdGVtZW50ICs9IGYud2hlcmU7XHJcblxyXG4gICAgcmV0dXJuIHIucXVlcnkoc3RhdGVtZW50KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmluZCh7IHdoZXJlOiB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCkgfSkudGhlbih5ID0+IHlbMF0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmICghdGhpcy5lbnRpdHkpXHJcbiAgICAgIHRoaXMuZW50aXR5ID0gdGhpcy5lbnRpdHlGYWN0b3J5KCk7XHJcblxyXG5cclxuICAgIGxldCByID0gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgbGV0IGYgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcblxyXG5cclxuICAgIGxldCBjb2xzID0gJyc7XHJcbiAgICBsZXQgdmFscyA9ICcnO1xyXG4gICAgbGV0IGFkZGVkID0gZmFsc2U7XHJcbiAgICBsZXQgcmVzdWx0RmlsdGVyID0gdGhpcy5lbnRpdHkuX19pZENvbHVtbi5pc0VxdWFsVG8oZGF0YVt0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmpzb25OYW1lXSk7XHJcblxyXG4gICAgdGhpcy5lbnRpdHkuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goKHg6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoeCBpbnN0YW5jZW9mIENvbXBvdW5kSWRDb2x1bW4pIHtcclxuICAgICAgICByZXN1bHRGaWx0ZXIgPSB4LnJlc3VsdElkRmlsdGVyKHVuZGVmaW5lZCwgZGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHguX19kYlJlYWRPbmx5KCkpIHsgfVxyXG5cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgbGV0IHYgPSB4Ll9fZ2V0U3RvcmFnZSgpLnRvRGIoZGF0YVt4Lmpzb25OYW1lXSk7XHJcbiAgICAgICAgaWYgKHYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpZiAoIWFkZGVkKVxyXG4gICAgICAgICAgICBhZGRlZCA9IHRydWU7XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29scyArPSAnLCAnO1xyXG4gICAgICAgICAgICB2YWxzICs9ICcsICc7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29scyArPSB4Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICAgICAgICB2YWxzICs9IHIuYWRkUGFyYW1ldGVyVG9Db21tYW5kQW5kUmV0dXJuUGFyYW1ldGVyTmFtZSh4LCB2KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGxldCBzdGF0ZW1lbnQgPSBgaW5zZXJ0IGludG8gJHt0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpfSAoJHtjb2xzfSkgdmFsdWVzICgke3ZhbHN9KWA7XHJcblxyXG4gICAgcmV0dXJuIHIucXVlcnkoc3RhdGVtZW50KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmluZCh7IHdoZXJlOiByZXN1bHRGaWx0ZXIgfSkudGhlbih5ID0+IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHlbMF07XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufSJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMRGF0YWJhc2VTaGFyZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvU1FMRGF0YWJhc2VTaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQXFFLGdDQUFnQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWhKLE1BQU0sd0JBQXdCOzs7OztJQUM1QixZQUFvQixNQUE2QixFQUFVLFVBQW1CO1FBQTFELFdBQU0sR0FBTixNQUFNLENBQXVCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBUztJQUFJLENBQUM7Ozs7SUFDbkYsYUFBYTtRQUNYLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGOzs7Ozs7SUFKYSwwQ0FBcUM7Ozs7O0lBQUUsOENBQTJCOztBQUtoRixNQUFNLGFBQWE7Ozs7O0lBQ2pCLFlBQW9CLE1BQWtCLEVBQVUsVUFBbUI7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVM7UUFHbkUsU0FBSSxHQUFRLEVBQUUsQ0FBQztJQURmLENBQUM7Ozs7OztJQUVELDJDQUEyQyxDQUFDLEdBQWdCLEVBQUUsR0FBUTs7WUFDaEUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsMkNBQTJDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Ozs7O0lBQ0ssS0FBSyxDQUFDLEdBQVc7O1lBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENB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Q0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLElBQUksU0FBUyxFQUFFO29CQUNsQixJQUFJLENBQUMsS0FBSzt3QkFDUixLQUFLLEdBQUcsSUFBSSxDQUFDO3lCQUNWO3dCQUNILElBQUksSUFBSSxJQUFJLENBQUM7d0JBQ2IsSUFBSSxJQUFJLElBQUksQ0FBQztxQkFDZDtvQkFFRCxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUN4QixJQUFJLElBQUksQ0FBQyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDN0Q7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDOztZQUVDLFNBQVMsR0FBRyxlQUFlLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxhQUFhLElBQUksR0FBRztRQUVyRixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUk7Ozs7WUFBQyxDQUFDLENBQUMsRUFBRTtnQkFFakQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZCxDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwTGEsd0NBQVksR0FBRyxLQUFLLENBQUM7OztJQUFuQyx5Q0FBbUM7Ozs7O0lBQ3ZCLDZDQUEwQjs7Ozs7SUFBRywwQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFNRTENvbW1hbmQsIENvbHVtbiwgU1FMUXVlcnlSZXN1bHQsIEVudGl0eSwgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3QsIENvbXBvdW5kSWRDb2x1bW4gfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBFbnRpdHlEYXRhUHJvdmlkZXIsIEZpbHRlckJhc2UsIEZpbmRPcHRpb25zIH0gZnJvbSBcIi4vZGF0YUludGVyZmFjZXMxXCI7XHJcblxyXG5cclxuY2xhc3MgTG9nU1FMQ29ubmVjdGlvblByb3ZpZGVyIGltcGxlbWVudHMgU1FMQ29ubmVjdGlvblByb3ZpZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9yaWdpbjogU1FMQ29ubmVjdGlvblByb3ZpZGVyLCBwcml2YXRlIGFsbFF1ZXJpZXM6IGJvb2xlYW4pIHsgfVxyXG4gIGNyZWF0ZUNvbW1hbmQoKTogU1FMQ29tbWFuZCB7XHJcbiAgICByZXR1cm4gbmV3IExvZ1NRTENvbW1hbmQodGhpcy5vcmlnaW4uY3JlYXRlQ29tbWFuZCgpLCB0aGlzLmFsbFF1ZXJpZXMpO1xyXG4gIH1cclxufVxyXG5jbGFzcyBMb2dTUUxDb21tYW5kIGltcGxlbWVudHMgU1FMQ29tbWFuZCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcmlnaW46IFNRTENvbW1hbmQsIHByaXZhdGUgYWxsUXVlcmllczogYm9vbGVhbikge1xyXG5cclxuICB9XHJcbiAgYXJnczogYW55ID0ge307XHJcbiAgYWRkUGFyYW1ldGVyVG9Db21tYW5kQW5kUmV0dXJuUGFyYW1ldGVyTmFtZShjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgciA9IHRoaXMub3JpZ2luLmFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoY29sLCB2YWwpO1xyXG4gICAgdGhpcy5hcmdzW3JdID0gdmFsO1xyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIGFzeW5jIHF1ZXJ5KHNxbDogc3RyaW5nKTogUHJvbWlzZTxTUUxRdWVyeVJlc3VsdD4ge1xyXG4gICAgaWYgKHRoaXMuYWxsUXVlcmllcykge1xyXG4gICAgICBjb25zb2xlLmxvZygnUXVlcnk6Jywgc3FsKTtcclxuICAgICAgY29uc29sZS5sb2coXCJBcmd1bWVudHM6XCIsIHRoaXMuYXJncyk7XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5vcmlnaW4ucXVlcnkoc3FsKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgY29uc29sZS5sb2coJ1F1ZXJ5OicsIHNxbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQXJndW1lbnRzXCIsIHRoaXMuYXJncyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdFcnJvcjonLCBlcnIpO1xyXG4gICAgICB0aHJvdyBlcnI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gIHB1YmxpYyBzdGF0aWMgTG9nVG9Db25zb2xlID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnRpdHk6RW50aXR5PGFueT4sICBwcml2YXRlIHNxbDogU1FMQ29ubmVjdGlvblByb3ZpZGVyKSB7XHJcblxyXG4gICAgdGhpcy5zcWwgPSBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIuZGVjb3JhdGVTcWxDb25uZWN0aW9uUHJvdmlkZXIoc3FsKTtcclxuICB9XHJcbiAgc3RhdGljIGRlY29yYXRlU3FsQ29ubmVjdGlvblByb3ZpZGVyKHNxbDogU1FMQ29ubmVjdGlvblByb3ZpZGVyKTpTUUxDb25uZWN0aW9uUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIG5ldyBMb2dTUUxDb25uZWN0aW9uUHJvdmlkZXIoc3FsLCBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIuTG9nVG9Db25zb2xlKTtcclxuICB9XHJcbiAgY3JlYXRlRGlyZWN0U1FMQ29tbWFuZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHB1YmxpYyBjb3VudCh3aGVyZTogRmlsdGVyQmFzZSk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBsZXQgc2VsZWN0ID0gJ3NlbGVjdCBjb3VudCgqKSBjb3VudCBmcm9tICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpO1xyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBpZiAod2hlcmUpIHtcclxuICAgICAgbGV0IHdjID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9TcWxSZXF1ZXN0KHIpO1xyXG4gICAgICB3aGVyZS5fX2FwcGx5VG9Db25zdW1lcih3Yyk7XHJcbiAgICAgIHNlbGVjdCArPSB3Yy53aGVyZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzZWxlY3QpLnRoZW4ociA9PiB7XHJcbiAgICAgIHJldHVybiByLnJvd3NbMF0uY291bnQ7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxhbnlbXT4ge1xyXG4gICAgbGV0IHNlbGVjdCA9ICdzZWxlY3QgJztcclxuICAgIGxldCBjb2xLZXlzOiBDb2x1bW48YW55PltdID0gW107XHJcbiAgICB0aGlzLmVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgaWYgKHguX19pc1ZpcnR1YWwoKSkge1xyXG5cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoY29sS2V5cy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgc2VsZWN0ICs9ICcsICc7XHJcbiAgICAgICAgc2VsZWN0ICs9IHguX19nZXREYk5hbWUoKTtcclxuICAgICAgICBjb2xLZXlzLnB1c2goeCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc2VsZWN0ICs9ICcgZnJvbSAnICsgdGhpcy5lbnRpdHkuX19nZXREYk5hbWUoKTtcclxuICAgIGxldCByID0gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMud2hlcmUpIHtcclxuICAgICAgICBsZXQgd2hlcmUgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICAgICAgb3B0aW9ucy53aGVyZS5fX2FwcGx5VG9Db25zdW1lcih3aGVyZSk7XHJcbiAgICAgICAgc2VsZWN0ICs9IHdoZXJlLndoZXJlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLm9yZGVyQnkpIHtcclxuICAgICAgICBsZXQgZmlyc3QgPSB0cnVlO1xyXG4gICAgICAgIG9wdGlvbnMub3JkZXJCeS5TZWdtZW50cy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpcnN0KSB7XHJcbiAgICAgICAgICAgIHNlbGVjdCArPSAnIE9yZGVyIEJ5ICc7XHJcbiAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHNlbGVjdCArPSAnLCAnO1xyXG4gICAgICAgICAgc2VsZWN0ICs9IGMuY29sdW1uLl9fZ2V0RGJOYW1lKCk7XHJcbiAgICAgICAgICBpZiAoYy5kZXNjZW5kaW5nKVxyXG4gICAgICAgICAgICBzZWxlY3QgKz0gJyBkZXNjJztcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB7XHJcblxyXG4gICAgICAgIGxldCBwYWdlID0gMTtcclxuICAgICAgICBpZiAob3B0aW9ucy5wYWdlKVxyXG4gICAgICAgICAgcGFnZSA9IG9wdGlvbnMucGFnZTtcclxuICAgICAgICBpZiAocGFnZSA8IDEpXHJcbiAgICAgICAgICBwYWdlID0gMTtcclxuICAgICAgICBzZWxlY3QgKz0gJyBsaW1pdCAnICsgb3B0aW9ucy5saW1pdCArICcgb2Zmc2V0ICcgKyAocGFnZSAtIDEpICogb3B0aW9ucy5saW1pdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByLnF1ZXJ5KHNlbGVjdCkudGhlbihyID0+IHtcclxuICAgICAgcmV0dXJuIHIucm93cy5tYXAoeSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55ID0ge307XHJcbiAgICAgICAgZm9yIChsZXQgeCBpbiB5KSB7XHJcbiAgICAgICAgICBsZXQgY29sID0gY29sS2V5c1tyLmdldENvbHVtbkluZGV4KHgpXTtcclxuICAgICAgICAgIHJlc3VsdFtjb2wuanNvbk5hbWVdID0gY29sLl9fZ2V0U3RvcmFnZSgpLmZyb21EYih5W3hdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcblxyXG5cclxuICAgIGxldCByID0gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgbGV0IGYgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCkuX19hcHBseVRvQ29uc3VtZXIoZik7XHJcbiAgICBsZXQgc3RhdGVtZW50ID0gJ3VwZGF0ZSAnICsgdGhpcy5lbnRpdHkuX19nZXREYk5hbWUoKSArICcgc2V0ICc7XHJcbiAgICBsZXQgYWRkZWQgPSBmYWxzZTtcclxuICAgIGxldCByZXN1bHRGaWx0ZXIgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCk7XHJcbiAgICBpZiAoZGF0YS5pZCAhPSB1bmRlZmluZWQpXHJcbiAgICAgIHJlc3VsdEZpbHRlciA9IHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGRhdGEuaWQpO1xyXG5cclxuICAgIHRoaXMuZW50aXR5Ll9faXRlcmF0ZUNvbHVtbnMoKS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICBpZiAoeCBpbnN0YW5jZW9mIENvbXBvdW5kSWRDb2x1bW4pIHtcclxuICAgICAgICByZXN1bHRGaWx0ZXIgPSB4LnJlc3VsdElkRmlsdGVyKGlkLCBkYXRhKTtcclxuICAgICAgfSBpZiAoeC5fX2RiUmVhZE9ubHkoKSkgeyB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCB2ID0geC5fX2dldFN0b3JhZ2UoKS50b0RiKGRhdGFbeC5qc29uTmFtZV0pO1xyXG4gICAgICAgIGlmICh2ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaWYgKCFhZGRlZClcclxuICAgICAgICAgICAgYWRkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBzdGF0ZW1lbnQgKz0gJywgJztcclxuXHJcbiAgICAgICAgICBzdGF0ZW1lbnQgKz0geC5fX2dldERiTmFtZSgpICsgJyA9ICcgKyByLmFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoeCwgdik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHN0YXRlbWVudCArPSBmLndoZXJlO1xyXG5cclxuICAgIHJldHVybiByLnF1ZXJ5KHN0YXRlbWVudCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbmQoeyB3aGVyZTogcmVzdWx0RmlsdGVyIH0pLnRoZW4oeSA9PiB5WzBdKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIGRlbGV0ZShpZDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG5cclxuICAgIGxldCByID0gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgbGV0IGYgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCkuX19hcHBseVRvQ29uc3VtZXIoZik7XHJcbiAgICBsZXQgc3RhdGVtZW50ID0gJ2RlbGV0ZSBmcm9tICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpO1xyXG4gICAgbGV0IGFkZGVkID0gZmFsc2U7XHJcblxyXG4gICAgc3RhdGVtZW50ICs9IGYud2hlcmU7XHJcblxyXG4gICAgcmV0dXJuIHIucXVlcnkoc3RhdGVtZW50KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmluZCh7IHdoZXJlOiB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCkgfSkudGhlbih5ID0+IHlbMF0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuXHJcblxyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBsZXQgZiA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuXHJcblxyXG4gICAgbGV0IGNvbHMgPSAnJztcclxuICAgIGxldCB2YWxzID0gJyc7XHJcbiAgICBsZXQgYWRkZWQgPSBmYWxzZTtcclxuICAgIGxldCByZXN1bHRGaWx0ZXIgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhkYXRhW3RoaXMuZW50aXR5Ll9faWRDb2x1bW4uanNvbk5hbWVdKTtcclxuXHJcbiAgICB0aGlzLmVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCgoeDogYW55KSA9PiB7XHJcbiAgICAgIGlmICh4IGluc3RhbmNlb2YgQ29tcG91bmRJZENvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdEZpbHRlciA9IHgucmVzdWx0SWRGaWx0ZXIodW5kZWZpbmVkLCBkYXRhKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoeC5fX2RiUmVhZE9ubHkoKSkgeyB9XHJcblxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgdiA9IHguX19nZXRTdG9yYWdlKCkudG9EYihkYXRhW3guanNvbk5hbWVdKTtcclxuICAgICAgICBpZiAodiAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGlmICghYWRkZWQpXHJcbiAgICAgICAgICAgIGFkZGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xzICs9ICcsICc7XHJcbiAgICAgICAgICAgIHZhbHMgKz0gJywgJztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb2xzICs9IHguX19nZXREYk5hbWUoKTtcclxuICAgICAgICAgIHZhbHMgKz0gci5hZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKHgsIHYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IHN0YXRlbWVudCA9IGBpbnNlcnQgaW50byAke3RoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCl9ICgke2NvbHN9KSB2YWx1ZXMgKCR7dmFsc30pYDtcclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzdGF0ZW1lbnQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5maW5kKHsgd2hlcmU6IHJlc3VsdEZpbHRlciB9KS50aGVuKHkgPT4ge1xyXG5cclxuICAgICAgICByZXR1cm4geVswXTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59Il19 |
@@ -13,2 +13,3 @@ /** | ||
this.databaseName = databaseName; | ||
this.createdEntities = []; | ||
//@ts-ignore | ||
@@ -18,17 +19,10 @@ this.db = window.openDatabase(databaseName, '1.0', databaseName, 2 * 1024 * 1024); | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
provideFor(name, factory) { | ||
return new ActualSQLServerDataProvider((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
getEntityDataProvider(entity) { | ||
if (this.createdEntities.indexOf(entity.__getDbName()) < 0) { | ||
/** @type {?} */ | ||
var e = factory(); | ||
/** @type {?} */ | ||
let result = ''; | ||
e.__iterateColumns().forEach((/** | ||
entity.__iterateColumns().forEach((/** | ||
* @param {?} x | ||
@@ -43,3 +37,3 @@ * @return {?} | ||
result += this.addColumnSqlSyntax(x); | ||
if (x == e.__idColumn) | ||
if (x == entity.__idColumn) | ||
result += ' primary key'; | ||
@@ -52,5 +46,5 @@ } | ||
*/ | ||
t => t.executeSql('create table if not exists ' + e.__getDbName() + ' (' + result + '\r\n)'))); | ||
return e; | ||
}), name, new WebSqlBridgeToSQLConnection(this.db), factory); | ||
t => t.executeSql('create table if not exists ' + entity.__getDbName() + ' (' + result + '\r\n)'))); | ||
} | ||
return new ActualSQLServerDataProvider(entity, new WebSqlBridgeToSQLConnection(this.db)); | ||
} | ||
@@ -101,2 +95,7 @@ /** | ||
*/ | ||
WebSqlDataProvider.prototype.createdEntities; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
WebSqlDataProvider.prototype.databaseName; | ||
@@ -245,2 +244,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU3FsRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFxRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEssT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEUsTUFBTSxPQUFPLGtCQUFrQjs7OztJQVEzQixZQUFvQixZQUFvQjtRQUFwQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQyxZQUFZO1FBQ1osSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7Ozs7OztJQUNELFVBQVUsQ0FBd0IsSUFBWSxFQUFFLE9BQWdCO1FBRTVELE9BQU8sSUFBSSwyQkFBMkI7OztRQUFDLEdBQUcsRUFBRTs7Z0JBQ3BDLENBQUMsR0FBRyxPQUFPLEVBQUU7O2dCQUNiLE1BQU0sR0FBRyxFQUFFO1lBQ2YsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTzs7OztZQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO29CQUNuQixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQzt3QkFDbEIsTUFBTSxJQUFJLEdBQUcsQ0FBQztvQkFDbEIsTUFBTSxJQUFJLFFBQVEsQ0FBQztvQkFDbkIsTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVU7d0JB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LENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLElBQUk7Z0JBQUUsT0FBTyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxFQUFFLENBQUM7U0FDUDtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0NBVUo7OztJQUZHLDRDQUFZOzs7OztJQU5BLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFQcm92aWRlckZhY3RvcnksIERhdGFQcm92aWRlciwgUm93c09mRGF0YUZvclRlc3RpbmcgfSBmcm9tIFwiLi9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgRW50aXR5LCBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFNRTENvbW1hbmQsIENvbHVtbiwgU1FMUXVlcnlSZXN1bHQsIERhdGVUaW1lQ29sdW1uLCBEYXRlQ29sdW1uLCBCb29sQ29sdW1uLCBOdW1iZXJDb2x1bW4sIENsb3NlZExpc3RDb2x1bW4gfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi9TUUxEYXRhYmFzZVNoYXJlZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdlYlNxbERhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlckZhY3RvcnksIFJvd3NPZkRhdGFGb3JUZXN0aW5nIHtcclxuICAgIHJvd3M6IHtcclxuICAgICAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBhbnk7XHJcbiAgICB9O1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBkYjogRGF0YWJhc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhYmFzZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMuZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKGRhdGFiYXNlTmFtZSwgJzEuMCcsIGRhdGFiYXNlTmFtZSwgMiAqIDEwMjQgKiAxMDI0KTtcclxuICAgIH1cclxuICAgIHByb3ZpZGVGb3I8VCBleHRlbmRzIEVudGl0eTxhbnk+PihuYW1lOiBzdHJpbmcsIGZhY3Rvcnk6ICgpID0+IFQpOiBEYXRhUHJvdmlkZXIge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciBlID0gZmFjdG9yeSgpO1xyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgICAgIGUuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXguX19kYlJlYWRPbmx5KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gJywnO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnXFxyXFxuICAnO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLmFkZENvbHVtblNxbFN5bnRheCh4KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoeCA9PSBlLl9faWRDb2x1bW4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnIHByaW1hcnkga2V5JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGIudHJhbnNhY3Rpb24odCA9PiB0LmV4ZWN1dGVTcWwoJ2NyZWF0ZSB0YWJsZSBpZiBub3QgZXhpc3RzICcgKyBlLl9fZ2V0RGJOYW1lKCkgKyAnICgnICsgcmVzdWx0ICsgJ1xcclxcbiknKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgIH0sIG5hbWUsIG5ldyBXZWJTcWxCcmlkZ2VUb1NRTENvbm5lY3Rpb24odGhpcy5kYiksIGZhY3RvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkQ29sdW1uU3FsU3ludGF4KHg6IENvbHVtbjxhbnk+KSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHguX19nZXREYk5hbWUoKTtcclxuICAgICAgICBpZiAoeCBpbnN0YW5jZW9mIERhdGVUaW1lQ29sdW1uKVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlclwiO1xyXG4gICAgICAgIGVsc2UgaWYgKHggaW5zdGFuY2VvZiBEYXRlQ29sdW1uKVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlclwiO1xyXG4gICAgICAgIGVsc2UgaWYgKHggaW5zdGFuY2VvZiBCb29sQ29sdW1uKVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlciBkZWZhdWx0IDAgbm90IG51bGxcIjtcclxuICAgICAgICBlbHNlIGlmICh4IGluc3RhbmNlb2YgTnVtYmVyQ29sdW1uKSB7XHJcbiAgICAgICAgICAgIGlmICh4Ll9fbnVtT2ZEZWNpbWFsRGlnaXRzID09IDApXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlciBkZWZhdWx0IDAgbm90IG51bGxcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9ICcgcmVhbCBkZWZhdWx0IDAgbm90IG51bGwnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoeCBpbnN0YW5jZW9mIENsb3NlZExpc3RDb2x1bW4pIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9ICcgaW50ZWdlciBkZWZhdWx0IDAgbm90IG51bGwnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiB0ZXh0IGRlZmF1bHQgJycgbm90IG51bGwgXCI7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICB0b1N0cmluZygpIHsgcmV0dXJuIFwiV2ViU3FsRGF0YVByb3ZpZGVyXCIgfVxyXG59XHJcblxyXG5jbGFzcyBXZWJTcWxCcmlkZ2VUb1NRTENvbm5lY3Rpb24gaW1wbGVtZW50cyBTUUxDb25uZWN0aW9uUHJvdmlkZXIge1xyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvdXJjZTogRGF0YWJhc2UpIHtcclxuICAgIH1cclxuICAgIGNyZWF0ZUNvbW1hbmQoKTogU1FMQ29tbWFuZCB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBXZWJTcWxCcmlkZ2VUb1NRTENvbW1hbmQodGhpcy5zb3VyY2UpO1xyXG4gICAgfVxyXG59XHJcblxyXG5jbGFzcyBXZWJTcWxCcmlkZ2VUb1NRTENvbW1hbmQgaW1wbGVtZW50cyBTUUxDb21tYW5kIHtcclxuICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzb3VyY2U6IERhdGFiYXNlKSB7XHJcbiAgICB9XHJcbiAgICB2YWx1ZXM6IGFueVtdID0gW107XHJcbiAgICBhZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogc3RyaW5nIHtcclxuICAgICAgICB0aGlzLnZhbHVlcy5wdXNoKHZhbCk7XHJcbiAgICAgICAgcmV0dXJuICd+JyArIHRoaXMudmFsdWVzLmxlbmd0aCArICd+JztcclxuICAgIH1cclxuICAgIHF1ZXJ5KHNxbDogc3RyaW5nKTogUHJvbWlzZTxTUUxRdWVyeVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICAgICAgICB0aGlzLnNvdXJjZS50cmFuc2FjdGlvbih0ID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBzID0gc3FsO1xyXG4gICAgICAgICAgICAgICAgbGV0IHYgOmFueVtdID0gW107XHJcbiAgICAgICAgICAgICAgICB2YXIgbSA9IHMubWF0Y2goL35cXGQrfi9nKTtcclxuICAgICAgICAgICAgICAgIGlmIChtICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICAgICAgbS5mb3JFYWNoKG1yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZShtciwgJz8nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdi5wdXNoKHRoaXMudmFsdWVzW051bWJlci5wYXJzZUludChtci5zdWJzdHJpbmcoMSwgbXIubGVuZ3RoIC0gMSkpIC0gMV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB0LmV4ZWN1dGVTcWwocywgdiwgKHQxLCByKSA9PiByZXNvbHZlKG5ldyBXZWJTcWxCcmlkZ2VUb1NRTFF1ZXJ5UmVzdWx0KHIpKSxcclxuICAgICAgICAgICAgICAgICAgICAodDIsIGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFdlYlNxbEJyaWRnZVRvU1FMUXVlcnlSZXN1bHQgaW1wbGVtZW50cyBTUUxRdWVyeVJlc3VsdCB7XHJcbiAgICBnZXRjb2x1bW5OYW1lQXRJbmRleChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29sdW1uSW5kZXgobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAodGhpcy5yb3dzLmxlbmd0aCA9PSAwKSByZXR1cm4gLTE7XHJcbiAgICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICAgIGZvciAobGV0IG0gaW4gdGhpcy5yb3dzWzBdKSB7XHJcbiAgICAgICAgICAgIGlmIChtID09IG5hbWUpIHJldHVybiBpO1xyXG4gICAgICAgICAgICBpKys7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgIH1cclxuICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByOiBTUUxSZXN1bHRTZXQpIHtcclxuICAgICAgICB0aGlzLnJvd3MgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHIucm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnJvd3MucHVzaChyLnJvd3MuaXRlbShpKSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByb3dzOiBhbnlbXTtcclxuXHJcbn0iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU3FsRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFxRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEssT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEUsTUFBTSxPQUFPLGtCQUFrQjs7OztJQVEzQixZQUFvQixZQUFvQjtRQUFwQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQURoQyxvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUVuQyxZQUFZO1FBQ1osSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7Ozs7SUFDRCxxQkFBcUIsQ0FBQyxNQUFtQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTs7Z0JBRXBELE1BQU0sR0FBRyxFQUFFO1lBQ2YsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTzs7OztZQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO29CQUNuQixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQzt3QkFDbEIsTUFBTSxJQUFJLEdBQUcsQ0FBQztvQkFDbEIsTUFBTSxJQUFJLFFBQVEsQ0FBQztvQkFDbkIsTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckMsSUFB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Q0FBQztRQUNULEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxJQUFJO2dCQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLENBQUMsRUFBRSxDQUFDO1NBQ1A7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztDQVVKOzs7SUFGRyw0Q0FBWTs7Ozs7SUFOQSx5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhUHJvdmlkZXIsIEVudGl0eURhdGFQcm92aWRlciwgUm93c09mRGF0YUZvclRlc3RpbmcgfSBmcm9tIFwiLi9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgRW50aXR5LCBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFNRTENvbW1hbmQsIENvbHVtbiwgU1FMUXVlcnlSZXN1bHQsIERhdGVUaW1lQ29sdW1uLCBEYXRlQ29sdW1uLCBCb29sQ29sdW1uLCBOdW1iZXJDb2x1bW4sIENsb3NlZExpc3RDb2x1bW4gfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi9TUUxEYXRhYmFzZVNoYXJlZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdlYlNxbERhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlciwgUm93c09mRGF0YUZvclRlc3Rpbmcge1xyXG4gICAgcm93czoge1xyXG4gICAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IGFueTtcclxuICAgIH07XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICAvL0B0cy1pZ25vcmVcclxuICAgIGRiOiBEYXRhYmFzZTtcclxuICAgIHByaXZhdGUgY3JlYXRlZEVudGl0aWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhYmFzZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMuZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKGRhdGFiYXNlTmFtZSwgJzEuMCcsIGRhdGFiYXNlTmFtZSwgMiAqIDEwMjQgKiAxMDI0KTtcclxuICAgIH1cclxuICAgIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6IEVudGl0eTxhbnk+KTogRW50aXR5RGF0YVByb3ZpZGVyIHtcclxuICAgICAgICBpZiAodGhpcy5jcmVhdGVkRW50aXRpZXMuaW5kZXhPZihlbnRpdHkuX19nZXREYk5hbWUoKSkgPCAwKSB7XHJcblxyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgICAgIGVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICgheC5fX2RiUmVhZE9ubHkoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoICE9IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnLCc7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICdcXHJcXG4gICc7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuYWRkQ29sdW1uU3FsU3ludGF4KHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh4ID09IGVudGl0eS5fX2lkQ29sdW1uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gJyBwcmltYXJ5IGtleSc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmRiLnRyYW5zYWN0aW9uKHQgPT4gdC5leGVjdXRlU3FsKCdjcmVhdGUgdGFibGUgaWYgbm90IGV4aXN0cyAnICsgZW50aXR5Ll9fZ2V0RGJOYW1lKCkgKyAnICgnICsgcmVzdWx0ICsgJ1xcclxcbiknKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyKGVudGl0eSwgbmV3IFdlYlNxbEJyaWRnZVRvU1FMQ29ubmVjdGlvbih0aGlzLmRiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRDb2x1bW5TcWxTeW50YXgoeDogQ29sdW1uPGFueT4pIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0geC5fX2dldERiTmFtZSgpO1xyXG4gICAgICAgIGlmICh4IGluc3RhbmNlb2YgRGF0ZVRpbWVDb2x1bW4pXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyXCI7XHJcbiAgICAgICAgZWxzZSBpZiAoeCBpbnN0YW5jZW9mIERhdGVDb2x1bW4pXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyXCI7XHJcbiAgICAgICAgZWxzZSBpZiAoeCBpbnN0YW5jZW9mIEJvb2xDb2x1bW4pXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyIGRlZmF1bHQgMCBub3QgbnVsbFwiO1xyXG4gICAgICAgIGVsc2UgaWYgKHggaW5zdGFuY2VvZiBOdW1iZXJDb2x1bW4pIHtcclxuICAgICAgICAgICAgaWYgKHguX19udW1PZkRlY2ltYWxEaWdpdHMgPT0gMClcclxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyIGRlZmF1bHQgMCBub3QgbnVsbFwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gJyByZWFsIGRlZmF1bHQgMCBub3QgbnVsbCc7XHJcbiAgICAgICAgfSBlbHNlIGlmICh4IGluc3RhbmNlb2YgQ2xvc2VkTGlzdENvbHVtbikge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gJyBpbnRlZ2VyIGRlZmF1bHQgMCBub3QgbnVsbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiIHRleHQgZGVmYXVsdCAnJyBub3QgbnVsbCBcIjtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHRvU3RyaW5nKCkgeyByZXR1cm4gXCJXZWJTcWxEYXRhUHJvdmlkZXJcIiB9XHJcbn1cclxuXHJcbmNsYXNzIFdlYlNxbEJyaWRnZVRvU1FMQ29ubmVjdGlvbiBpbXBsZW1lbnRzIFNRTENvbm5lY3Rpb25Qcm92aWRlciB7XHJcbiAgICAvL0B0cy1pZ25vcmVcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc291cmNlOiBEYXRhYmFzZSkge1xyXG4gICAgfVxyXG4gICAgY3JlYXRlQ29tbWFuZCgpOiBTUUxDb21tYW5kIHtcclxuICAgICAgICByZXR1cm4gbmV3IFdlYlNxbEJyaWRnZVRvU1FMQ29tbWFuZCh0aGlzLnNvdXJjZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFdlYlNxbEJyaWRnZVRvU1FMQ29tbWFuZCBpbXBsZW1lbnRzIFNRTENvbW1hbmQge1xyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvdXJjZTogRGF0YWJhc2UpIHtcclxuICAgIH1cclxuICAgIHZhbHVlczogYW55W10gPSBbXTtcclxuICAgIGFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2godmFsKTtcclxuICAgICAgICByZXR1cm4gJ34nICsgdGhpcy52YWx1ZXMubGVuZ3RoICsgJ34nO1xyXG4gICAgfVxyXG4gICAgcXVlcnkoc3FsOiBzdHJpbmcpOiBQcm9taXNlPFNRTFF1ZXJ5UmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+XHJcbiAgICAgICAgICAgIHRoaXMuc291cmNlLnRyYW5zYWN0aW9uKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHMgPSBzcWw7XHJcbiAgICAgICAgICAgICAgICBsZXQgdjogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIHZhciBtID0gcy5tYXRjaCgvflxcZCt+L2cpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG0gIT0gbnVsbClcclxuICAgICAgICAgICAgICAgICAgICBtLmZvckVhY2gobXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzID0gcy5yZXBsYWNlKG1yLCAnPycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2LnB1c2godGhpcy52YWx1ZXNbTnVtYmVyLnBhcnNlSW50KG1yLnN1YnN0cmluZygxLCBtci5sZW5ndGggLSAxKSkgLSAxXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIHQuZXhlY3V0ZVNxbChzLCB2LCAodDEsIHIpID0+IHJlc29sdmUobmV3IFdlYlNxbEJyaWRnZVRvU1FMUXVlcnlSZXN1bHQocikpLFxyXG4gICAgICAgICAgICAgICAgICAgICh0MiwgZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgV2ViU3FsQnJpZGdlVG9TUUxRdWVyeVJlc3VsdCBpbXBsZW1lbnRzIFNRTFF1ZXJ5UmVzdWx0IHtcclxuICAgIGdldGNvbHVtbk5hbWVBdEluZGV4KGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBnZXRDb2x1bW5JbmRleChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICh0aGlzLnJvd3MubGVuZ3RoID09IDApIHJldHVybiAtMTtcclxuICAgICAgICBsZXQgaSA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgbSBpbiB0aGlzLnJvd3NbMF0pIHtcclxuICAgICAgICAgICAgaWYgKG0gPT0gbmFtZSkgcmV0dXJuIGk7XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfVxyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHI6IFNRTFJlc3VsdFNldCkge1xyXG4gICAgICAgIHRoaXMucm93cyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgci5yb3dzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm93cy5wdXNoKHIucm93cy5pdGVtKGkpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJvd3M6IGFueVtdO1xyXG5cclxufSJdfQ== |
@@ -54,18 +54,2 @@ /** | ||
/** | ||
* @param {?} row | ||
* @param {?} column | ||
* @param {?=} message | ||
* @return {?} | ||
*/ | ||
export function checkForDuplicateValue(row, column, message) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
if (row.isNew() || column.value != column.originalValue) { | ||
/** @type {?} */ | ||
let rows = yield row.source.find({ where: column.isEqualTo(column.value) }); | ||
if (rows.length > 0) | ||
column.error = message || 'Already exists'; | ||
} | ||
}); | ||
} | ||
/** | ||
* @template type | ||
@@ -81,3 +65,3 @@ * @param {?} original | ||
result.caption = original; | ||
else | ||
else if (original) | ||
result = original; | ||
@@ -87,2 +71,23 @@ addValues(result); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9pZC1lbnRpdHkvaWQtZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBTTVFLE1BQU0sT0FBTyxRQUFTLFNBQVEsTUFBYzs7OztJQUcxQyxZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZqQixPQUFFLEdBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQVlYLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUjNCLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzs7WUFDM0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhO1FBQzFCLElBQUksQ0FBQyxhQUFhOzs7UUFBRyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO2dCQUN0RCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDYixDQUFDLENBQUEsQ0FBQTtJQUNILENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7Q0FDRjs7O0lBakJDLHNCQUFtQjs7Ozs7SUFZbkIsZ0NBQTZCOztBQU8vQixNQUFNLE9BQU8sUUFBUyxTQUFRLFlBQVk7Ozs7SUFDeEMsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNGOzs7Ozs7O0FBQ0QsTUFBTSxVQUFnQixzQkFBc0IsQ0FBQyxHQUFnQixFQUFFLE1BQW1CLEVBQUUsT0FBZ0I7O1FBQ2xHLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTs7Z0JBQ25ELElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0UsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsT0FBTyxJQUFJLGdCQUFnQixDQUFDO1NBQzlDO0lBRUgsQ0FBQztDQUFBOzs7Ozs7O0FBQ0QsTUFBTSxVQUFVLDBCQUEwQixDQUFPLFFBQTZCLEVBQUUsU0FBZ0Q7O1FBQzFILE1BQU0sR0FBNkIsRUFBRTtJQUN6QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDOztRQUUxQixNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3BCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBTdHJpbmdDb2x1bW4sIEVudGl0eSwgQ29sdW1uLCBFbnRpdHlPcHRpb25zIH0gZnJvbSBcIi4uL2NvcmUvdXRpbHNcIjtcclxuXHJcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMsIERhdGFDb2x1bW5TZXR0aW5ncyB9IGZyb20gJy4uL2NvcmUvZGF0YUludGVyZmFjZXMxJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIElkRW50aXR5IGV4dGVuZHMgRW50aXR5PHN0cmluZz5cclxue1xyXG4gIGlkPSBuZXcgSWRDb2x1bW4oKTtcclxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogRW50aXR5T3B0aW9ucyB8IHN0cmluZykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICBcclxuICAgIHRoaXMuaWQuYWxsb3dBcGlVcGRhdGUgPSBmYWxzZTtcclxuICAgIGxldCB4ID0gdGhpcy5fX29uU2F2aW5nUm93O1xyXG4gICAgdGhpcy5fX29uU2F2aW5nUm93ID0gKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc05ldygpICYmICF0aGlzLmlkLnZhbHVlICYmICF0aGlzLmRpc2FibGVOZXdJZClcclxuICAgICAgICB0aGlzLmlkLnNldFRvTmV3SWQoKTtcclxuICAgICAgcmV0dXJuIHgoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBkaXNhYmxlTmV3SWQgPSBmYWxzZTtcclxuICBzZXRFbXB0eUlkRm9yTmV3Um93KCkge1xyXG4gICAgdGhpcy5pZC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5kaXNhYmxlTmV3SWQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIElkQ29sdW1uIGV4dGVuZHMgU3RyaW5nQ29sdW1uIHtcclxuICBzZXRUb05ld0lkKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHV1aWQoKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrRm9yRHVwbGljYXRlVmFsdWUocm93OiBFbnRpdHk8YW55PiwgY29sdW1uOiBDb2x1bW48YW55PiwgbWVzc2FnZT86IHN0cmluZykge1xyXG4gIGlmIChyb3cuaXNOZXcoKSB8fCBjb2x1bW4udmFsdWUgIT0gY29sdW1uLm9yaWdpbmFsVmFsdWUpIHtcclxuICAgIGxldCByb3dzID0gYXdhaXQgcm93LnNvdXJjZS5maW5kKHsgd2hlcmU6IGNvbHVtbi5pc0VxdWFsVG8oY29sdW1uLnZhbHVlKSB9KTtcclxuICAgIGlmIChyb3dzLmxlbmd0aCA+IDApXHJcbiAgICAgIGNvbHVtbi5lcnJvciA9IG1lc3NhZ2UgfHwgJ0FscmVhZHkgZXhpc3RzJztcclxuICB9XHJcblxyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBEZWNvcmF0ZURhdGFDb2x1bW5TZXR0aW5nczx0eXBlPihvcmlnaW5hbDogQ29sdW1uT3B0aW9uczx0eXBlPiwgYWRkVmFsdWVzOiAoeDogRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+KSA9PiB2b2lkKSB7XHJcbiAgbGV0IHJlc3VsdDogRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+ID0ge307XHJcbiAgaWYgKHR5cGVvZiAob3JpZ2luYWwpID09IFwic3RyaW5nXCIpXHJcbiAgICByZXN1bHQuY2FwdGlvbiA9IG9yaWdpbmFsO1xyXG4gIGVsc2VcclxuICAgIHJlc3VsdCA9IG9yaWdpbmFsO1xyXG4gIGFkZFZhbHVlcyhyZXN1bHQpO1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn0iXX0= | ||
/** | ||
* @param {?} row | ||
* @param {?} column | ||
* @param {?} provider | ||
* @param {?=} message | ||
* @return {?} | ||
*/ | ||
export function checkForDuplicateValue(row, column, provider, message) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
if (row.isNew() || column.value != column.originalValue) { | ||
/** @type {?} */ | ||
let rows = yield provider.find({ where: (/** | ||
* @param {?} r | ||
* @return {?} | ||
*/ | ||
r => r.__getColumn(column).isEqualTo(column.value)) }); | ||
if (rows.length > 0) | ||
column.error = message || 'Already exists'; | ||
} | ||
}); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9pZC1lbnRpdHkvaWQtZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBTTVFLE1BQU0sT0FBTyxRQUFTLFNBQVEsTUFBYzs7OztJQUcxQyxZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZqQixPQUFFLEdBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQVlYLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUjNCLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzs7WUFDM0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhO1FBQzFCLElBQUksQ0FBQyxhQUFhOzs7UUFBRyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO2dCQUN0RCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDYixDQUFDLENBQUEsQ0FBQTtJQUNILENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7Q0FDRjs7O0lBakJDLHNCQUFtQjs7Ozs7SUFZbkIsZ0NBQTZCOztBQU8vQixNQUFNLE9BQU8sUUFBUyxTQUFRLFlBQVk7Ozs7SUFDeEMsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNGOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFPLFFBQTZCLEVBQUUsU0FBZ0Q7O1FBQzFILE1BQU0sR0FBNkIsRUFBRTtJQUN6QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1NBQ3ZCLElBQUksUUFBUTtRQUNmLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDcEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7Ozs7O0FBQ0QsTUFBTSxVQUFnQixzQkFBc0IsQ0FBQyxHQUFnQixFQUFFLE1BQW1CLEVBQUMsUUFBNkIsRUFBRSxPQUFnQjs7UUFDaEksSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFOztnQkFDbkQsSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUs7Ozs7Z0JBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUEsRUFBRSxDQUFDO1lBQzFGLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUNqQixNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztTQUM5QztJQUVILENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgU3RyaW5nQ29sdW1uLCBFbnRpdHksIENvbHVtbiwgRW50aXR5T3B0aW9ucyB9IGZyb20gXCIuLi9jb3JlL3V0aWxzXCI7XHJcblxyXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBEYXRhQ29sdW1uU2V0dGluZ3MsIEVudGl0eVByb3ZpZGVyIH0gZnJvbSAnLi4vY29yZS9kYXRhSW50ZXJmYWNlczEnO1xyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgSWRFbnRpdHkgZXh0ZW5kcyBFbnRpdHk8c3RyaW5nPlxyXG57XHJcbiAgaWQ9IG5ldyBJZENvbHVtbigpO1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBFbnRpdHlPcHRpb25zIHwgc3RyaW5nKSB7XHJcbiAgICBzdXBlcihvcHRpb25zKTtcclxuICAgIFxyXG4gICAgdGhpcy5pZC5hbGxvd0FwaVVwZGF0ZSA9IGZhbHNlO1xyXG4gICAgbGV0IHggPSB0aGlzLl9fb25TYXZpbmdSb3c7XHJcbiAgICB0aGlzLl9fb25TYXZpbmdSb3cgPSAoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlzTmV3KCkgJiYgIXRoaXMuaWQudmFsdWUgJiYgIXRoaXMuZGlzYWJsZU5ld0lkKVxyXG4gICAgICAgIHRoaXMuaWQuc2V0VG9OZXdJZCgpO1xyXG4gICAgICByZXR1cm4geCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIGRpc2FibGVOZXdJZCA9IGZhbHNlO1xyXG4gIHNldEVtcHR5SWRGb3JOZXdSb3coKSB7XHJcbiAgICB0aGlzLmlkLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmRpc2FibGVOZXdJZCA9IHRydWU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSWRDb2x1bW4gZXh0ZW5kcyBTdHJpbmdDb2x1bW4ge1xyXG4gIHNldFRvTmV3SWQoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdXVpZCgpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIERlY29yYXRlRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+KG9yaWdpbmFsOiBDb2x1bW5PcHRpb25zPHR5cGU+LCBhZGRWYWx1ZXM6ICh4OiBEYXRhQ29sdW1uU2V0dGluZ3M8dHlwZT4pID0+IHZvaWQpIHtcclxuICBsZXQgcmVzdWx0OiBEYXRhQ29sdW1uU2V0dGluZ3M8dHlwZT4gPSB7fTtcclxuICBpZiAodHlwZW9mIChvcmlnaW5hbCkgPT0gXCJzdHJpbmdcIilcclxuICAgIHJlc3VsdC5jYXB0aW9uID0gb3JpZ2luYWw7XHJcbiAgZWxzZSBpZiAob3JpZ2luYWwpXHJcbiAgICByZXN1bHQgPSBvcmlnaW5hbDtcclxuICBhZGRWYWx1ZXMocmVzdWx0KTtcclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0ZvckR1cGxpY2F0ZVZhbHVlKHJvdzogRW50aXR5PGFueT4sIGNvbHVtbjogQ29sdW1uPGFueT4scHJvdmlkZXI6IEVudGl0eVByb3ZpZGVyPGFueT4sIG1lc3NhZ2U/OiBzdHJpbmcpIHtcclxuICBpZiAocm93LmlzTmV3KCkgfHwgY29sdW1uLnZhbHVlICE9IGNvbHVtbi5vcmlnaW5hbFZhbHVlKSB7XHJcbiAgICBsZXQgcm93cyA9IGF3YWl0IHByb3ZpZGVyLmZpbmQoeyB3aGVyZTpyPT5yLl9fZ2V0Q29sdW1uKGNvbHVtbikuaXNFcXVhbFRvKGNvbHVtbi52YWx1ZSkgfSk7XHJcbiAgICBpZiAocm93cy5sZW5ndGggPiAwKVxyXG4gICAgICBjb2x1bW4uZXJyb3IgPSBtZXNzYWdlIHx8ICdBbHJlYWR5IGV4aXN0cyc7XHJcbiAgfVxyXG5cclxufSJdfQ== |
@@ -12,7 +12,8 @@ /** | ||
/** | ||
* @param {?} rowType | ||
* @param {?} entityProvider | ||
* @param {?=} options | ||
* @param {?=} t | ||
*/ | ||
constructor(rowType, options) { | ||
this.rowType = rowType; | ||
constructor(entityProvider, options, t) { | ||
this.entityProvider = entityProvider; | ||
this.options = options; | ||
@@ -23,7 +24,9 @@ this.excludedColumns = new ColumnHashSet(); | ||
this.options = {}; | ||
if (!t) | ||
t = entityProvider.create(); | ||
if (this.options.readonlyColumns) | ||
this.readonlyColumns.add(...this.options.readonlyColumns(rowType)); | ||
this.readonlyColumns.add(...this.options.readonlyColumns(t)); | ||
if (this.options.excludeColumns) { | ||
this.excludedColumns.add(...this.options.excludeColumns(rowType)); | ||
this.readonlyColumns.add(...this.options.excludeColumns(rowType)); | ||
this.excludedColumns.add(...this.options.excludeColumns(t)); | ||
this.readonlyColumns.add(...this.options.excludeColumns(t)); | ||
} | ||
@@ -36,3 +39,3 @@ } | ||
if (!this.options.name) | ||
return this.rowType.__getName(); | ||
return this.entityProvider.create().__getName(); | ||
return this.options.name; | ||
@@ -66,5 +69,7 @@ } | ||
try { | ||
/** @type {?} */ | ||
let where = this.buildWhere(request); | ||
response.success({ count: +(yield this.rowType.source.count(where)) }); | ||
response.success({ count: +(yield this.entityProvider.count((/** | ||
* @param {?} t | ||
* @return {?} | ||
*/ | ||
t => this.buildWhere(t, request)))) }); | ||
} | ||
@@ -93,3 +98,7 @@ catch (err) { | ||
} | ||
findOptions.where = this.buildWhere(request); | ||
findOptions.where = (/** | ||
* @param {?} t | ||
* @return {?} | ||
*/ | ||
t => this.buildWhere(t, request)); | ||
if (request) { | ||
@@ -105,18 +114,26 @@ /** @type {?} */ | ||
dirItems = dir.split(','); | ||
findOptions.orderBy = new Sort(); | ||
sort.split(',').forEach((/** | ||
* @param {?} name | ||
* @param {?} i | ||
findOptions.orderBy = (/** | ||
* @param {?} x | ||
* @return {?} | ||
*/ | ||
(name, i) => { | ||
x => { | ||
/** @type {?} */ | ||
let col = this.rowType.__getColumnByJsonName(name.trim()); | ||
if (col) { | ||
findOptions.orderBy.Segments.push({ | ||
column: col, | ||
descending: i < dirItems.length && dirItems[i].toLowerCase().trim().startsWith("d") | ||
}); | ||
} | ||
})); | ||
let r = new Sort(); | ||
sort.split(',').forEach((/** | ||
* @param {?} name | ||
* @param {?} i | ||
* @return {?} | ||
*/ | ||
(name, i) => { | ||
/** @type {?} */ | ||
let col = x.__getColumnByJsonName(name.trim()); | ||
if (col) { | ||
r.Segments.push({ | ||
column: col, | ||
descending: i < dirItems.length && dirItems[i].toLowerCase().trim().startsWith("d") | ||
}); | ||
} | ||
})); | ||
return r; | ||
}); | ||
} | ||
@@ -130,3 +147,3 @@ /** @type {?} */ | ||
} | ||
yield this.rowType.source.find(findOptions) | ||
yield this.entityProvider.find(findOptions) | ||
.then((/** | ||
@@ -151,12 +168,13 @@ * @param {?} r | ||
* @private | ||
* @param {?} rowType | ||
* @param {?} request | ||
* @return {?} | ||
*/ | ||
buildWhere(request) { | ||
buildWhere(rowType, request) { | ||
/** @type {?} */ | ||
var where; | ||
if (this.options && this.options.get && this.options.get.where) | ||
where = this.options.get.where(this.rowType); | ||
where = this.options.get.where(rowType); | ||
if (request) { | ||
this.rowType.__iterateColumns().forEach((/** | ||
rowType.__iterateColumns().forEach((/** | ||
* @param {?} col | ||
@@ -269,7 +287,15 @@ * @return {?} | ||
try { | ||
/** @type {?} */ | ||
let where = this.rowType.__idColumn.isEqualTo(id); | ||
if (this.options && this.options.get && this.options.get.where) | ||
where = new AndFilter(where, this.options.get.where(this.rowType)); | ||
yield this.rowType.source.find({ where }) | ||
yield this.entityProvider.find({ | ||
where: (/** | ||
* @param {?} x | ||
* @return {?} | ||
*/ | ||
x => { | ||
/** @type {?} */ | ||
let where = x.__idColumn.isEqualTo(id); | ||
if (this.options && this.options.get && this.options.get.where) | ||
where = new AndFilter(where, this.options.get.where(x)); | ||
return where; | ||
}) | ||
}) | ||
.then((/** | ||
@@ -350,3 +376,3 @@ * @param {?} r | ||
/** @type {?} */ | ||
let r = this.rowType.source.createNewItem(); | ||
let r = this.entityProvider.create(); | ||
r.__fromPojo(body, this.readonlyColumns); | ||
@@ -377,3 +403,3 @@ yield r.save(this.options.validate, this.options.onSavingRow); | ||
*/ | ||
DataApi.prototype.rowType; | ||
DataApi.prototype.entityProvider; | ||
/** | ||
@@ -457,2 +483,2 @@ * @type {?} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmVyL0RhdGFBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQVUsU0FBUyxFQUFFLElBQUksRUFBVSxhQUFhLEVBQStELE1BQU0sZUFBZSxDQUFDOzs7O0FBRzVJLE1BQU0sT0FBTyxPQUFPOzs7OztJQU1sQixZQUFvQixPQUFVLEVBQVUsT0FBNEI7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBRztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBVzVELG9CQUFlLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFYNUMsSUFBSSxDQUFDLE9BQU87WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ25FO0lBRUgsQ0FBQzs7OztJQWZELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztR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QUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7YUFDMUQ7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQztLQUFBO0NBRUY7Ozs7OztJQWpMQyxrQ0FBOEM7Ozs7O0lBQzlDLGtDQUE4Qzs7Ozs7SUFabEMsMEJBQWtCOzs7OztJQUFFLDBCQUFvQzs7Ozs7O0FBNkx0RSxxQ0FXQzs7O0lBVkMsc0NBQXNCOztJQUN0QixzQ0FBc0I7O0lBQ3RCLHNDQUFzQjs7SUFDdEIsb0NBQW9COztJQUNwQix5Q0FBK0M7O0lBQy9DLDBDQUFnRDs7SUFDaEQsK0JBQWM7O0lBQ2QsOEJBQW9DOztJQUNwQyxtQ0FBZ0M7O0lBQ2hDLHNDQUFpRDs7Ozs7QUFHbkQscUNBU0M7Ozs7OztJQVJDLHdEQUF5Qjs7OztJQUN6QixvREFBZ0I7Ozs7O0lBQ2hCLHdEQUF5Qjs7OztJQUN6QixxREFBaUI7Ozs7O0lBQ2pCLHNEQUFnQzs7OztJQUNoQyw2REFBeUI7Ozs7SUFDekIsc0RBQWtCOzs7OztBQU1wQixrQ0FFQzs7O0lBREMsK0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUFwaUVycm9yIH0gZnJvbSAnLi9EYXRhQXBpJztcclxuXHJcbmltcG9ydCB7IEVudGl0eSwgQW5kRmlsdGVyLCBTb3J0LCBDb2x1bW4sIENvbHVtbkhhc2hTZXQsIFN0cmluZ0NvbHVtbiwgVXJsQnVpbGRlciwgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEZpbmRPcHRpb25zLCBGaWx0ZXJCYXNlLCBGaW5kT3B0aW9uc1BlckVudGl0eSwgRGF0YUFwaVJlcXVlc3QgfSBmcm9tICcuLi9jb3JlL2RhdGFJbnRlcmZhY2VzMSc7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0YUFwaTxUIGV4dGVuZHMgRW50aXR5PGFueT4+IHtcclxuICBnZXRSb3V0ZSgpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLm5hbWUpXHJcbiAgICAgIHJldHVybiB0aGlzLnJvd1R5cGUuX19nZXROYW1lKCk7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm5hbWU7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm93VHlwZTogVCwgcHJpdmF0ZSBvcHRpb25zPzogRGF0YUFwaVNldHRpbmdzPFQ+KSB7XHJcbiAgICBpZiAoIW9wdGlvbnMpXHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IHt9O1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5yZWFkb25seUNvbHVtbnMpXHJcbiAgICAgIHRoaXMucmVhZG9ubHlDb2x1bW5zLmFkZCguLi50aGlzLm9wdGlvbnMucmVhZG9ubHlDb2x1bW5zKHJvd1R5cGUpKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuZXhjbHVkZUNvbHVtbnMpIHtcclxuICAgICAgdGhpcy5leGNsdWRlZENvbHVtbnMuYWRkKC4uLnRoaXMub3B0aW9ucy5leGNsdWRlQ29sdW1ucyhyb3dUeXBlKSk7XHJcbiAgICAgIHRoaXMucmVhZG9ubHlDb2x1bW5zLmFkZCguLi50aGlzLm9wdGlvbnMuZXhjbHVkZUNvbHVtbnMocm93VHlwZSkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcHJpdmF0ZSBleGNsdWRlZENvbHVtbnMgPSBuZXcgQ29sdW1uSGFzaFNldCgpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHlDb2x1bW5zID0gbmV3IENvbHVtbkhhc2hTZXQoKTtcclxuXHJcbiAgYXN5bmMgZ2V0KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGlkOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dSZWFkID09IGZhbHNlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5kb09uSWQocmVzcG9uc2UsIGlkLCBhc3luYyByb3cgPT4gcmVzcG9uc2Uuc3VjY2Vzcyhhd2FpdCByb3cuX190b1Bvam8odGhpcy5leGNsdWRlZENvbHVtbnMpKSk7XHJcbiAgfVxyXG4gIGFzeW5jIGNvdW50KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIHJlcXVlc3Q6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgd2hlcmUgPSB0aGlzLmJ1aWxkV2hlcmUocmVxdWVzdCk7XHJcbiAgICAgIHJlc3BvbnNlLnN1Y2Nlc3MoeyBjb3VudDogK2F3YWl0IHRoaXMucm93VHlwZS5zb3VyY2UuY291bnQod2hlcmUpIH0pO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRBcnJheShyZXNwb25zZTogRGF0YUFwaVJlc3BvbnNlLCByZXF1ZXN0OiBEYXRhQXBpUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JlYWQgPT0gZmFsc2UpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgZmluZE9wdGlvbnM6IEZpbmRPcHRpb25zID0ge307XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmdldCkge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZmluZE9wdGlvbnMsIHRoaXMub3B0aW9ucy5nZXQpO1xyXG4gICAgICB9XHJcbiAgICAgIGZpbmRPcHRpb25zLndoZXJlID0gdGhpcy5idWlsZFdoZXJlKHJlcXVlc3QpO1xyXG4gICAgICBpZiAocmVxdWVzdCkge1xyXG5cclxuICAgICAgICBsZXQgc29ydCA9IDxzdHJpbmc+cmVxdWVzdC5nZXQoXCJfc29ydFwiKTtcclxuICAgICAgICBpZiAoc29ydCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGxldCBkaXIgPSByZXF1ZXN0LmdldCgnX29yZGVyJyk7XHJcbiAgICAgICAgICBsZXQgZGlySXRlbXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICBpZiAoZGlyKVxyXG4gICAgICAgICAgICBkaXJJdGVtcyA9IGRpci5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgZmluZE9wdGlvbnMub3JkZXJCeSA9IG5ldyBTb3J0KCk7XHJcbiAgICAgICAgICBzb3J0LnNwbGl0KCcsJykuZm9yRWFjaCgobmFtZSwgaSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgY29sID0gdGhpcy5yb3dUeXBlLl9fZ2V0Q29sdW1uQnlKc29uTmFtZShuYW1lLnRyaW0oKSk7XHJcbiAgICAgICAgICAgIGlmIChjb2wpIHtcclxuICAgICAgICAgICAgICBmaW5kT3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgY29sdW1uOiBjb2wsXHJcbiAgICAgICAgICAgICAgICBkZXNjZW5kaW5nOiBpIDwgZGlySXRlbXMubGVuZ3RoICYmIGRpckl0ZW1zW2ldLnRvTG93ZXJDYXNlKCkudHJpbSgpLnN0YXJ0c1dpdGgoXCJkXCIpXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxpbWl0ID0gK3JlcXVlc3QuZ2V0KFwiX2xpbWl0XCIpO1xyXG4gICAgICAgIGlmICghbGltaXQpXHJcbiAgICAgICAgICBsaW1pdCA9IDI1O1xyXG4gICAgICAgIGZpbmRPcHRpb25zLmxpbWl0ID0gbGltaXQ7XHJcbiAgICAgICAgZmluZE9wdGlvbnMucGFnZSA9ICtyZXF1ZXN0LmdldChcIl9wYWdlXCIpO1xyXG5cclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLnJvd1R5cGUuc291cmNlLmZpbmQoZmluZE9wdGlvbnMpXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgciA9PiB7XHJcbiAgICAgICAgICByZXNwb25zZS5zdWNjZXNzKGF3YWl0IFByb21pc2UuYWxsKHIubWFwKGFzeW5jIHkgPT4gYXdhaXQgeS5fX3RvUG9qbyh0aGlzLmV4Y2x1ZGVkQ29sdW1ucykpKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgYnVpbGRXaGVyZShyZXF1ZXN0OiBEYXRhQXBpUmVxdWVzdCkge1xyXG4gICAgdmFyIHdoZXJlOiBGaWx0ZXJCYXNlO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZ2V0ICYmIHRoaXMub3B0aW9ucy5nZXQud2hlcmUpXHJcbiAgICAgIHdoZXJlID0gdGhpcy5vcHRpb25zLmdldC53aGVyZSh0aGlzLnJvd1R5cGUpO1xyXG4gICAgaWYgKHJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5yb3dUeXBlLl9faXRlcmF0ZUNvbHVtbnMoKS5mb3JFYWNoKGNvbCA9PiB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRkRmlsdGVyKGtleTogc3RyaW5nLCB0aGVGaWx0ZXI6ICh2YWw6IGFueSkgPT4gRmlsdGVyQmFzZSkge1xyXG4gICAgICAgICAgbGV0IHZhbCA9IHJlcXVlc3QuZ2V0KGNvbC5qc29uTmFtZSArIGtleSk7XHJcbiAgICAgICAgICBpZiAodmFsICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0gKHZhbDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGYgPSB0aGVGaWx0ZXIoY29sLmZyb21SYXdWYWx1ZSh2YWwpKTtcclxuICAgICAgICAgICAgICBpZiAoZikge1xyXG4gICAgICAgICAgICAgICAgaWYgKHdoZXJlKVxyXG4gICAgICAgICAgICAgICAgICB3aGVyZSA9IG5ldyBBbmRGaWx0ZXIod2hlcmUsIGYpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICB3aGVyZSA9IGY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuXHJcbiAgICAgICAgICAgICAgdmFsLmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgICAgICAgICBhZGRGaWx0ZXIodik7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIGFkZEZpbHRlcih2YWwpO1xyXG5cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFkZEZpbHRlcignJywgdmFsID0+IGNvbC5pc0VxdWFsVG8odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfZ3QnLCB2YWwgPT4gY29sLmlzR3JlYXRlclRoYW4odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfZ3RlJywgdmFsID0+IGNvbC5pc0dyZWF0ZXJPckVxdWFsVG8odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfbHQnLCB2YWwgPT4gY29sLmlzTGVzc1RoYW4odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfbHRlJywgdmFsID0+IGNvbC5pc0xlc3NPckVxdWFsVG8odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfbmUnLCB2YWwgPT4gY29sLmlzRGlmZmVyZW50RnJvbSh2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19jb250YWlucycsIHZhbCA9PiB7XHJcbiAgICAgICAgICBsZXQgYyA9IGNvbCBhcyBTdHJpbmdDb2x1bW47XHJcbiAgICAgICAgICBpZiAoYyAhPSBudWxsICYmIGMuaXNDb250YWlucykge1xyXG4gICAgICAgICAgICByZXR1cm4gYy5pc0NvbnRhaW5zKHZhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfc3QnLCB2YWwgPT4ge1xyXG4gICAgICAgICAgbGV0IGMgPSBjb2wgYXMgU3RyaW5nQ29sdW1uO1xyXG4gICAgICAgICAgaWYgKGMgIT0gbnVsbCAmJiBjLmlzQ29udGFpbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGMuaXNTdGFydHNXaXRoKHZhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHdoZXJlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBkb09uSWQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSwgd2hhdDogKHJvdzogVCkgPT4gUHJvbWlzZTx2b2lkPikge1xyXG4gICAgdHJ5IHtcclxuXHJcbiAgICAgIGxldCB3aGVyZTogRmlsdGVyQmFzZSA9IHRoaXMucm93VHlwZS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCk7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmdldCAmJiB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKVxyXG4gICAgICAgIHdoZXJlID0gbmV3IEFuZEZpbHRlcih3aGVyZSwgdGhpcy5vcHRpb25zLmdldC53aGVyZSh0aGlzLnJvd1R5cGUpKTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMucm93VHlwZS5zb3VyY2UuZmluZCh7IHdoZXJlIH0pXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgciA9PiB7XHJcbiAgICAgICAgICBpZiAoci5sZW5ndGggPT0gMClcclxuICAgICAgICAgICAgcmVzcG9uc2Uubm90Rm91bmQoKTtcclxuICAgICAgICAgIGVsc2UgaWYgKHIubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgcmVzcG9uc2UuZXJyb3IoeyBtZXNzYWdlOiBcImlkIGlzIG5vdCB1bmlxdWVcIiB9KTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgYXdhaXQgd2hhdChyWzBdKTtcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXNwb25zZS5lcnJvcihlcnIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBhc3luYyBwdXQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSwgYm9keTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hbGxvd1VwZGF0ZSkge1xyXG4gICAgICByZXNwb25zZS5tZXRob2ROb3RBbGxvd2VkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuZG9PbklkKHJlc3BvbnNlLCBpZCwgYXN5bmMgcm93ID0+IHtcclxuICAgICAgcm93Ll9fZnJvbVBvam8oYm9keSwgdGhpcy5yZWFkb25seUNvbHVtbnMpO1xyXG4gICAgICBhd2FpdCByb3cuc2F2ZSh0aGlzLm9wdGlvbnMudmFsaWRhdGUsIHRoaXMub3B0aW9ucy5vblNhdmluZ1Jvdyk7XHJcbiAgICAgIHJlc3BvbnNlLnN1Y2Nlc3MoYXdhaXQgcm93Ll9fdG9Qb2pvKHRoaXMuZXhjbHVkZWRDb2x1bW5zKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYXN5bmMgZGVsZXRlKHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGlkOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLmFsbG93RGVsZXRlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5kb09uSWQocmVzcG9uc2UsIGlkLCBhc3luYyByb3cgPT4ge1xyXG4gICAgICBhd2FpdCByb3cuZGVsZXRlKCk7XHJcbiAgICAgIHJlc3BvbnNlLmRlbGV0ZWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhc3luYyBwb3N0KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGJvZHk6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYWxsb3dJbnNlcnQpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG5cclxuICAgICAgbGV0IHIgPSB0aGlzLnJvd1R5cGUuc291cmNlLmNyZWF0ZU5ld0l0ZW0oKTtcclxuICAgICAgci5fX2Zyb21Qb2pvKGJvZHksIHRoaXMucmVhZG9ubHlDb2x1bW5zKTtcclxuICAgICAgYXdhaXQgci5zYXZlKHRoaXMub3B0aW9ucy52YWxpZGF0ZSwgdGhpcy5vcHRpb25zLm9uU2F2aW5nUm93KTtcclxuICAgICAgcmVzcG9uc2UuY3JlYXRlZChhd2FpdCByLl9fdG9Qb2pvKHRoaXMuZXhjbHVkZWRDb2x1bW5zKSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgcmVzcG9uc2UuZXJyb3IoZXJyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUFwaVNldHRpbmdzPHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gIGFsbG93VXBkYXRlPzogYm9vbGVhbixcclxuICBhbGxvd0luc2VydD86IGJvb2xlYW4sXHJcbiAgYWxsb3dEZWxldGU/OiBib29sZWFuLFxyXG4gIGFsbG93UmVhZD86IGJvb2xlYW4sXHJcbiAgZXhjbHVkZUNvbHVtbnM/OiAocjogcm93VHlwZSkgPT4gQ29sdW1uPGFueT5bXSxcclxuICByZWFkb25seUNvbHVtbnM/OiAocjogcm93VHlwZSkgPT4gQ29sdW1uPGFueT5bXSxcclxuICBuYW1lPzogc3RyaW5nLFxyXG4gIGdldD86IEZpbmRPcHRpb25zUGVyRW50aXR5PHJvd1R5cGU+LFxyXG4gIHZhbGlkYXRlPzogKHI6IHJvd1R5cGUpID0+IHZvaWQ7XHJcbiAgb25TYXZpbmdSb3c/OiAocjogcm93VHlwZSkgPT4gUHJvbWlzZTxhbnk+IHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFBcGlSZXNwb25zZSB7XHJcbiAgc3VjY2VzcyhkYXRhOiBhbnkpOiB2b2lkO1xyXG4gIGRlbGV0ZWQoKTogdm9pZDtcclxuICBjcmVhdGVkKGRhdGE6IGFueSk6IHZvaWQ7XHJcbiAgbm90Rm91bmQoKTogdm9pZDtcclxuICBlcnJvcihkYXRhOiBEYXRhQXBpRXJyb3IpOiB2b2lkO1xyXG4gIG1ldGhvZE5vdEFsbG93ZWQoKTogdm9pZDtcclxuICBmb3JiaWRkZW4oKTogdm9pZDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpRXJyb3Ige1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmVyL0RhdGFBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQVUsU0FBUyxFQUFFLElBQUksRUFBVSxhQUFhLEVBQStELE1BQU0sZUFBZSxDQUFDOzs7O0FBRzVJLE1BQU0sT0FBTyxPQUFPOzs7Ozs7SUFNbEIsWUFBb0IsY0FBaUMsRUFBVSxPQUE0QixFQUFDLENBQUk7UUFBNUUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFhbkYsb0JBQWUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLG9CQUFlLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQWI1QyxJQUFJLENBQUMsT0FBTztZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxDQUFDO1lBQ0osQ0FBQyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdEO0lBRUgsQ0FBQzs7OztJQWpCRCxRQUFRO1FBQ04sSUFBSSxD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QUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7YUFDMUQ7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQztLQUFBO0NBRUY7Ozs7OztJQXpMQyxrQ0FBOEM7Ozs7O0lBQzlDLGtDQUE4Qzs7Ozs7SUFkbEMsaUNBQXlDOzs7OztJQUFFLDBCQUFvQzs7Ozs7O0FBdU03RixxQ0FXQzs7O0lBVkMsc0NBQXNCOztJQUN0QixzQ0FBc0I7O0lBQ3RCLHNDQUFzQjs7SUFDdEIsb0NBQW9COztJQUNwQix5Q0FBK0M7O0lBQy9DLDBDQUFnRDs7SUFDaEQsK0JBQWM7O0lBQ2QsOEJBQW9DOztJQUNwQyxtQ0FBZ0M7O0lBQ2hDLHNDQUFpRDs7Ozs7QUFHbkQscUNBU0M7Ozs7OztJQVJDLHdEQUF5Qjs7OztJQUN6QixvREFBZ0I7Ozs7O0lBQ2hCLHdEQUF5Qjs7OztJQUN6QixxREFBaUI7Ozs7O0lBQ2pCLHNEQUFnQzs7OztJQUNoQyw2REFBeUI7Ozs7SUFDekIsc0RBQWtCOzs7OztBQU1wQixrQ0FFQzs7O0lBREMsK0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUFwaUVycm9yIH0gZnJvbSAnLi9EYXRhQXBpJztcclxuXHJcbmltcG9ydCB7IEVudGl0eSwgQW5kRmlsdGVyLCBTb3J0LCBDb2x1bW4sIENvbHVtbkhhc2hTZXQsIFN0cmluZ0NvbHVtbiwgVXJsQnVpbGRlciwgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEZpbmRPcHRpb25zLCBGaWx0ZXJCYXNlLCBGaW5kT3B0aW9uc1BlckVudGl0eSwgRGF0YUFwaVJlcXVlc3QsIEVudGl0eVByb3ZpZGVyIH0gZnJvbSAnLi4vY29yZS9kYXRhSW50ZXJmYWNlczEnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFBcGk8VCBleHRlbmRzIEVudGl0eTxhbnk+PiB7XHJcbiAgZ2V0Um91dGUoKSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5uYW1lKVxyXG4gICAgICByZXR1cm4gdGhpcy5lbnRpdHlQcm92aWRlci5jcmVhdGUoKS5fX2dldE5hbWUoKTtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmFtZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnRpdHlQcm92aWRlcjogRW50aXR5UHJvdmlkZXI8VD4sIHByaXZhdGUgb3B0aW9ucz86IERhdGFBcGlTZXR0aW5nczxUPix0PzpUKSB7XHJcbiAgICBpZiAoIW9wdGlvbnMpXHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IHt9O1xyXG4gICAgaWYgKCF0KVxyXG4gICAgICB0ID0gZW50aXR5UHJvdmlkZXIuY3JlYXRlKCk7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnJlYWRvbmx5Q29sdW1ucylcclxuICAgICAgdGhpcy5yZWFkb25seUNvbHVtbnMuYWRkKC4uLnRoaXMub3B0aW9ucy5yZWFkb25seUNvbHVtbnModCkpO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5leGNsdWRlQ29sdW1ucykge1xyXG4gICAgICB0aGlzLmV4Y2x1ZGVkQ29sdW1ucy5hZGQoLi4udGhpcy5vcHRpb25zLmV4Y2x1ZGVDb2x1bW5zKHQpKTtcclxuICAgICAgdGhpcy5yZWFkb25seUNvbHVtbnMuYWRkKC4uLnRoaXMub3B0aW9ucy5leGNsdWRlQ29sdW1ucyh0KSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBwcml2YXRlIGV4Y2x1ZGVkQ29sdW1ucyA9IG5ldyBDb2x1bW5IYXNoU2V0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seUNvbHVtbnMgPSBuZXcgQ29sdW1uSGFzaFNldCgpO1xyXG5cclxuICBhc3luYyBnZXQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JlYWQgPT0gZmFsc2UpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmRvT25JZChyZXNwb25zZSwgaWQsIGFzeW5jIHJvdyA9PiByZXNwb25zZS5zdWNjZXNzKGF3YWl0IHJvdy5fX3RvUG9qbyh0aGlzLmV4Y2x1ZGVkQ29sdW1ucykpKTtcclxuICB9XHJcbiAgYXN5bmMgY291bnQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgcmVxdWVzdDogRGF0YUFwaVJlcXVlc3QpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIFxyXG4gICAgICByZXNwb25zZS5zdWNjZXNzKHsgY291bnQ6ICthd2FpdCB0aGlzLmVudGl0eVByb3ZpZGVyLmNvdW50KHQgPT4gdGhpcy5idWlsZFdoZXJlKHQscmVxdWVzdCkpIH0pO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRBcnJheShyZXNwb25zZTogRGF0YUFwaVJlc3BvbnNlLCByZXF1ZXN0OiBEYXRhQXBpUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JlYWQgPT0gZmFsc2UpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgZmluZE9wdGlvbnM6IEZpbmRPcHRpb25zUGVyRW50aXR5PGFueT4gPSB7fTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZ2V0KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihmaW5kT3B0aW9ucywgdGhpcy5vcHRpb25zLmdldCk7XHJcbiAgICAgIH1cclxuICAgICAgZmluZE9wdGlvbnMud2hlcmUgPSB0ID0+IHRoaXMuYnVpbGRXaGVyZSh0LHJlcXVlc3QpO1xyXG4gICAgICBpZiAocmVxdWVzdCkge1xyXG5cclxuICAgICAgICBsZXQgc29ydCA9IDxzdHJpbmc+cmVxdWVzdC5nZXQoXCJfc29ydFwiKTtcclxuICAgICAgICBpZiAoc29ydCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGxldCBkaXIgPSByZXF1ZXN0LmdldCgnX29yZGVyJyk7XHJcbiAgICAgICAgICBsZXQgZGlySXRlbXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICBpZiAoZGlyKVxyXG4gICAgICAgICAgICBkaXJJdGVtcyA9IGRpci5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgZmluZE9wdGlvbnMub3JkZXJCeSA9IHggPT4ge1xyXG4gICAgICAgICAgICBsZXQgciA9IG5ldyBTb3J0KCk7XHJcbiAgICAgICAgICAgIHNvcnQuc3BsaXQoJywnKS5mb3JFYWNoKChuYW1lLCBpKSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGNvbCA9IHguX19nZXRDb2x1bW5CeUpzb25OYW1lKG5hbWUudHJpbSgpKTtcclxuICAgICAgICAgICAgICBpZiAoY29sKSB7XHJcbiAgICAgICAgICAgICAgICByLlNlZ21lbnRzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICBjb2x1bW46IGNvbCxcclxuICAgICAgICAgICAgICAgICAgZGVzY2VuZGluZzogaSA8IGRpckl0ZW1zLmxlbmd0aCAmJiBkaXJJdGVtc1tpXS50b0xvd2VyQ2FzZSgpLnRyaW0oKS5zdGFydHNXaXRoKFwiZFwiKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGltaXQgPSArcmVxdWVzdC5nZXQoXCJfbGltaXRcIik7XHJcbiAgICAgICAgaWYgKCFsaW1pdClcclxuICAgICAgICAgIGxpbWl0ID0gMjU7XHJcbiAgICAgICAgZmluZE9wdGlvbnMubGltaXQgPSBsaW1pdDtcclxuICAgICAgICBmaW5kT3B0aW9ucy5wYWdlID0gK3JlcXVlc3QuZ2V0KFwiX3BhZ2VcIik7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IHRoaXMuZW50aXR5UHJvdmlkZXIuZmluZChmaW5kT3B0aW9ucylcclxuICAgICAgICAudGhlbihhc3luYyByID0+IHtcclxuICAgICAgICAgIHJlc3BvbnNlLnN1Y2Nlc3MoYXdhaXQgUHJvbWlzZS5hbGwoci5tYXAoYXN5bmMgeSA9PiBhd2FpdCB5Ll9fdG9Qb2pvKHRoaXMuZXhjbHVkZWRDb2x1bW5zKSkpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgcmVzcG9uc2UuZXJyb3IoZXJyKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBidWlsZFdoZXJlKHJvd1R5cGU6VCwgcmVxdWVzdDogRGF0YUFwaVJlcXVlc3QpIHtcclxuICAgIHZhciB3aGVyZTogRmlsdGVyQmFzZTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmdldCAmJiB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKVxyXG4gICAgICB3aGVyZSA9IHRoaXMub3B0aW9ucy5nZXQud2hlcmUocm93VHlwZSk7XHJcbiAgICBpZiAocmVxdWVzdCkge1xyXG4gICAgICByb3dUeXBlLl9faXRlcmF0ZUNvbHVtbnMoKS5mb3JFYWNoKGNvbCA9PiB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRkRmlsdGVyKGtleTogc3RyaW5nLCB0aGVGaWx0ZXI6ICh2YWw6IGFueSkgPT4gRmlsdGVyQmFzZSkge1xyXG4gICAgICAgICAgbGV0IHZhbCA9IHJlcXVlc3QuZ2V0KGNvbC5qc29uTmFtZSArIGtleSk7XHJcbiAgICAgICAgICBpZiAodmFsICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsZXQgYWRkRmlsdGVyID0gKHZhbDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGYgPSB0aGVGaWx0ZXIoY29sLmZyb21SYXdWYWx1ZSh2YWwpKTtcclxuICAgICAgICAgICAgICBpZiAoZikge1xyXG4gICAgICAgICAgICAgICAgaWYgKHdoZXJlKVxyXG4gICAgICAgICAgICAgICAgICB3aGVyZSA9IG5ldyBBbmRGaWx0ZXIod2hlcmUsIGYpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICB3aGVyZSA9IGY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuXHJcbiAgICAgICAgICAgICAgdmFsLmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgICAgICAgICBhZGRGaWx0ZXIodik7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIGFkZEZpbHRlcih2YWwpO1xyXG5cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFkZEZpbHRlcignJywgdmFsID0+IGNvbC5pc0VxdWFsVG8odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfZ3QnLCB2YWwgPT4gY29sLmlzR3JlYXRlclRoYW4odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfZ3RlJywgdmFsID0+IGNvbC5pc0dyZWF0ZXJPckVxdWFsVG8odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfbHQnLCB2YWwgPT4gY29sLmlzTGVzc1RoYW4odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfbHRlJywgdmFsID0+IGNvbC5pc0xlc3NPckVxdWFsVG8odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfbmUnLCB2YWwgPT4gY29sLmlzRGlmZmVyZW50RnJvbSh2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19jb250YWlucycsIHZhbCA9PiB7XHJcbiAgICAgICAgICBsZXQgYyA9IGNvbCBhcyBTdHJpbmdDb2x1bW47XHJcbiAgICAgICAgICBpZiAoYyAhPSBudWxsICYmIGMuaXNDb250YWlucykge1xyXG4gICAgICAgICAgICByZXR1cm4gYy5pc0NvbnRhaW5zKHZhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfc3QnLCB2YWwgPT4ge1xyXG4gICAgICAgICAgbGV0IGMgPSBjb2wgYXMgU3RyaW5nQ29sdW1uO1xyXG4gICAgICAgICAgaWYgKGMgIT0gbnVsbCAmJiBjLmlzQ29udGFpbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGMuaXNTdGFydHNXaXRoKHZhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHdoZXJlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBkb09uSWQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSwgd2hhdDogKHJvdzogVCkgPT4gUHJvbWlzZTx2b2lkPikge1xyXG4gICAgdHJ5IHtcclxuXHJcblxyXG5cclxuICAgICAgYXdhaXQgdGhpcy5lbnRpdHlQcm92aWRlci5maW5kKHtcclxuICAgICAgICB3aGVyZTogeCA9PiB7XHJcbiAgICAgICAgICBsZXQgd2hlcmU6IEZpbHRlckJhc2UgPSB4Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKTtcclxuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmdldCAmJiB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKVxyXG4gICAgICAgICAgICB3aGVyZSA9IG5ldyBBbmRGaWx0ZXIod2hlcmUsIHRoaXMub3B0aW9ucy5nZXQud2hlcmUoeCkpO1xyXG4gICAgICAgICAgcmV0dXJuIHdoZXJlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgICAudGhlbihhc3luYyByID0+IHtcclxuICAgICAgICAgIGlmIChyLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICByZXNwb25zZS5ub3RGb3VuZCgpO1xyXG4gICAgICAgICAgZWxzZSBpZiAoci5sZW5ndGggPiAxKVxyXG4gICAgICAgICAgICByZXNwb25zZS5lcnJvcih7IG1lc3NhZ2U6IFwiaWQgaXMgbm90IHVuaXF1ZVwiIH0pO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBhd2FpdCB3aGF0KHJbMF0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFzeW5jIHB1dChyZXNwb25zZTogRGF0YUFwaVJlc3BvbnNlLCBpZDogYW55LCBib2R5OiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLmFsbG93VXBkYXRlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5kb09uSWQocmVzcG9uc2UsIGlkLCBhc3luYyByb3cgPT4ge1xyXG4gICAgICByb3cuX19mcm9tUG9qbyhib2R5LCB0aGlzLnJlYWRvbmx5Q29sdW1ucyk7XHJcbiAgICAgIGF3YWl0IHJvdy5zYXZlKHRoaXMub3B0aW9ucy52YWxpZGF0ZSwgdGhpcy5vcHRpb25zLm9uU2F2aW5nUm93KTtcclxuICAgICAgcmVzcG9uc2Uuc3VjY2Vzcyhhd2FpdCByb3cuX190b1Bvam8odGhpcy5leGNsdWRlZENvbHVtbnMpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhc3luYyBkZWxldGUocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYWxsb3dEZWxldGUpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmRvT25JZChyZXNwb25zZSwgaWQsIGFzeW5jIHJvdyA9PiB7XHJcbiAgICAgIGF3YWl0IHJvdy5kZWxldGUoKTtcclxuICAgICAgcmVzcG9uc2UuZGVsZXRlZCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGFzeW5jIHBvc3QocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgYm9keTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hbGxvd0luc2VydCkge1xyXG4gICAgICByZXNwb25zZS5tZXRob2ROb3RBbGxvd2VkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBsZXQgciA9IHRoaXMuZW50aXR5UHJvdmlkZXIuY3JlYXRlKCk7XHJcbiAgICAgIHIuX19mcm9tUG9qbyhib2R5LCB0aGlzLnJlYWRvbmx5Q29sdW1ucyk7XHJcbiAgICAgIGF3YWl0IHIuc2F2ZSh0aGlzLm9wdGlvbnMudmFsaWRhdGUsIHRoaXMub3B0aW9ucy5vblNhdmluZ1Jvdyk7XHJcbiAgICAgIHJlc3BvbnNlLmNyZWF0ZWQoYXdhaXQgci5fX3RvUG9qbyh0aGlzLmV4Y2x1ZGVkQ29sdW1ucykpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFBcGlTZXR0aW5nczxyb3dUeXBlIGV4dGVuZHMgRW50aXR5PGFueT4+IHtcclxuICBhbGxvd1VwZGF0ZT86IGJvb2xlYW4sXHJcbiAgYWxsb3dJbnNlcnQ/OiBib29sZWFuLFxyXG4gIGFsbG93RGVsZXRlPzogYm9vbGVhbixcclxuICBhbGxvd1JlYWQ/OiBib29sZWFuLFxyXG4gIGV4Y2x1ZGVDb2x1bW5zPzogKHI6IHJvd1R5cGUpID0+IENvbHVtbjxhbnk+W10sXHJcbiAgcmVhZG9ubHlDb2x1bW5zPzogKHI6IHJvd1R5cGUpID0+IENvbHVtbjxhbnk+W10sXHJcbiAgbmFtZT86IHN0cmluZyxcclxuICBnZXQ/OiBGaW5kT3B0aW9uc1BlckVudGl0eTxyb3dUeXBlPixcclxuICB2YWxpZGF0ZT86IChyOiByb3dUeXBlKSA9PiB2b2lkO1xyXG4gIG9uU2F2aW5nUm93PzogKHI6IHJvd1R5cGUpID0+IFByb21pc2U8YW55PiB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpUmVzcG9uc2Uge1xyXG4gIHN1Y2Nlc3MoZGF0YTogYW55KTogdm9pZDtcclxuICBkZWxldGVkKCk6IHZvaWQ7XHJcbiAgY3JlYXRlZChkYXRhOiBhbnkpOiB2b2lkO1xyXG4gIG5vdEZvdW5kKCk6IHZvaWQ7XHJcbiAgZXJyb3IoZGF0YTogRGF0YUFwaUVycm9yKTogdm9pZDtcclxuICBtZXRob2ROb3RBbGxvd2VkKCk6IHZvaWQ7XHJcbiAgZm9yYmlkZGVuKCk6IHZvaWQ7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUFwaUVycm9yIHtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuIl19 |
@@ -9,5 +9,5 @@ /** | ||
export { RemultModule } from './src/lib/radweb.module'; | ||
export { myFetch, RestDataProvider, angularHttpProvider, restDataProviderHttpProviderUsingFetch, wrapFetch, Action } from './src/lib/core/restDataProvider'; | ||
export { myFetch, RestDataProvider, AngularHttpProvider, RestDataProviderHttpProviderUsingFetch, wrapFetch, Action } from './src/lib/core/restDataProvider'; | ||
export {} from './src/lib/core/dataInterfaces1'; | ||
export { isNewRow, extractSortFromSettings, translateSort, testing, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, EntitySource, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest } from './src/lib/core/utils'; | ||
export { isNewRow, extractSortFromSettings, translateSort, testing, DropDownSource, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest } from './src/lib/core/utils'; | ||
export { makeTitle, isFunction, functionOrString } from './src/lib/core/common'; | ||
@@ -20,8 +20,8 @@ export { pageArray, InMemoryDataProvider, ActualInMemoryDataProvider } from './src/lib/core/inMemoryDatabase'; | ||
export { LocalStorageDataProvider } from './src/lib/core/localStorageDataProvider'; | ||
export { EntityClass, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role } from './src/lib/context/Context'; | ||
export { EntityClass, DialogConfig, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role } from './src/lib/context/Context'; | ||
export { JwtSessionManager } from './src/lib/jwt-session-manager'; | ||
export { RouteHelperService, SignedInGuard, NotSignedInGuard } from './src/lib/navigate-to-component-route-service'; | ||
export { ServerFunction, ActualDirectSQL, myServerAction, actionInfo, serverActionField } from './src/lib/context/server-action'; | ||
export { checkForDuplicateValue, DecorateDataColumnSettings, IdEntity, IdColumn } from './src/lib/id-entity/id-entity'; | ||
export { DecorateDataColumnSettings, checkForDuplicateValue, IdEntity, IdColumn } from './src/lib/id-entity/id-entity'; | ||
export { BusyService } from './src/lib/angular-components/wait/busy-service'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNkJBQWMseUJBQXlCLENBQUM7QUFDeEMsMEhBQWMsaUNBQWlDLENBQUM7QUFDaEQsZUFBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxxaEJBQWMsc0JBQXNCLENBQUM7QUFDckMsd0RBQWMsdUJBQXVCLENBQUM7QUFDdEMsNEVBQWMsaUNBQWlDLENBQUM7QUFDaEQsbUNBQWMsbUNBQW1DLENBQUM7QUFDbEQsNENBQWMsa0NBQWtDLENBQUM7QUFDakQsd0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsd0JBQWMsMEJBQTBCLENBQUM7QUFDekMseUNBQWMseUNBQXlDLENBQUM7QUFDeEQsd0dBQWMsMkJBQTJCLENBQUM7QUFDMUMsa0NBQWMsK0JBQStCLENBQUM7QUFDOUMsb0VBQWMsK0NBQStDLENBQUM7QUFDOUQsK0ZBQWMsaUNBQWlDLENBQUM7QUFDaEQsdUZBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEByZW11bHQvY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9yYWR3ZWIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvcmVzdERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL3V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvaW5NZW1vcnlEYXRhYmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1NRTERhdGFiYXNlU2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvc2VydmVyL0RhdGFBcGknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29yZS9sb2NhbFN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9Db250ZXh0JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2p3dC1zZXNzaW9uLW1hbmFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvbmF2aWdhdGUtdG8tY29tcG9uZW50LXJvdXRlLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2lkLWVudGl0eS9pZC1lbnRpdHknO1xyXG5leHBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gJy4vc3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2UnO1xyXG4vL3NlcnZlclxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNkJBQWMseUJBQXlCLENBQUM7QUFDeEMsMEhBQWMsaUNBQWlDLENBQUM7QUFDaEQsZUFBYyxnQ0FBZ0MsQ0FBQztBQUMvQyx1aEJBQWMsc0JBQXNCLENBQUM7QUFDckMsd0RBQWMsdUJBQXVCLENBQUM7QUFDdEMsNEVBQWMsaUNBQWlDLENBQUM7QUFDaEQsbUNBQWMsbUNBQW1DLENBQUM7QUFDbEQsNENBQWMsa0NBQWtDLENBQUM7QUFDakQsd0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsd0JBQWMsMEJBQTBCLENBQUM7QUFDekMseUNBQWMseUNBQXlDLENBQUM7QUFDeEQsc0hBQWMsMkJBQTJCLENBQUM7QUFDMUMsa0NBQWMsK0JBQStCLENBQUM7QUFDOUMsb0VBQWMsK0NBQStDLENBQUM7QUFDOUQsK0ZBQWMsaUNBQWlDLENBQUM7QUFDaEQsdUZBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEByZW11bHQvY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9yYWR3ZWIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvcmVzdERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL3V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvaW5NZW1vcnlEYXRhYmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb3JlL1NRTERhdGFiYXNlU2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvc2VydmVyL0RhdGFBcGknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29yZS9sb2NhbFN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9Db250ZXh0JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2p3dC1zZXNzaW9uLW1hbmFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvbmF2aWdhdGUtdG8tY29tcG9uZW50LXJvdXRlLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2lkLWVudGl0eS9pZC1lbnRpdHknO1xyXG5leHBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gJy4vc3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2UnO1xyXG4vL3NlcnZlclxyXG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export { BusyService, RemultModule, myFetch, RestDataProvider, angularHttpProvider, restDataProviderHttpProviderUsingFetch, wrapFetch, Action, isNewRow, extractSortFromSettings, translateSort, testing, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, EntitySource, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest, makeTitle, isFunction, functionOrString, pageArray, InMemoryDataProvider, ActualInMemoryDataProvider, WebSqlDataProvider, ActualSQLServerDataProvider, JsonStorageDataProvider, DataApi, LocalStorageDataProvider, EntityClass, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role, JwtSessionManager, RouteHelperService, SignedInGuard, NotSignedInGuard, ServerFunction, ActualDirectSQL, myServerAction, actionInfo, serverActionField, checkForDuplicateValue, DecorateDataColumnSettings, IdEntity, IdColumn } from './index'; | ||
export { BusyService, RemultModule, myFetch, RestDataProvider, AngularHttpProvider, RestDataProviderHttpProviderUsingFetch, wrapFetch, Action, isNewRow, extractSortFromSettings, translateSort, testing, DropDownSource, DataAreaSettings, GridSettings, FilterHelper, DataList, Sort, Lookup, UrlBuilder, FilterConsumnerBridgeToUrlBuilder, lookupRowInfo, DefaultStorage, DateTimeDateStorage, CharDateStorage, DateTimeStorage, Column, Filter, AndFilter, Entity, ColumnHashSet, CompoundIdColumn, __EntityValueProvider, StringColumn, DateColumn, DateTimeColumn, NumberColumn, BoolColumn, BoolStorage, ClosedListColumn, ColumnCollection, FilterConsumerBridgeToSqlRequest, makeTitle, isFunction, functionOrString, pageArray, InMemoryDataProvider, ActualInMemoryDataProvider, WebSqlDataProvider, ActualSQLServerDataProvider, JsonStorageDataProvider, DataApi, LocalStorageDataProvider, EntityClass, DialogConfig, Context, ServerContext, SpecificEntityHelper, allEntities, DirectSQL, Role, JwtSessionManager, RouteHelperService, SignedInGuard, NotSignedInGuard, ServerFunction, ActualDirectSQL, myServerAction, actionInfo, serverActionField, DecorateDataColumnSettings, checkForDuplicateValue, IdEntity, IdColumn } from './index'; | ||
export { ColumnDesigner as ɵd } from './src/lib/angular-components/column-designer/column-designer.component'; | ||
@@ -18,2 +18,2 @@ export { DataArea2Compnent as ɵc } from './src/lib/angular-components/data-area/dataArea2'; | ||
export { WaitComponent as ɵg } from './src/lib/angular-components/wait/wait.component'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtdWx0LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJyZW11bHQtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdXFDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDOUcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN2SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0NvbHVtbkRlc2lnbmVyIGFzIMm1ZH0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9jb2x1bW4tZGVzaWduZXIvY29sdW1uLWRlc2lnbmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFBcmVhMkNvbXBuZW50IGFzIMm1Y30gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWFyZWEvZGF0YUFyZWEyJztcbmV4cG9ydCB7RGF0YUNvbnRyb2wyQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhQ29udHJvbDNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL2RhdGEtY29udHJvbC9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFGaWx0ZXJJbmZvQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWZpbHRlci1pbmZvL2RhdGEtZmlsdGVyLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YUdyaWQyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckludGVyY2VwdG9yIGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy93YWl0L2J1c3ktc2VydmljZSc7XG5leHBvcnQge1dhaXRDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL3dhaXQvd2FpdC5jb21wb25lbnQnOyJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtdWx0LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJyZW11bHQtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdXJDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDOUcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN2SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0NvbHVtbkRlc2lnbmVyIGFzIMm1ZH0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9jb2x1bW4tZGVzaWduZXIvY29sdW1uLWRlc2lnbmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFBcmVhMkNvbXBuZW50IGFzIMm1Y30gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWFyZWEvZGF0YUFyZWEyJztcbmV4cG9ydCB7RGF0YUNvbnRyb2wyQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhQ29udHJvbDNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL2RhdGEtY29udHJvbC9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFGaWx0ZXJJbmZvQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWZpbHRlci1pbmZvL2RhdGEtZmlsdGVyLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YUdyaWQyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRlLWdyaWQtMi9kYXRhLWdyaWQyLmNvbXBvbmVudCc7XG5leHBvcnQge0xvYWRlckludGVyY2VwdG9yIGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy93YWl0L2J1c3ktc2VydmljZSc7XG5leHBvcnQge1dhaXRDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnRzL3dhaXQvd2FpdC5jb21wb25lbnQnOyJdfQ== |
@@ -61,6 +61,17 @@ /** | ||
/** @type {?} */ | ||
var itemsPerCol = Math.round(cols.length / this.columns); | ||
for (var i = 0; i < cols.length; i++) { | ||
r[Math.floor(i / itemsPerCol)].push(cols[i]); | ||
var linesToPlaceInColumns; | ||
if (this.settings.lines) | ||
linesToPlaceInColumns = this.settings.lines; | ||
else { | ||
linesToPlaceInColumns = cols.map((/** | ||
* @param {?} x | ||
* @return {?} | ||
*/ | ||
function (x) { return [x]; })); | ||
} | ||
/** @type {?} */ | ||
var itemsPerCol = Math.round(linesToPlaceInColumns.length / this.columns); | ||
for (var i = 0; i < linesToPlaceInColumns.length; i++) { | ||
r[Math.floor(i / itemsPerCol)].push(linesToPlaceInColumns[i]); | ||
} | ||
return this.lastCols; | ||
@@ -71,5 +82,5 @@ }; | ||
selector: 'data-area', | ||
template: "<ng-container *ngFor=\"let line of settings.lines\">\r\n \r\n <div class=\"one-line\">\r\n <data-control [settings]=\"settings.columns\" [map]=\"map\" [record]=\"settings.columns.currentRow()\"\r\n *ngFor=\"let map of line\">\r\n </data-control>\r\n </div>\r\n</ng-container>\r\n<div *ngIf=\"!settings.lines\" class=\"column-container\">\r\n \r\n <div *ngFor=\"let col of theColumns()\">\r\n <data-control [settings]=\"settings.columns\" \r\n [map]=\"map\" \r\n [record]=\"settings.columns.currentRow()\"\r\n *ngFor=\"let map of col\">\r\n </data-control>\r\n</div>\r\n</div>\r\n", | ||
template: "\r\n<div class=\"column-container\">\r\n <div *ngFor=\"let col of theColumns()\">\r\n <ng-container *ngFor=\"let line of col\">\r\n <div class=\"one-line\">\r\n <data-control [settings]=\"settings.columns\" [map]=\"map\" [record]=\"settings.columns.currentRow()\"\r\n *ngFor=\"let map of line\">\r\n </data-control>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", | ||
encapsulation: ViewEncapsulation.None, | ||
styles: [".one-line{display:flex;justify-content:space-between}.one-line>*{padding-left:.2em;padding-right:.2em;flex-basis:1px;flex-grow:1}.one-line>:first-child{padding-right:0}.one-line>:last-child{padding-left:0}@media only screen and (min-width:768px){.column-container{display:flex;width:100%}.column-container div{width:100%;margin-right:5px}.column-container :last-child{margin-right:0}}"] | ||
styles: [".one-line{display:flex;justify-content:space-between}.one-line>*{margin-left:.2em;margin-right:.2em;flex-basis:1px;flex-grow:1}@media only screen and (min-width:768px){.column-container{display:flex;width:100%}.column-container>div{width:100%}}"] | ||
}] } | ||
@@ -94,2 +105,2 @@ ]; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUFyZWEyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvZGF0YS1hcmVhL2RhdGFBcmVhMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFxRCxNQUFNLGtCQUFrQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxTQUFTLEVBQUcsS0FBSyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2hGO0lBQUE7UUFVVyxhQUFRLEdBQXFCLEVBQUUsT0FBTyxFQUFFLElBQUksZ0JBQWdCOzs7WUFBQyxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7OztZQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxHQUFFLFNBQVM7OztZQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBRSxDQUFDO1FBd0NwSSxZQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUF2Q0MsdUNBQVc7OztJQUFYO1FBQUEsaUJBV0M7UUFWQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZTs7O1lBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUF6QixDQUF5QixFQUFDLENBQUM7O2dCQUNuRSxZQUFZLEdBQUcsbUJBQUEsSUFBSSxDQUFDLFFBQVEsRUFBeUI7WUFDekQsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUN6QixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsbUJBQW1CO29CQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7YUFDNUQ7U0FDRjtJQUdILENBQUM7Ozs7SUFLRCxzQ0FBVTs7O0lBQVY7O1lBSU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ3BELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs7WUFFcEIsQ0FBQyxHQUFnQyxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDWjs7WUFDRyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBRXZCLENBQUM7O2dCQWpERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBRXJCLHlvQkFBOEI7b0JBRTlCLGFBQWEsRUFBQyxpQkFBaUIsQ0FBQyxJQUFJOztpQkFFckM7OzsyQkFHRSxLQUFLOzBCQXdDTCxLQUFLOztJQUNSLHdCQUFDO0NBQUEsQUFuREQsSUFtREM7U0EzQ1ksaUJBQWlCOzs7SUFFNUIscUNBQTZJOztJQWU3SSxxQ0FBc0M7O0lBQ3RDLHdDQUFrQzs7SUF3QmxDLG9DQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb2x1bW5Db2xsZWN0aW9uLCBEYXRhQXJlYVNldHRpbmdzLCBkYXRhQXJlYVNldHRpbmdzLCBDb2x1bW5TZXR0aW5nIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsICBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGEtYXJlYScsXHJcbiAgXHJcbiAgdGVtcGxhdGVVcmw6Jy4vZGF0YUFyZWEyLmh0bWwnLFxyXG4gIHN0eWxlVXJsczpbJy4vZGF0YUFyZWEyLnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOlZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxuICBcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFBcmVhMkNvbXBuZW50ICBpbXBsZW1lbnRzIE9uQ2hhbmdlcyAge1xyXG4gXHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IGRhdGFBcmVhU2V0dGluZ3MgPSB7IGNvbHVtbnM6IG5ldyBDb2x1bW5Db2xsZWN0aW9uKCgpID0+IHVuZGVmaW5lZCwgKCkgPT4gZmFsc2UsIHVuZGVmaW5lZCwgKCkgPT4gdHJ1ZSksbGluZXM6dW5kZWZpbmVkIH07XHJcbiAgXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncyAmJiB0aGlzLnNldHRpbmdzLmNvbHVtbnMpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5jb2x1bW5zLm9uQ29sTGlzdENoYW5nZSgoKSA9PiB0aGlzLmxhc3RDb2xzID0gdW5kZWZpbmVkKTtcclxuICAgICAgbGV0IGFyZWFTZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MgYXMgRGF0YUFyZWFTZXR0aW5nczxhbnk+O1xyXG4gICAgICBpZiAoYXJlYVNldHRpbmdzLnNldHRpbmdzKSB7XHJcbiAgICAgICAgaWYgKGFyZWFTZXR0aW5ncy5zZXR0aW5ncy5udW1iZXJPZkNvbHVtbkFyZWFzKVxyXG4gICAgICAgICAgdGhpcy5jb2x1bW5zID0gYXJlYVNldHRpbmdzLnNldHRpbmdzLm51bWJlck9mQ29sdW1uQXJlYXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgbGFzdENvbHM6IEFycmF5PENvbHVtblNldHRpbmc8YW55PltdPjtcclxuICBsYXN0QWxsQ29sczogQ29sdW1uU2V0dGluZzxhbnk+W107XHJcblxyXG4gIHRoZUNvbHVtbnMoKTogQXJyYXk8Q29sdW1uU2V0dGluZzxhbnk+W10+IHtcclxuXHJcblxyXG5cclxuICAgIGxldCBjb2xzID0gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLmdldE5vbkdyaWRDb2x1bW5zKCk7XHJcbiAgICBpZiAoY29scyA9PSB0aGlzLmxhc3RBbGxDb2xzKVxyXG4gICAgICByZXR1cm4gdGhpcy5sYXN0Q29scztcclxuICAgIHRoaXMubGFzdEFsbENvbHMgPSBjb2xzO1xyXG5cclxuICAgIGxldCByOiBBcnJheTxDb2x1bW5TZXR0aW5nPGFueT5bXT4gPSBbXTtcclxuICAgIHRoaXMubGFzdENvbHMgPSByO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmNvbHVtbnM7IGkrKykge1xyXG4gICAgICByLnB1c2goW10pO1xyXG4gICAgfVxyXG4gICAgbGV0IGl0ZW1zUGVyQ29sID0gTWF0aC5yb3VuZChjb2xzLmxlbmd0aCAvIHRoaXMuY29sdW1ucyk7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgcltNYXRoLmZsb29yKGkgLyBpdGVtc1BlckNvbCldLnB1c2goY29sc1tpXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubGFzdENvbHM7XHJcbiAgICBcclxuICB9XHJcbiAgQElucHV0KCkgY29sdW1ucyA9IDE7XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUFyZWEyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMvZGF0YS1hcmVhL2RhdGFBcmVhMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFxRCxNQUFNLGtCQUFrQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQy9FO0lBQUE7UUFVVyxhQUFRLEdBQXFCLEVBQUUsT0FBTyxFQUFFLElBQUksZ0JBQWdCOzs7WUFBQyxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7OztZQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxHQUFFLFNBQVM7OztZQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSSxFQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBOEN0SSxZQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUE3Q0MsdUNBQVc7OztJQUFYO1FBQUEsaUJBV0M7UUFWQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZTs7O1lBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUF6QixDQUF5QixFQUFDLENBQUM7O2dCQUNuRSxZQUFZLEdBQUcsbUJBQUEsSUFBSSxDQUFDLFFBQVEsRUFBeUI7WUFDekQsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUN6QixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsbUJBQW1CO29CQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7YUFDNUQ7U0FDRjtJQUdILENBQUM7Ozs7SUFLRCxzQ0FBVTs7O0lBQVY7O1lBSU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ3BELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs7WUFFcEIsQ0FBQyxHQUE2QixFQUFFO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDWjs7WUFDRyxxQkFBNkM7UUFDakQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFDckIscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDekM7WUFDSCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsR0FBRzs7OztZQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLENBQUMsRUFBSCxDQUFHLEVBQUMsQ0FBQztTQUM1Qzs7WUFDRyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBRXZCLENBQUM7O2dCQXZERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBRXJCLHNkQUErQjtvQkFFL0IsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2lCQUV0Qzs7OzJCQUdFLEtBQUs7MEJBOENMLEtBQUs7O0lBQ1Isd0JBQUM7Q0FBQSxBQXpERCxJQXlEQztTQWpEWSxpQkFBaUI7OztJQUU1QixxQ0FBK0k7O0lBZS9JLHFDQUFtQzs7SUFDbkMsd0NBQWtDOztJQThCbEMsb0NBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbHVtbkNvbGxlY3Rpb24sIERhdGFBcmVhU2V0dGluZ3MsIGRhdGFBcmVhU2V0dGluZ3MsIENvbHVtblNldHRpbmcgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRhLWFyZWEnLFxyXG5cclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YUFyZWEyLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGFBcmVhMi5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFBcmVhMkNvbXBuZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IGRhdGFBcmVhU2V0dGluZ3MgPSB7IGNvbHVtbnM6IG5ldyBDb2x1bW5Db2xsZWN0aW9uKCgpID0+IHVuZGVmaW5lZCwgKCkgPT4gZmFsc2UsIHVuZGVmaW5lZCwgKCkgPT4gdHJ1ZSksIGxpbmVzOiB1bmRlZmluZWQgfTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncyAmJiB0aGlzLnNldHRpbmdzLmNvbHVtbnMpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5jb2x1bW5zLm9uQ29sTGlzdENoYW5nZSgoKSA9PiB0aGlzLmxhc3RDb2xzID0gdW5kZWZpbmVkKTtcclxuICAgICAgbGV0IGFyZWFTZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MgYXMgRGF0YUFyZWFTZXR0aW5nczxhbnk+O1xyXG4gICAgICBpZiAoYXJlYVNldHRpbmdzLnNldHRpbmdzKSB7XHJcbiAgICAgICAgaWYgKGFyZWFTZXR0aW5ncy5zZXR0aW5ncy5udW1iZXJPZkNvbHVtbkFyZWFzKVxyXG4gICAgICAgICAgdGhpcy5jb2x1bW5zID0gYXJlYVNldHRpbmdzLnNldHRpbmdzLm51bWJlck9mQ29sdW1uQXJlYXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgbGFzdENvbHM6IENvbHVtblNldHRpbmc8YW55PltdW11bXTtcclxuICBsYXN0QWxsQ29sczogQ29sdW1uU2V0dGluZzxhbnk+W107XHJcblxyXG4gIHRoZUNvbHVtbnMoKTogQ29sdW1uU2V0dGluZzxhbnk+W11bXVtdIHtcclxuXHJcblxyXG5cclxuICAgIGxldCBjb2xzID0gdGhpcy5zZXR0aW5ncy5jb2x1bW5zLmdldE5vbkdyaWRDb2x1bW5zKCk7XHJcbiAgICBpZiAoY29scyA9PSB0aGlzLmxhc3RBbGxDb2xzKVxyXG4gICAgICByZXR1cm4gdGhpcy5sYXN0Q29scztcclxuICAgIHRoaXMubGFzdEFsbENvbHMgPSBjb2xzO1xyXG5cclxuICAgIGxldCByOiBDb2x1bW5TZXR0aW5nPGFueT5bXVtdW10gPSBbXTtcclxuICAgIHRoaXMubGFzdENvbHMgPSByO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmNvbHVtbnM7IGkrKykge1xyXG4gICAgICByLnB1c2goW10pO1xyXG4gICAgfVxyXG4gICAgbGV0IGxpbmVzVG9QbGFjZUluQ29sdW1uczogQ29sdW1uU2V0dGluZzxhbnk+W11bXTtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLmxpbmVzKVxyXG4gICAgICBsaW5lc1RvUGxhY2VJbkNvbHVtbnMgPSB0aGlzLnNldHRpbmdzLmxpbmVzO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxpbmVzVG9QbGFjZUluQ29sdW1ucyA9IGNvbHMubWFwKHggPT4gW3hdKTtcclxuICAgIH1cclxuICAgIGxldCBpdGVtc1BlckNvbCA9IE1hdGgucm91bmQobGluZXNUb1BsYWNlSW5Db2x1bW5zLmxlbmd0aCAvIHRoaXMuY29sdW1ucyk7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzVG9QbGFjZUluQ29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICByW01hdGguZmxvb3IoaSAvIGl0ZW1zUGVyQ29sKV0ucHVzaChsaW5lc1RvUGxhY2VJbkNvbHVtbnNbaV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmxhc3RDb2xzO1xyXG5cclxuICB9XHJcbiAgQElucHV0KCkgY29sdW1ucyA9IDE7XHJcbn1cclxuIl19 |
@@ -66,2 +66,4 @@ /** | ||
return false; | ||
if (!this._getEditable()) | ||
return false; | ||
if (this.map.allowClick === undefined) { | ||
@@ -75,2 +77,12 @@ return true; | ||
*/ | ||
DataControl2Component.prototype.click = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.showClick()) | ||
this.settings._click(this.map, this.record); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
DataControl2Component.prototype.getClickIcon = /** | ||
@@ -192,3 +204,3 @@ * @return {?} | ||
selector: 'data-control', | ||
template: "\r\n<div class=\"data-control2\">\r\n <mat-form-field appearance=\"outline\" [floatLabel]=\"getFloatLabel()\" *ngIf=\"!showCheckbox()\" class=\"full-width-form-field dense-form-field\">\r\n <mat-label>{{map.caption}}</mat-label>\r\n <div style=\"display:flex;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" [errorStateMatcher]=\"ngErrorStateMatches\"\r\n [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px;\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button matSuffix *ngIf=\"showClick()\" (click)=\"settings._click(map,record)\">\r\n <mat-icon>{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId\">{{getError()}}</mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\">{{map.caption}}</mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>", | ||
template: "<div class=\"data-control2\">\r\n <mat-form-field appearance=\"outline\" [floatLabel]=\"getFloatLabel()\" *ngIf=\"!showCheckbox()\"\r\n class=\"full-width-form-field dense-form-field\">\r\n <mat-label>{{map.caption}}</mat-label>\r\n <div style=\"display:flex;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" [errorStateMatcher]=\"ngErrorStateMatches\"\r\n [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px;width:100%;\" (click)=\"click()\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button matSuffix *ngIf=\"showClick()\" (click)=\"click()\">\r\n <mat-icon>{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId\">{{getError()}}</mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\">{{map.caption}}</mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>", | ||
styles: [""] | ||
@@ -221,2 +233,2 @@ }] } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0Q7SUFBQTtRQWdCVyxhQUFRLEdBQTBCLElBQUksZ0JBQWdCLENBQU0sU0FBUzs7O1FBQUUsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBb0VsSCx3QkFBbUIsR0FBRztZQUFrQixtQ0FBaUI7WUFDdkQsaUJBQW1CLE1BQTZCO2dCQUFoRCxZQUNFLGlCQUFPLFNBQ1I7Z0JBRmtCLFlBQU0sR0FBTixNQUFNLENBQXVCOztZQUVoRCxDQUFDOzs7O1lBQ0QsOEJBQVk7OztZQUFaO2dCQUNFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUNILGNBQUM7UUFBRCxDQUFDLEFBUHlCLENBQWMsaUJBQWlCLEdBT3ZELElBQUksQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQXJGQyxzQkFBYSx5Q0FBTTs7Ozs7UUFBbkIsVUFBb0IsS0FBa0I7WUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDVCxNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMs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RyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzFELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztnQkFqRkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixpMkRBQTZDOztpQkFFOUM7OztzQkFFRSxLQUFLO3lCQUNMLEtBQUs7eUJBT0wsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7O0lBNEVSLDRCQUFDO0NBQUEsQUE1RkQsSUE0RkM7U0F2RlkscUJBQXFCOzs7SUFDaEMsb0NBQWlDOztJQU9qQyxzQ0FBVzs7SUFDWCx1Q0FBNkI7O0lBQzdCLDRDQUE0Qjs7SUFDNUIseUNBQWtIOztJQW9FbEgsb0RBT1EiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29sdW1uQ29sbGVjdGlvbiwgQ29sdW1uU2V0dGluZywgRW50aXR5LCBDb2x1bW4sIFN0cmluZ0NvbHVtbiB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGEtY29udHJvbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtY29udHJvbDIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtY29udHJvbDIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRyb2wyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBtYXA6IENvbHVtblNldHRpbmc8YW55PjtcclxuICBASW5wdXQoKSBzZXQgY29sdW1uKHZhbHVlOiBDb2x1bW48YW55Pikge1xyXG4gICAgdGhpcy5tYXAgPSB7XHJcbiAgICAgIGNvbHVtbjogdmFsdWVcclxuICAgIH07XHJcbiAgICB0aGlzLm1hcC5jb2x1bW4uX19kZWNvcmF0ZURhdGFTZXR0aW5ncyh0aGlzLm1hcCk7XHJcbiAgfVxyXG4gIHRoZUlkOiBhbnk7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBFbnRpdHk8YW55PjtcclxuICBASW5wdXQoKSBub3RSZWFkb25seTogZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IENvbHVtbkNvbGxlY3Rpb248YW55PiA9IG5ldyBDb2x1bW5Db2xsZWN0aW9uPGFueT4odW5kZWZpbmVkLCAoKSA9PiB0cnVlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XHJcbiAgc2hvd0Rlc2NyaXB0aW9uKCkge1xyXG5cclxuICAgIHJldHVybiAodGhpcy5tYXAuY29sdW1uKSAmJiB0aGlzLm1hcC5nZXRWYWx1ZSB8fCAhdGhpcy5fZ2V0RWRpdGFibGUoKTtcclxuICB9XHJcbiAgc2hvd0NsaWNrKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcC5jbGljaylcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubWFwLmFsbG93Q2xpY2sgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1hcC5hbGxvd0NsaWNrKHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgZ2V0Q2xpY2tJY29uKCkge1xyXG4gICAgaWYgKHRoaXMubWFwLmNsaWNrSWNvbilcclxuICAgICAgcmV0dXJuIHRoaXMubWFwLmNsaWNrSWNvbjtcclxuICAgIHJldHVybiAna2V5Ym9hcmRfYXJyb3dfZG93bidcclxuICB9XHJcbiAgZGF0YUNvbnRyb2xTdHlsZSgpIHtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2RhdGFDb250cm9sU3R5bGUodGhpcy5tYXApO1xyXG4gIH1cclxuICBfZ2V0Q29sdW1uKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcC5jb2x1bW4pXHJcbiAgICAgIHJldHVybiBuZXcgU3RyaW5nQ29sdW1uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2dldENvbHVtbih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG5cclxuICB9XHJcbiAgX2dldEVkaXRhYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubm90UmVhZG9ubHkpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldEVkaXRhYmxlKHRoaXMubWFwKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuICBpc1NlbGVjdCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLm1hcC5kcm9wRG93bilcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIHNob3dUZXh0Qm94KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzU2VsZWN0KCkgJiYgIXRoaXMuc2hvd0NoZWNrYm94KCk7XHJcbiAgfVxyXG4gIHNob3dDaGVja2JveCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRDb2xEYXRhVHlwZSh0aGlzLm1hcCkgPT0gJ2NoZWNrYm94J1xyXG4gIH1cclxuICBnZXRFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRFcnJvcih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG4gIH1cclxuICBnZXRTdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLm1hcC5oaWRlRGF0YU9uSW5wdXQgfHwgIXRoaXMuX2dldEVkaXRhYmxlKCkpIHtcclxuICAgICAgICByZXR1cm4geyBkaXNwbGF5OiAnbm9uZScgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geyB3aWR0aDogJzUwcHgnIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG4gIGdldEZsb2F0TGFiZWwoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RGVzY3JpcHRpb24oKSkge1xyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5fZ2V0Q29sRGlzcGxheVZhbHVlKHRoaXMubWFwLCB0aGlzLnJlY29yZCkpXHJcbiAgICAgICAgcmV0dXJuICdhbHdheXMnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nRXJyb3JTdGF0ZU1hdGNoZXMgPSBuZXcgY2xhc3MgZXh0ZW5kcyBFcnJvclN0YXRlTWF0Y2hlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50OiBEYXRhQ29udHJvbDJDb21wb25lbnQpIHtcclxuICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIGlzRXJyb3JTdGF0ZSgpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5wYXJlbnQuZ2V0RXJyb3IoKTtcclxuICAgIH1cclxuICB9KHRoaXMpO1xyXG59XHJcblxyXG5cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0Q7SUFBQTtRQWdCVyxhQUFRLEdBQTBCLElBQUksZ0JBQWdCLENBQU0sU0FBUzs7O1FBQUUsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMEVsSCx3QkFBbUIsR0FBRztZQUFrQixtQ0FBaUI7WUFDdkQsaUJBQW1CLE1BQTZCO2dCQUFoRCxZQUNFLGlCQUFPLFNBQ1I7Z0JBRmtCLFlBQU0sR0FBTixNQUFNLENBQXVCOztZQUVoRCxDQUFDOzs7O1lBQ0QsOEJBQVk7OztZQUFaO2dCQUNFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUNILGNBQUM7UUFBRCxDQUFDLEFBUHlCLENBQWMsaUJBQWlCLEdBT3ZELElBQUksQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQTNGQyxzQkFBYSx5Q0FBTTs7Ozs7UUFBbkIsVUFBb0IsS0FBa0I7WUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDVCxNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMs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Q0FBQzthQUM1QjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Ozs7SUFDRCw2Q0FBYTs7O0lBQWI7UUFDRSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMxRCxPQUFPLFFBQVEsQ0FBQztTQUNuQjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7Z0JBdkZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsazNEQUE2Qzs7aUJBRTlDOzs7c0JBRUUsS0FBSzt5QkFDTCxLQUFLO3lCQU9MLEtBQUs7OEJBQ0wsS0FBSzsyQkFDTCxLQUFLOztJQWtGUiw0QkFBQztDQUFBLEFBbEdELElBa0dDO1NBN0ZZLHFCQUFxQjs7O0lBQ2hDLG9DQUFpQzs7SUFPakMsc0NBQVc7O0lBQ1gsdUNBQTZCOztJQUM3Qiw0Q0FBNEI7O0lBQzVCLHlDQUFrSDs7SUEwRWxILG9EQU9RIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbHVtbkNvbGxlY3Rpb24sIENvbHVtblNldHRpbmcsIEVudGl0eSwgQ29sdW1uLCBTdHJpbmdDb2x1bW4gfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRhLWNvbnRyb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWNvbnRyb2wyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWNvbnRyb2wyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFDb250cm9sMkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWFwOiBDb2x1bW5TZXR0aW5nPGFueT47XHJcbiAgQElucHV0KCkgc2V0IGNvbHVtbih2YWx1ZTogQ29sdW1uPGFueT4pIHtcclxuICAgIHRoaXMubWFwID0ge1xyXG4gICAgICBjb2x1bW46IHZhbHVlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXAuY29sdW1uLl9fZGVjb3JhdGVEYXRhU2V0dGluZ3ModGhpcy5tYXApO1xyXG4gIH1cclxuICB0aGVJZDogYW55O1xyXG4gIEBJbnB1dCgpIHJlY29yZDogRW50aXR5PGFueT47XHJcbiAgQElucHV0KCkgbm90UmVhZG9ubHk6IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBDb2x1bW5Db2xsZWN0aW9uPGFueT4gPSBuZXcgQ29sdW1uQ29sbGVjdGlvbjxhbnk+KHVuZGVmaW5lZCwgKCkgPT4gdHJ1ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xyXG4gIHNob3dEZXNjcmlwdGlvbigpIHtcclxuXHJcbiAgICByZXR1cm4gKHRoaXMubWFwLmNvbHVtbikgJiYgdGhpcy5tYXAuZ2V0VmFsdWUgfHwgIXRoaXMuX2dldEVkaXRhYmxlKCk7XHJcbiAgfVxyXG4gIHNob3dDbGljaygpIHtcclxuICAgIGlmICghdGhpcy5tYXAuY2xpY2spXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIGlmICghdGhpcy5fZ2V0RWRpdGFibGUoKSlcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubWFwLmFsbG93Q2xpY2sgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1hcC5hbGxvd0NsaWNrKHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgY2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5zaG93Q2xpY2soKSlcclxuICAgICAgdGhpcy5zZXR0aW5ncy5fY2xpY2sodGhpcy5tYXAsIHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgZ2V0Q2xpY2tJY29uKCkge1xyXG4gICAgaWYgKHRoaXMubWFwLmNsaWNrSWNvbilcclxuICAgICAgcmV0dXJuIHRoaXMubWFwLmNsaWNrSWNvbjtcclxuICAgIHJldHVybiAna2V5Ym9hcmRfYXJyb3dfZG93bidcclxuICB9XHJcbiAgZGF0YUNvbnRyb2xTdHlsZSgpIHtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2RhdGFDb250cm9sU3R5bGUodGhpcy5tYXApO1xyXG4gIH1cclxuICBfZ2V0Q29sdW1uKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcC5jb2x1bW4pXHJcbiAgICAgIHJldHVybiBuZXcgU3RyaW5nQ29sdW1uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2dldENvbHVtbih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG5cclxuICB9XHJcbiAgX2dldEVkaXRhYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubm90UmVhZG9ubHkpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldEVkaXRhYmxlKHRoaXMubWFwKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuICBpc1NlbGVjdCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLm1hcC5kcm9wRG93bilcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIHNob3dUZXh0Qm94KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzU2VsZWN0KCkgJiYgIXRoaXMuc2hvd0NoZWNrYm94KCk7XHJcbiAgfVxyXG4gIHNob3dDaGVja2JveCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRDb2xEYXRhVHlwZSh0aGlzLm1hcCkgPT0gJ2NoZWNrYm94J1xyXG4gIH1cclxuICBnZXRFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRFcnJvcih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG4gIH1cclxuICBnZXRTdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLm1hcC5oaWRlRGF0YU9uSW5wdXQgfHwgIXRoaXMuX2dldEVkaXRhYmxlKCkpIHtcclxuICAgICAgICByZXR1cm4geyBkaXNwbGF5OiAnbm9uZScgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geyB3aWR0aDogJzUwcHgnIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG4gIGdldEZsb2F0TGFiZWwoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RGVzY3JpcHRpb24oKSkge1xyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5fZ2V0Q29sRGlzcGxheVZhbHVlKHRoaXMubWFwLCB0aGlzLnJlY29yZCkpXHJcbiAgICAgICAgcmV0dXJuICdhbHdheXMnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nRXJyb3JTdGF0ZU1hdGNoZXMgPSBuZXcgY2xhc3MgZXh0ZW5kcyBFcnJvclN0YXRlTWF0Y2hlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50OiBEYXRhQ29udHJvbDJDb21wb25lbnQpIHtcclxuICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIGlzRXJyb3JTdGF0ZSgpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5wYXJlbnQuZ2V0RXJyb3IoKTtcclxuICAgIH1cclxuICB9KHRoaXMpO1xyXG59XHJcblxyXG5cclxuIl19 |
@@ -67,2 +67,4 @@ /** | ||
return false; | ||
if (!this._getEditable()) | ||
return false; | ||
if (this.map.allowClick === undefined) { | ||
@@ -107,2 +109,12 @@ return true; | ||
*/ | ||
DataControl3Component.prototype.click = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.showClick()) | ||
this.settings._click(this.map, this.record); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
DataControl3Component.prototype._getEditable = /** | ||
@@ -195,3 +207,3 @@ * @return {?} | ||
selector: 'data-control3', | ||
template: "<div class=\"data-control3\" #myDiv>\r\n <div style=\"display:flex;width:100%;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\"\r\n [errorStateMatcher]=\"ngErrorStateMatches\" [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px;\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\" class=\"my-select\" [class.rtl-select]=\"rightToLeft\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button *ngIf=\"showClick()\" (click)=\"settings._click(map,record)\" class=\"row-button\">\r\n <mat-icon style=\"height:19px;\">{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\"></mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>\r\n<mat-error *ngIf=\"getError()\" [id]=\"theId\" style=\"font-size: 75%;\">{{getError()}}</mat-error>", | ||
template: "<div class=\"data-control3\" #myDiv>\r\n <div style=\"display:flex;width:100%;\" *ngIf=\"showTextBox()\">\r\n <input #theId matInput [(ngModel)]=\"_getColumn().inputValue\" type=\"{{settings._getColDataType(map)}}\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\"\r\n [errorStateMatcher]=\"ngErrorStateMatches\" [ngStyle]=\"getStyle()\" />\r\n <div *ngIf=\"showDescription()\" style=\"white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding-left:10px; width:100%;\" (click)=\"click()\">\r\n {{settings._getColDisplayValue(map,record)}} </div>\r\n </div>\r\n <div *ngIf=\"isSelect()\" class=\"my-select\" [class.rtl-select]=\"rightToLeft\">\r\n <select matNativeControl [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\">\r\n <option *ngFor=\"let v of map.dropDown.items\" value=\"{{v.id}}\">{{v.caption}}</option>\r\n\r\n </select>\r\n </div>\r\n\r\n <button mat-icon-button *ngIf=\"showClick()\" (click)=\"click()\" class=\"row-button\">\r\n <mat-icon style=\"height:19px;\">{{getClickIcon()}} </mat-icon>\r\n </button>\r\n\r\n\r\n <div *ngIf=\"showCheckbox()\">\r\n <mat-checkbox #theId1 [(ngModel)]=\"_getColumn().inputValue\"\r\n (ngModelChange)=\"settings._colValueChanged(map,record)\" class=\"fix-label\"></mat-checkbox>\r\n <mat-error *ngIf=\"getError()\" [id]=\"theId1\">{{getError()}}</mat-error>\r\n </div>\r\n\r\n</div>\r\n<mat-error *ngIf=\"getError()\" [id]=\"theId\" style=\"font-size: 75%;\">{{getError()}}</mat-error>", | ||
styles: [".my-select::after{content:\"\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;pointer-events:none;color:rgba(0,0,0,.54);margin-top:-5px}.rtl-select::after{right:auto;left:0}.my-select{position:relative;width:100%}.data-control3{display:flex;width:100%}.row-button{height:auto;line-height:normal}input{border:none;outline:0;padding:0;margin:0;font-size:inherit;font-family:inherit}"] | ||
@@ -227,2 +239,2 @@ }] } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNEO0lBQUE7UUFhYSxnQkFBVyxHQUFDLEtBQUssQ0FBQztRQU1wQixhQUFRLEdBQTBCLElBQUksZ0JBQWdCLENBQU0sU0FBUzs7O1FBQUUsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBc0VsSCx3QkFBbUIsR0FBRztZQUFrQixtQ0FBaUI7WUFDdkQsaUJBQW1CLE1BQTZCO2dCQUFoRCxZQUNFLGlCQUFPLFNBQ1I7Z0JBRmtCLFlBQU0sR0FBTixNQUFNLENBQXVCOztZQUVoRCxDQUFDOzs7O1lBQ0QsOEJBQVk7OztZQUFaO2dCQUNFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUNILGNBQUM7UUFBRCxDQUFDLEFBUHlCLENBQWMsaUJBQWlCLEdBT3ZELElBQUksQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQTFGQyxzQkFBYSx5Q0FBTTs7Ozs7UUFBbkIsVUFBb0IsS0FBa0I7WUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDVCxNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0s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SSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDMUQsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O2dCQXRGRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLHlxREFBNkM7O2lCQUU5Qzs7O3NCQUVFLEtBQUs7eUJBQ0wsS0FBSzs4QkFNTCxLQUFLO3lCQUdMLEtBQUs7OEJBRUwsS0FBSzsyQkFDTCxLQUFLOztJQThFUiw0QkFBQztDQUFBLEFBakdELElBaUdDO1NBNUZZLHFCQUFxQjs7O0lBQ2hDLG9DQUFpQzs7SUFPakMsNENBQTZCOztJQUU3QixzQ0FBVzs7SUFDWCx1Q0FBNkI7O0lBRTdCLDRDQUE0Qjs7SUFDNUIseUNBQWtIOztJQXNFbEgsb0RBT1EiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29sdW1uQ29sbGVjdGlvbiwgQ29sdW1uU2V0dGluZywgRW50aXR5LCBDb2x1bW4sIFN0cmluZ0NvbHVtbiB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0ICxWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRhLWNvbnRyb2wzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1jb250cm9sMy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1jb250cm9sMy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhQ29udHJvbDNDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG1hcDogQ29sdW1uU2V0dGluZzxhbnk+O1xyXG4gIEBJbnB1dCgpIHNldCBjb2x1bW4odmFsdWU6IENvbHVtbjxhbnk+KSB7XHJcbiAgICB0aGlzLm1hcCA9IHtcclxuICAgICAgY29sdW1uOiB2YWx1ZVxyXG4gICAgfTtcclxuICAgIHRoaXMubWFwLmNvbHVtbi5fX2RlY29yYXRlRGF0YVNldHRpbmdzKHRoaXMubWFwKTtcclxuICB9XHJcbiAgQElucHV0KCkgICByaWdodFRvTGVmdD1mYWxzZTtcclxuIFxyXG4gIHRoZUlkOiBhbnk7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBFbnRpdHk8YW55PjtcclxuICBcclxuICBASW5wdXQoKSBub3RSZWFkb25seTogZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IENvbHVtbkNvbGxlY3Rpb248YW55PiA9IG5ldyBDb2x1bW5Db2xsZWN0aW9uPGFueT4odW5kZWZpbmVkLCAoKSA9PiB0cnVlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XHJcbiAgc2hvd0Rlc2NyaXB0aW9uKCkge1xyXG5cclxuICAgIHJldHVybiAodGhpcy5tYXAuY29sdW1uKSAmJiB0aGlzLm1hcC5nZXRWYWx1ZSB8fCAhdGhpcy5fZ2V0RWRpdGFibGUoKTtcclxuICB9XHJcbiAgc2hvd0NsaWNrKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcC5jbGljaylcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubWFwLmFsbG93Q2xpY2sgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1hcC5hbGxvd0NsaWNrKHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgZ2V0Q2xpY2tJY29uKCkge1xyXG4gICAgaWYgKHRoaXMubWFwLmNsaWNrSWNvbilcclxuICAgICAgcmV0dXJuIHRoaXMubWFwLmNsaWNrSWNvbjtcclxuICAgIHJldHVybiAna2V5Ym9hcmRfYXJyb3dfZG93bidcclxuICB9XHJcbiAgZGF0YUNvbnRyb2xTdHlsZSgpIHtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2RhdGFDb250cm9sU3R5bGUodGhpcy5tYXApO1xyXG4gIH1cclxuICBfZ2V0Q29sdW1uKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcC5jb2x1bW4pXHJcbiAgICAgIHJldHVybiBuZXcgU3RyaW5nQ29sdW1uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fX2dldENvbHVtbih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG5cclxuICB9XHJcbiAgX2dldEVkaXRhYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubm90UmVhZG9ubHkpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX2dldEVkaXRhYmxlKHRoaXMubWFwKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuICBpc1NlbGVjdCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLm1hcC5kcm9wRG93bilcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIHNob3dUZXh0Qm94KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzU2VsZWN0KCkgJiYgIXRoaXMuc2hvd0NoZWNrYm94KCk7XHJcbiAgfVxyXG4gIHNob3dDaGVja2JveCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRDb2xEYXRhVHlwZSh0aGlzLm1hcCkgPT0gJ2NoZWNrYm94J1xyXG4gIH1cclxuICBnZXRFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRFcnJvcih0aGlzLm1hcCwgdGhpcy5yZWNvcmQpO1xyXG4gIH1cclxuICBnZXRTdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLm1hcC5oaWRlRGF0YU9uSW5wdXQgfHwgIXRoaXMuX2dldEVkaXRhYmxlKCkpIHtcclxuICAgICAgICByZXR1cm4geyBkaXNwbGF5OiAnbm9uZScgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geyB3aWR0aDogJzUwcHgnIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB3aWR0aDonMTAwJSdcclxuICAgIH07XHJcbiAgfVxyXG4gIGdldEZsb2F0TGFiZWwoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RGVzY3JpcHRpb24oKSkge1xyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5fZ2V0Q29sRGlzcGxheVZhbHVlKHRoaXMubWFwLCB0aGlzLnJlY29yZCkpXHJcbiAgICAgICAgcmV0dXJuICdhbHdheXMnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nRXJyb3JTdGF0ZU1hdGNoZXMgPSBuZXcgY2xhc3MgZXh0ZW5kcyBFcnJvclN0YXRlTWF0Y2hlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50OiBEYXRhQ29udHJvbDNDb21wb25lbnQpIHtcclxuICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIGlzRXJyb3JTdGF0ZSgpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5wYXJlbnQuZ2V0RXJyb3IoKTtcclxuICAgIH1cclxuICB9KHRoaXMpO1xyXG59XHJcblxyXG5cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sMy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2FuZ3VsYXItY29tcG9uZW50cy9kYXRhLWNvbnRyb2wvZGF0YS1jb250cm9sMy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXdDLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNEO0lBQUE7UUFhVyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQU1wQixhQUFRLEdBQTBCLElBQUksZ0JBQWdCLENBQU0sU0FBUzs7O1FBQUUsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLEdBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBNEVsSCx3QkFBbUIsR0FBRztZQUFrQixtQ0FBaUI7WUFDdkQsaUJBQW1CLE1BQTZCO2dCQUFoRCxZQUNFLGlCQUFPLFNBQ1I7Z0JBRmtCLFlBQU0sR0FBTixNQUFNLENBQXVCOztZQUVoRCxDQUFDOzs7O1lBQ0QsOEJBQVk7OztZQUFaO2dCQUNFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUNILGNBQUM7UUFBRCxDQUFDLEFBUHlCLENBQWMsaUJBQWlCLEdBT3ZELElBQUksQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQWhHQyxzQkFBYSx5Q0FBTTs7Ozs7UUFBbkIsVUFBb0IsS0FBa0I7WUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDVCxNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0s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TyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUM1QjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLE1BQU07U0FDZCxDQUFDO0lBQ0osQ0FBQzs7OztJQUNELDZDQUFhOzs7SUFBYjtRQUNFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzFELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztnQkE1RkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixzckRBQTZDOztpQkFFOUM7OztzQkFFRSxLQUFLO3lCQUNMLEtBQUs7OEJBTUwsS0FBSzt5QkFHTCxLQUFLOzhCQUVMLEtBQUs7MkJBQ0wsS0FBSzs7SUFvRlIsNEJBQUM7Q0FBQSxBQXZHRCxJQXVHQztTQWxHWSxxQkFBcUI7OztJQUNoQyxvQ0FBaUM7O0lBT2pDLDRDQUE2Qjs7SUFFN0Isc0NBQVc7O0lBQ1gsdUNBQTZCOztJQUU3Qiw0Q0FBNEI7O0lBQzVCLHlDQUFrSDs7SUE0RWxILG9EQU9RIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbHVtbkNvbGxlY3Rpb24sIENvbHVtblNldHRpbmcsIEVudGl0eSwgQ29sdW1uLCBTdHJpbmdDb2x1bW4gfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGEtY29udHJvbDMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWNvbnRyb2wzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFDb250cm9sM0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWFwOiBDb2x1bW5TZXR0aW5nPGFueT47XHJcbiAgQElucHV0KCkgc2V0IGNvbHVtbih2YWx1ZTogQ29sdW1uPGFueT4pIHtcclxuICAgIHRoaXMubWFwID0ge1xyXG4gICAgICBjb2x1bW46IHZhbHVlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYXAuY29sdW1uLl9fZGVjb3JhdGVEYXRhU2V0dGluZ3ModGhpcy5tYXApO1xyXG4gIH1cclxuICBASW5wdXQoKSByaWdodFRvTGVmdCA9IGZhbHNlO1xyXG5cclxuICB0aGVJZDogYW55O1xyXG4gIEBJbnB1dCgpIHJlY29yZDogRW50aXR5PGFueT47XHJcblxyXG4gIEBJbnB1dCgpIG5vdFJlYWRvbmx5OiBmYWxzZTtcclxuICBASW5wdXQoKSBzZXR0aW5nczogQ29sdW1uQ29sbGVjdGlvbjxhbnk+ID0gbmV3IENvbHVtbkNvbGxlY3Rpb248YW55Pih1bmRlZmluZWQsICgpID0+IHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcclxuICBzaG93RGVzY3JpcHRpb24oKSB7XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLm1hcC5jb2x1bW4pICYmIHRoaXMubWFwLmdldFZhbHVlIHx8ICF0aGlzLl9nZXRFZGl0YWJsZSgpO1xyXG4gIH1cclxuICBzaG93Q2xpY2soKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwLmNsaWNrKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAoIXRoaXMuX2dldEVkaXRhYmxlKCkpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIGlmICh0aGlzLm1hcC5hbGxvd0NsaWNrID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5tYXAuYWxsb3dDbGljayh0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG4gIGdldENsaWNrSWNvbigpIHtcclxuICAgIGlmICh0aGlzLm1hcC5jbGlja0ljb24pXHJcbiAgICAgIHJldHVybiB0aGlzLm1hcC5jbGlja0ljb247XHJcbiAgICByZXR1cm4gJ2tleWJvYXJkX2Fycm93X2Rvd24nXHJcbiAgfVxyXG4gIGRhdGFDb250cm9sU3R5bGUoKSB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX19kYXRhQ29udHJvbFN0eWxlKHRoaXMubWFwKTtcclxuICB9XHJcbiAgX2dldENvbHVtbigpIHtcclxuICAgIGlmICghdGhpcy5tYXAuY29sdW1uKVxyXG4gICAgICByZXR1cm4gbmV3IFN0cmluZ0NvbHVtbigpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuX19nZXRDb2x1bW4odGhpcy5tYXAsIHRoaXMucmVjb3JkKTtcclxuXHJcbiAgfVxyXG4gIGNsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0NsaWNrKCkpXHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuX2NsaWNrKHRoaXMubWFwLCB0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG4gIF9nZXRFZGl0YWJsZSgpIHtcclxuICAgIGlmICh0aGlzLm5vdFJlYWRvbmx5KVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLl9nZXRFZGl0YWJsZSh0aGlzLm1hcCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG5cclxuICB9XHJcbiAgaXNTZWxlY3QoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5tYXAuZHJvcERvd24pXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBzaG93VGV4dEJveCgpIHtcclxuICAgIHJldHVybiAhdGhpcy5pc1NlbGVjdCgpICYmICF0aGlzLnNob3dDaGVja2JveCgpO1xyXG4gIH1cclxuICBzaG93Q2hlY2tib3goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fZ2V0Q29sRGF0YVR5cGUodGhpcy5tYXApID09ICdjaGVja2JveCdcclxuICB9XHJcbiAgZ2V0RXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5fZ2V0RXJyb3IodGhpcy5tYXAsIHRoaXMucmVjb3JkKTtcclxuICB9XHJcbiAgZ2V0U3R5bGUoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RGVzY3JpcHRpb24oKSkge1xyXG4gICAgICBpZiAodGhpcy5tYXAuaGlkZURhdGFPbklucHV0IHx8ICF0aGlzLl9nZXRFZGl0YWJsZSgpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogJ25vbmUnIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHsgd2lkdGg6ICc1MHB4JyB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfTtcclxuICB9XHJcbiAgZ2V0RmxvYXRMYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLnNob3dEZXNjcmlwdGlvbigpKSB7XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLl9nZXRDb2xEaXNwbGF5VmFsdWUodGhpcy5tYXAsIHRoaXMucmVjb3JkKSlcclxuICAgICAgICByZXR1cm4gJ2Fsd2F5cyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdFcnJvclN0YXRlTWF0Y2hlcyA9IG5ldyBjbGFzcyBleHRlbmRzIEVycm9yU3RhdGVNYXRjaGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXJlbnQ6IERhdGFDb250cm9sM0NvbXBvbmVudCkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgaXNFcnJvclN0YXRlKCkge1xyXG4gICAgICByZXR1cm4gISF0aGlzLnBhcmVudC5nZXRFcnJvcigpO1xyXG4gICAgfVxyXG4gIH0odGhpcyk7XHJcbn1cclxuXHJcblxyXG4iXX0= |
@@ -7,4 +7,4 @@ /** | ||
import { Injectable } from "@angular/core"; | ||
import { RestDataProvider, Action, angularHttpProvider } from "../core/restDataProvider"; | ||
import { DataList, ColumnHashSet, GridSettings, Lookup } from "../core/utils"; | ||
import { RestDataProvider, Action, AngularHttpProvider } from "../core/restDataProvider"; | ||
import { ColumnHashSet, GridSettings, Lookup, extractSortFromSettings, DropDownSource } from "../core/utils"; | ||
import { InMemoryDataProvider } from "../core/inMemoryDatabase"; | ||
@@ -22,3 +22,3 @@ import { HttpClient } from "@angular/common/http"; | ||
/** @type {?} */ | ||
var prov = new angularHttpProvider(http); | ||
var prov = new AngularHttpProvider(http); | ||
this._dataSource = new RestDataProvider(Context.apiBaseUrl, prov | ||
@@ -190,6 +190,4 @@ //,new restDataProviderHttpProviderUsingFetch() | ||
var e = new c(_this); | ||
e.setSource(dataSource); | ||
e._setContext(_this); | ||
return e; | ||
}), this._lookupCache, this); | ||
}), this._lookupCache, this, dataSource); | ||
dsCache.set(classKey, r); | ||
@@ -219,3 +217,3 @@ } | ||
case 0: | ||
ref = this._dialog.open(component); | ||
ref = this._dialog.open(component, component[dialogConfigMember]); | ||
setParameters(ref.componentInstance); | ||
@@ -378,7 +376,18 @@ return [4 /*yield*/, ref.beforeClose().toPromise()]; | ||
SpecificEntityHelper = /** @class */ (function () { | ||
function SpecificEntityHelper(factory, _lookupCache, context) { | ||
this.factory = factory; | ||
function SpecificEntityHelper(create, _lookupCache, context, dataSource) { | ||
var _this = this; | ||
this.create = create; | ||
this._lookupCache = _lookupCache; | ||
this.context = context; | ||
this.create = (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
var e = create(); | ||
e.__entityData.dataProvider = _this._edp; | ||
return e; | ||
}); | ||
this.entity = this.create(); | ||
this._edp = dataSource.getEntityDataProvider(this.entity); | ||
} | ||
@@ -407,3 +416,3 @@ /** | ||
if (!lookup) { | ||
lookup = new Lookup(this.entity); | ||
lookup = new Lookup(this.entity, this); | ||
this._lookupCache.push({ key: key, lookup: lookup }); | ||
@@ -435,3 +444,3 @@ } | ||
if (!lookup) { | ||
lookup = new Lookup(this.entity); | ||
lookup = new Lookup(this.entity, this); | ||
this._lookupCache.push({ key: key, lookup: lookup }); | ||
@@ -451,8 +460,5 @@ } | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var dl; | ||
return tslib_1.__generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
dl = new DataList(this.entity); | ||
return [4 /*yield*/, dl.count(where)]; | ||
case 0: return [4 /*yield*/, this._edp.count(where ? where(this.entity) : undefined)]; | ||
case 1: return [2 /*return*/, _a.sent()]; | ||
@@ -475,11 +481,8 @@ } | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var e_3, _a, options, items, items_1, items_1_1, item, e_3_1; | ||
var e_3, _a, items, items_1, items_1_1, item, e_3_1; | ||
return tslib_1.__generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
options = {}; | ||
if (where) { | ||
options.where = where(this.entity); | ||
} | ||
return [4 /*yield*/, this.entity.source.find(options)]; | ||
case 0: return [4 /*yield*/, this.find({ | ||
where: where | ||
})]; | ||
case 1: | ||
@@ -519,2 +522,29 @@ items = _b.sent(); | ||
/** | ||
* @private | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
SpecificEntityHelper.prototype.translateOptions = /** | ||
* @private | ||
* @param {?} options | ||
* @return {?} | ||
*/ | ||
function (options) { | ||
if (!options) | ||
return undefined; | ||
/** @type {?} */ | ||
var getOptions = {}; | ||
if (options.where) | ||
getOptions.where = options.where(this.entity); | ||
if (options.orderBy) | ||
getOptions.orderBy = extractSortFromSettings(this.entity, options); | ||
if (options.limit) | ||
getOptions.limit = options.limit; | ||
if (options.page) | ||
getOptions.page = options.page; | ||
if (options.additionalUrlParameters) | ||
getOptions.additionalUrlParameters = options.additionalUrlParameters; | ||
return getOptions; | ||
}; | ||
/** | ||
* @param {?=} options | ||
@@ -529,9 +559,19 @@ * @return {?} | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var dl; | ||
var r; | ||
var _this = this; | ||
return tslib_1.__generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
dl = new DataList(this.entity); | ||
return [4 /*yield*/, dl.get(options)]; | ||
case 1: return [2 /*return*/, _a.sent()]; | ||
case 0: return [4 /*yield*/, this._edp.find(this.translateOptions(options))]; | ||
case 1: | ||
r = _a.sent(); | ||
return [2 /*return*/, r.map((/** | ||
* @param {?} i | ||
* @return {?} | ||
*/ | ||
function (i) { | ||
/** @type {?} */ | ||
var r = _this.create(); | ||
r.__entityData.setData(i, r); | ||
return r; | ||
}))]; | ||
} | ||
@@ -542,2 +582,16 @@ }); | ||
/** | ||
* @param {?} r | ||
* @return {?} | ||
*/ | ||
SpecificEntityHelper.prototype.fromPojo = /** | ||
* @param {?} r | ||
* @return {?} | ||
*/ | ||
function (r) { | ||
/** @type {?} */ | ||
var f = (/** @type {?} */ (this.create())); | ||
f.__entityData.setData(r, f); | ||
return f; | ||
}; | ||
/** | ||
* @param {?=} where | ||
@@ -555,3 +609,3 @@ * @return {?} | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, this.entity.source.find({ where: where ? where(this.entity) : undefined })]; | ||
case 0: return [4 /*yield*/, this.find({ where: where })]; | ||
case 1: | ||
@@ -585,20 +639,22 @@ r = _a.sent(); | ||
/** | ||
* @param {?=} settings | ||
* @return {?} | ||
*/ | ||
SpecificEntityHelper.prototype.create = /** | ||
SpecificEntityHelper.prototype.gridSettings = /** | ||
* @param {?=} settings | ||
* @return {?} | ||
*/ | ||
function () { | ||
return this.factory(); | ||
function (settings) { | ||
return new GridSettings(this, this.context, settings); | ||
}; | ||
/** | ||
* @param {?=} settings | ||
* @param {?=} args | ||
* @return {?} | ||
*/ | ||
SpecificEntityHelper.prototype.gridSettings = /** | ||
* @param {?=} settings | ||
SpecificEntityHelper.prototype.dropDownSource = /** | ||
* @param {?=} args | ||
* @return {?} | ||
*/ | ||
function (settings) { | ||
return new GridSettings(this.entity, settings); | ||
function (args) { | ||
return new DropDownSource(this, args); | ||
}; | ||
@@ -621,3 +677,5 @@ return SpecificEntityHelper; | ||
*/ | ||
SpecificEntityHelper.prototype.factory; | ||
SpecificEntityHelper.prototype._edp; | ||
/** @type {?} */ | ||
SpecificEntityHelper.prototype.create; | ||
/** | ||
@@ -662,3 +720,3 @@ * @type {?} | ||
var _this = _super.apply(this, tslib_1.__spread(args)) || this; | ||
_this._setFactoryClassAndDoInitColumns(f); | ||
_this.__initColumns(((/** @type {?} */ (_this))).id); | ||
if (!_this.__options.name) { | ||
@@ -741,2 +799,18 @@ _this.__options.name = original.name; | ||
; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDcEcsT0FBTyxFQUErQyxRQUFRLEVBQUUsYUFBYSxFQUFpQixZQUFZLEVBQTZDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyTCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtyRDtJQVVJLGlCQUFZLElBQWlCLEVBQVUsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQTBCaEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQTJDNUIsVUFBSyxHQUFHLElBQUksR0FBRyxFQUE0RSxDQUFDO1FBbUM1RixpQkFBWSxHQUF1QixFQUFFLENBQUM7UUF2R2xDLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTs7Z0JBQ3hCLElBQUksR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFDcEQsSUFBSTtZQUNOLCtDQUErQzthQUNsRCxDQUFDO1lBQ0YsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUI7YUFDSTtZQUNELElBQUksQ0FBQyxXQUFXLEdB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SUFBQTtJQUVBLENBQUM7SUFBRCxnQkFBQztBQUFELENBQUMsQUFGRCxJQUVDOzs7Ozs7Ozs7OztJQURHLGlEQUF1RDs7O0FBRzNEOzs7SUFDSSxjQUFtQixHQUFXO1FBQVgsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUU5QixDQUFDOzs7OztJQUNNLFFBQUc7Ozs7SUFBVixVQUFXLE9BQWdCO1FBQ3ZCOzs7O1FBQU8sVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQXJCLENBQXFCLEVBQUM7SUFDdEMsQ0FBQztJQUNMLFdBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQzs7Ozs7SUFOZSxtQkFBa0I7O0FBTzZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGF0YVByb3ZpZGVyRmFjdG9yeSwgRGF0YUFwaVJlcXVlc3QsIEZpbHRlckJhc2UsIEVudGl0eVNvdXJjZUZpbmRPcHRpb25zLCBGaW5kT3B0aW9uc1BlckVudGl0eSB9IGZyb20gXCIuLi9jb3JlL2RhdGFJbnRlcmZhY2VzMVwiO1xyXG5pbXBvcnQgeyBSZXN0RGF0YVByb3ZpZGVyLCBBY3Rpb24sIGFuZ3VsYXJIdHRwUHJvdmlkZXIsIHdyYXBGZXRjaCB9IGZyb20gXCIuLi9jb3JlL3Jlc3REYXRhUHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlPcHRpb25zLCBOdW1iZXJDb2x1bW4sIENvbHVtbiwgRGF0YUxpc3QsIENvbHVtbkhhc2hTZXQsIElEYXRhU2V0dGluZ3MsIEdyaWRTZXR0aW5ncywgRW50aXR5U291cmNlLCBTUUxRdWVyeVJlc3VsdCwgTG9va3VwQ2FjaGUsIExvb2t1cCB9IGZyb20gXCIuLi9jb3JlL3V0aWxzXCI7XHJcbmltcG9ydCB7IEluTWVtb3J5RGF0YVByb3ZpZGVyIH0gZnJvbSBcIi4uL2NvcmUvaW5NZW1vcnlEYXRhYmFzZVwiO1xyXG5pbXBvcnQgeyBEYXRhQXBpU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmVyL0RhdGFBcGlcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc1N0cmluZywgaXNCb29sZWFuIH0gZnJvbSBcInV0aWxcIjtcclxuaW1wb3J0IHsgQnVzeVNlcnZpY2UgfSBmcm9tIFwiLi4vYW5ndWxhci1jb21wb25lbnRzL3dhaXQvYnVzeS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0IHtcclxuICAgIGNsZWFyQWxsQ2FjaGUoKTogYW55IHtcclxuICAgICAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBpc1NpZ25lZEluKCkge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlcjtcclxuICAgIH1cclxuICAgIGNvbnN0cnVjdG9yKGh0dHA/OiBIdHRwQ2xpZW50LCBwcml2YXRlIF9kaWFsb2c/OiBNYXREaWFsb2cpIHtcclxuICAgICAgICBpZiAoaHR0cCBpbnN0YW5jZW9mIEh0dHBDbGllbnQpIHtcclxuICAgICAgICAgICAgdmFyIHByb3YgPSBuZXcgYW5ndWxhckh0dHBQcm92aWRlcihodHRwKTtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IG5ldyBSZXN0RGF0YVByb3ZpZGVyKENvbnRleHQuYXBpQmFzZVVybFxyXG4gICAgICAgICAgICAgICAgLCBwcm92XHJcbiAgICAgICAgICAgICAgICAvLyxuZXcgcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlclVzaW5nRmV0Y2goKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBBY3Rpb24ucHJvdmlkZXIgPSBwcm92O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IG5ldyBJbk1lbW9yeURhdGFQcm92aWRlcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRDb29raWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgZ2V0SG9zdCgpIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBnZXRQYXRoSW5VcmwoKXtcclxuICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO1xyXG4gICAgfVxyXG5cclxuIFxyXG4gICAgcHJvdGVjdGVkIF9kYXRhU291cmNlOiBEYXRhUHJvdmlkZXJGYWN0b3J5O1xyXG4gICAgcHJvdGVjdGVkIF9vblNlcnZlciA9IGZhbHNlO1xyXG4gICAgZ2V0IG9uU2VydmVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9vblNlcnZlcjtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfdXNlcjogVXNlckluZm87XHJcbiAgICBnZXQgdXNlcigpIHsgcmV0dXJuIHRoaXMuX3VzZXI7IH1cclxuXHJcbiAgICBfc2V0VXNlcihpbmZvOiBVc2VySW5mbykge1xyXG4gICAgICAgIHRoaXMuX3VzZXIgPSBpbmZvO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGFwaUJhc2VVcmwgPSAnYXBpJztcclxuXHJcbiAgICBpc0FsbG93ZWQocm9sZXM6IEFsbG93ZWQpIHtcclxuICAgICAgICBpZiAocm9sZXMgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChyb2xlcyBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qgcm9sZSBvZiByb2xlcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd2VkKHJvbGUpID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ocm9sZXMpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoPGFueT5yb2xlcykodGhpcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0Jvb2xlYW4ocm9sZXMpKVxyXG4gICAgICAgICAgICByZXR1cm4gcm9sZXM7XHJcblxyXG4gICAgICAgIGlmIChyb2xlcyBpbnN0YW5jZW9mIFJvbGUpIHtcclxuICAgICAgICAgICAgcm9sZXMgPSByb2xlcy5rZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy51c2VyKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKGlzU3RyaW5nKHJvbGVzKSlcclxuICAgICAgICAgICAgaWYgKHRoaXMudXNlci5yb2xlcy5pbmRleE9mKHJvbGVzLnRvU3RyaW5nKCkpID49IDApXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWNoZSA9IG5ldyBNYXA8RGF0YVByb3ZpZGVyRmFjdG9yeSwgTWFwPHN0cmluZywgU3BlY2lmaWNFbnRpdHlIZWxwZXI8YW55LCBFbnRpdHk8YW55Pj4+PigpO1xyXG4gICAgcHVibGljIGZvcjxsb29rdXBJZFR5cGUsIFQgZXh0ZW5kcyBFbnRpdHk8bG9va3VwSWRUeXBlPj4oYzogeyBuZXcoLi4uYXJnczogYW55W10pOiBUOyB9LCBkYXRhU291cmNlPzogRGF0YVByb3ZpZGVyRmFjdG9yeSkge1xyXG4gICAgICAgIGlmICghZGF0YVNvdXJjZSlcclxuICAgICAgICAgICAgZGF0YVNvdXJjZSA9IHRoaXMuX2RhdGFTb3VyY2U7XHJcblxyXG4gICAgICAgIGxldCBkc0NhY2hlID0gdGhpcy5jYWNoZS5nZXQoZGF0YVNvdXJjZSk7XHJcbiAgICAgICAgaWYgKCFkc0NhY2hlKSB7XHJcbiAgICAgICAgICAgIGRzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgU3BlY2lmaWNFbnRpdHlIZWxwZXI8YW55LCBFbnRpdHk8YW55Pj4+KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGRhdGFTb3VyY2UsIGRzQ2FjaGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgY2xhc3NUeXBlID0gYyBhcyBhbnk7XHJcbiAgICAgICAgbGV0IGNsYXNzS2V5ID0gY2xhc3NUeXBlLl9fa2V5O1xyXG4gICAgICAgIGxldCByID0gZHNDYWNoZS5nZXQoY2xhc3NLZXkpIGFzIFNwZWNpZmljRW50aXR5SGVscGVyPGxvb2t1cElkVHlwZSwgVD47XHJcbiAgICAgICAgaWYgKCFyKSB7XHJcbiAgICAgICAgICAgIHIgPSBuZXcgU3BlY2lmaWNFbnRpdHlIZWxwZXI8bG9va3VwSWRUeXBlLCBUPigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZSA9IG5ldyBjKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgZS5zZXRTb3VyY2UoZGF0YVNvdXJjZSk7XHJcbiAgICAgICAgICAgICAgICBlLl9zZXRDb250ZXh0KHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGU7XHJcbiAgICAgICAgICAgIH0sIHRoaXMuX2xvb2t1cENhY2hlLCB0aGlzKTtcclxuICAgICAgICAgICAgZHNDYWNoZS5zZXQoY2xhc3NLZXksIHIpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICByZXR1cm4gcjtcclxuICAgIH1cclxuICAgIGFzeW5jIG9wZW5EaWFsb2c8VCwgQz4oY29tcG9uZW50OiB7IG5ldyguLi5hcmdzOiBhbnlbXSk6IEM7IH0sIHNldFBhcmFtZXRlcnM6IChpdDogQykgPT4gdm9pZCwgcmV0dXJuQVZhbHVlPzogKGl0OiBDKSA9PiBUKSB7XHJcbiAgICAgICAgbGV0IHJlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKGNvbXBvbmVudCk7XHJcbiAgICAgICAgc2V0UGFyYW1ldGVycyhyZWYuY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICAgICAgIGF3YWl0IHJlZi5iZWZvcmVDbG9zZSgpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmIChyZXR1cm5BVmFsdWUpXHJcbiAgICAgICAgICAgIHJldHVybiByZXR1cm5BVmFsdWUocmVmLmNvbXBvbmVudEluc3RhbmNlKTtcclxuICAgIH1cclxuXHJcbiAgICBfbG9va3VwQ2FjaGU6IExvb2t1cENhY2hlPGFueT5bXSA9IFtdO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGF0YVByb3ZpZGVyRmFjdG9yeUJ1aWxkZXIgPSAocmVxOiBDb250ZXh0KSA9PiBEYXRhUHJvdmlkZXJGYWN0b3J5O1xyXG5leHBvcnQgY2xhc3MgU2VydmVyQ29udGV4dCBleHRlbmRzIENvbnRleHQge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIodW5kZWZpbmVkKTtcclxuICAgICAgICB0aGlzLl9vblNlcnZlciA9IHRydWU7XHJcblxyXG5cclxuICAgIH1cclxuICAgIGdldEhvc3QoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxLmdldEhlYWRlcignaG9zdCcpO1xyXG4gICAgfVxyXG4gICAgZ2V0UGF0aEluVXJsKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxLmdldEJhc2VVcmwoKTtcclxuICAgIH1cclxuICAgIGdldENvb2tpZShuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgY29va2llID0gdGhpcy5yZXEuZ2V0SGVhZGVyKCdjb29raWUnKTtcclxuICAgICAgICBpZiAoY29va2llKVxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZXJhdG9yIG9mIGNvb2tpZS5zcGxpdCgnOycpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXRlbUluZm8gPSBpdGVyYXRvci5zcGxpdCgnPScpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1JbmZvICYmIGl0ZW1JbmZvWzBdLnRyaW0oKSA9PSBuYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1JbmZvWzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgcmVxOiBEYXRhQXBpUmVxdWVzdDtcclxuXHJcbiAgICBzZXRSZXEocmVxOiBEYXRhQXBpUmVxdWVzdCkge1xyXG4gICAgICAgIHRoaXMucmVxID0gcmVxO1xyXG4gICAgICAgIHRoaXMuX3VzZXIgPSByZXEudXNlciA/IHJlcS51c2VyIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc2V0RGF0YVByb3ZpZGVyKGRhdGFQcm92aWRlcjogRGF0YVByb3ZpZGVyRmFjdG9yeSkge1xyXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBkYXRhUHJvdmlkZXI7XHJcbiAgICB9XHJcbiAgICBnZXRPcmlnaW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxLmdldEhlYWRlcignb3JpZ2luJylcclxuICAgIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTcGVjaWZpY0VudGl0eUhlbHBlcjxsb29rdXBJZFR5cGUsIFQgZXh0ZW5kcyBFbnRpdHk8bG9va3VwSWRUeXBlPj4ge1xyXG4gICAgcHJpdmF0ZSBlbnRpdHk6IFQ7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6ICgpID0+IFQsIHByaXZhdGUgX2xvb2t1cENhY2hlOiBMb29rdXBDYWNoZTxhbnk+W10sIHByaXZhdGUgY29udGV4dDogQ29udGV4dCkge1xyXG4gICAgICAgIHRoaXMuZW50aXR5ID0gdGhpcy5jcmVhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBsb29rdXAoZmlsdGVyOiBDb2x1bW48bG9va3VwSWRUeXBlPiB8ICgoZW50aXR5VHlwZTogVCkgPT4gRmlsdGVyQmFzZSkpOiBUIHtcclxuXHJcbiAgICAgICAgbGV0IGtleSA9IHRoaXMuZW50aXR5Ll9fZ2V0TmFtZSgpO1xyXG4gICAgICAgIGxldCBsb29rdXA6IExvb2t1cDxsb29rdXBJZFR5cGUsIFQ+O1xyXG4gICAgICAgIHRoaXMuX2xvb2t1cENhY2hlLmZvckVhY2gobCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChsLmtleSA9PSBrZXkpXHJcbiAgICAgICAgICAgICAgICBsb29rdXAgPSBsLmxvb2t1cDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIWxvb2t1cCkge1xyXG4gICAgICAgICAgICBsb29rdXAgPSBuZXcgTG9va3VwKHRoaXMuZW50aXR5KTtcclxuICAgICAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUucHVzaCh7IGtleSwgbG9va3VwIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbG9va3VwLmdldChmaWx0ZXIpO1xyXG5cclxuICAgIH1cclxuICAgIGxvb2t1cEFzeW5jKGZpbHRlcjogQ29sdW1uPGxvb2t1cElkVHlwZT4gfCAoKGVudGl0eVR5cGU6IFQpID0+IEZpbHRlckJhc2UpKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSB0aGlzLmVudGl0eS5fX2dldE5hbWUoKTtcclxuICAgICAgICBsZXQgbG9va3VwOiBMb29rdXA8bG9va3VwSWRUeXBlLCBUPjtcclxuICAgICAgICB0aGlzLl9sb29rdXBDYWNoZS5mb3JFYWNoKGwgPT4ge1xyXG4gICAgICAgICAgICBpZiAobC5rZXkgPT0ga2V5KVxyXG4gICAgICAgICAgICAgICAgbG9va3VwID0gbC5sb29rdXA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFsb29rdXApIHtcclxuICAgICAgICAgICAgbG9va3VwID0gbmV3IExvb2t1cCh0aGlzLmVudGl0eSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvb2t1cENhY2hlLnB1c2goeyBrZXksIGxvb2t1cCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxvb2t1cC53aGVuR2V0KGZpbHRlcik7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhc3luYyBjb3VudCh3aGVyZT86IChlbnRpdHk6IFQpID0+IEZpbHRlckJhc2UpIHtcclxuICAgICAgICBsZXQgZGwgPSBuZXcgRGF0YUxpc3QodGhpcy5lbnRpdHkpO1xyXG4gICAgICAgIHJldHVybiBhd2FpdCBkbC5jb3VudCh3aGVyZSk7XHJcbiAgICB9XHJcbiAgICBhc3luYyBmb3JlYWNoKHdoZXJlOiAoZW50aXR5OiBUKSA9PiBGaWx0ZXJCYXNlLCB3aGF0PzogKGVudGl0eTogVCkgPT4gUHJvbWlzZTx2b2lkPikge1xyXG5cclxuICAgICAgICBsZXQgb3B0aW9uczogRW50aXR5U291cmNlRmluZE9wdGlvbnMgPSB7fTtcclxuICAgICAgICBpZiAod2hlcmUpIHtcclxuICAgICAgICAgICAgb3B0aW9ucy53aGVyZSA9IHdoZXJlKHRoaXMuZW50aXR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gYXdhaXQgdGhpcy5lbnRpdHkuc291cmNlLmZpbmQob3B0aW9ucyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHdoYXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIGFzeW5jIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zUGVyRW50aXR5PFQ+KSB7XHJcbiAgICAgICAgbGV0IGRsID0gbmV3IERhdGFMaXN0KHRoaXMuZW50aXR5KTtcclxuICAgICAgICByZXR1cm4gYXdhaXQgZGwuZ2V0KG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgZmluZEZpcnN0KHdoZXJlPzogKGVudGl0eTogVCkgPT4gRmlsdGVyQmFzZSkge1xyXG4gICAgICAgIGxldCByID0gYXdhaXQgdGhpcy5lbnRpdHkuc291cmNlLmZpbmQoeyB3aGVyZTogd2hlcmUgPyB3aGVyZSh0aGlzLmVudGl0eSkgOiB1bmRlZmluZWQgfSk7XHJcbiAgICAgICAgaWYgKHIubGVuZ3RoID09IDApXHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgcmV0dXJuIHJbMF07XHJcbiAgICB9XHJcbiAgICB0b1Bvam9BcnJheShpdGVtczogVFtdKSB7XHJcbiAgICAgICAgbGV0IGV4YyA9IG5ldyBDb2x1bW5IYXNoU2V0KCk7XHJcblxyXG4gICAgICAgIGV4Yy5hZGQoLi4udGhpcy5lbnRpdHkuX2dldEV4Y2x1ZGVkQ29sdW1ucyh0aGlzLmVudGl0eSwgdGhpcy5jb250ZXh0KSk7XHJcblxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChpdGVtcy5tYXAoZiA9PiBmLl9fdG9Qb2pvKGV4YykpKTtcclxuICAgIH1cclxuICAgIGNyZWF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mYWN0b3J5KCk7XHJcbiAgICB9XHJcbiAgICBncmlkU2V0dGluZ3Moc2V0dGluZ3M/OiBJRGF0YVNldHRpbmdzPFQ+KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBHcmlkU2V0dGluZ3ModGhpcy5lbnRpdHksIHNldHRpbmdzKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVR5cGUge1xyXG4gICAgbmV3KC4uLmFyZ3M6IGFueVtdKTogRW50aXR5PGFueT47XHJcbiAgICBfX2tleTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBhbGxFbnRpdGllczogRW50aXR5VHlwZVtdID0gW107XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEVudGl0eUNsYXNzPFQgZXh0ZW5kcyBFbnRpdHlUeXBlPih0aGVFbnRpdHlDbGFzczogVCkge1xyXG4gICAgbGV0IG9yaWdpbmFsID0gdGhlRW50aXR5Q2xhc3M7XHJcbiAgICBsZXQgZiA9IGNsYXNzIGV4dGVuZHMgdGhlRW50aXR5Q2xhc3Mge1xyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRGYWN0b3J5Q2xhc3NBbmREb0luaXRDb2x1bW5zKGYpO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX19vcHRpb25zLm5hbWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX19vcHRpb25zLm5hbWUgPSBvcmlnaW5hbC5uYW1lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYWxsRW50aXRpZXMucHVzaChmKTtcclxuICAgIGYuX19rZXkgPSB0aGVFbnRpdHlDbGFzcy5uYW1lICsgYWxsRW50aXRpZXMuaW5kZXhPZihmKTtcclxuICAgIHJldHVybiBmO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHJvbGVzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERpcmVjdFNRTCB7XHJcbiAgICBhYnN0cmFjdCBleGVjdXRlKHNxbDogc3RyaW5nKTogUHJvbWlzZTxTUUxRdWVyeVJlc3VsdD47XHJcbn1cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIFJvbGUge1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nKSB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RhdGljIG5vdChhbGxvd2VkOiBBbGxvd2VkKTogQWxsb3dlZCB7XHJcbiAgICAgICAgcmV0dXJuIGMgPT4gIWMuaXNBbGxvd2VkKGFsbG93ZWQpO1xyXG4gICAgfVxyXG59XHJcbmRlY2xhcmUgdHlwZSBBbGxvd2VkUnVsZSA9IHN0cmluZyB8IFJvbGUgfCAoKGM6IENvbnRleHQpID0+IGJvb2xlYW4pIHwgYm9vbGVhbjs7XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQWxsb3dlZCA9IEFsbG93ZWRSdWxlIHwgQWxsb3dlZFJ1bGVbXTtcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBbmd1bGFyQ29tcG9uZW50ID0geyBuZXcoLi4uYXJnczogYW55W10pOiBhbnkgfTsiXX0= | ||
/** | ||
* @param {?} config | ||
* @return {?} | ||
*/ | ||
export function DialogConfig(config) { | ||
return (/** | ||
* @param {?} target | ||
* @return {?} | ||
*/ | ||
function (target) { | ||
target[dialogConfigMember] = config; | ||
return target; | ||
}); | ||
} | ||
/** @type {?} */ | ||
var dialogConfigMember = Symbol("dialogConfigMember"); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDcEcsT0FBTyxFQUF5RCxhQUFhLEVBQWlCLFlBQVksRUFBK0IsTUFBTSxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBNkMsTUFBTSxlQUFlLENBQUM7QUFDM1AsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBS3RFO0lBVUksaUJBQVksSUFBaUIsRUFBVSxPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBMEJoRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBMkM1QixVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXFFLENBQUM7UUFrQ3JGLGlCQUFZLEdBQXVCLEVBQUUsQ0FBQztRQXRHbEMsSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFOztnQkFDeEIsSUFBSSxHQUFHLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUNwRCxJQUFJO1lBQ04sK0NBQStDO2FBQ2xELENBQUM7WUFDRixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUNJO1lBQ0QsSUFB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QVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDOzs7O0FBQ0QsOEJBSUM7OztJQUhHLHNCQUFXOztJQUNYLHdCQUFhOztJQUNiLHlCQUFnQjs7Ozs7QUFHcEI7Ozs7SUFBQTtJQUVBLENBQUM7SUFBRCxnQkFBQztBQUFELENBQUMsQUFGRCxJQUVDOzs7Ozs7Ozs7OztJQURHLGlEQUF1RDs7O0FBRzNEOzs7SUFDSSxjQUFtQixHQUFXO1FBQVgsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUU5QixDQUFDOzs7OztJQUNNLFFBQUc7Ozs7SUFBVixVQUFXLE9BQWdCO1FBQ3ZCOzs7O1FBQU8sVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQXJCLENBQXFCLEVBQUM7SUFDdEMsQ0FBQztJQUNMLFdBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQzs7Ozs7SUFOZSxtQkFBa0I7O0FBTzZDLENBQUM7Ozs7O0FBSWhGLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBdUI7SUFDaEQ7Ozs7SUFBTyxVQUFVLE1BQU07UUFDbkIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUMsRUFBQztBQUNOLENBQUM7O0lBR0ssa0JBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERhdGFQcm92aWRlciwgRGF0YUFwaVJlcXVlc3QsIEZpbHRlckJhc2UsIEZpbmRPcHRpb25zUGVyRW50aXR5LCBFbnRpdHlEYXRhUHJvdmlkZXIsIEZpbmRPcHRpb25zLCBFbnRpdHlQcm92aWRlciB9IGZyb20gXCIuLi9jb3JlL2RhdGFJbnRlcmZhY2VzMVwiO1xyXG5pbXBvcnQgeyBSZXN0RGF0YVByb3ZpZGVyLCBBY3Rpb24sIEFuZ3VsYXJIdHRwUHJvdmlkZXIsIHdyYXBGZXRjaCB9IGZyb20gXCIuLi9jb3JlL3Jlc3REYXRhUHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlPcHRpb25zLCBOdW1iZXJDb2x1bW4sIENvbHVtbiwgRGF0YUxpc3QsIENvbHVtbkhhc2hTZXQsIElEYXRhU2V0dGluZ3MsIEdyaWRTZXR0aW5ncywgU1FMUXVlcnlSZXN1bHQsIExvb2t1cENhY2hlLCBMb29rdXAsIGV4dHJhY3RTb3J0RnJvbVNldHRpbmdzLCBEcm9wRG93blNvdXJjZSwgRHJvcERvd25Tb3VyY2VBcmdzLCBfX0VudGl0eVZhbHVlUHJvdmlkZXIgfSBmcm9tIFwiLi4vY29yZS91dGlsc1wiO1xyXG5pbXBvcnQgeyBJbk1lbW9yeURhdGFQcm92aWRlciB9IGZyb20gXCIuLi9jb3JlL2luTWVtb3J5RGF0YWJhc2VcIjtcclxuaW1wb3J0IHsgRGF0YUFwaVNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZlci9EYXRhQXBpXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNTdHJpbmcsIGlzQm9vbGVhbiB9IGZyb20gXCJ1dGlsXCI7XHJcbmltcG9ydCB7IEJ1c3lTZXJ2aWNlIH0gZnJvbSBcIi4uL2FuZ3VsYXItY29tcG9uZW50cy93YWl0L2J1c3ktc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0IHtcclxuICAgIGNsZWFyQWxsQ2FjaGUoKTogYW55IHtcclxuICAgICAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBpc1NpZ25lZEluKCkge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlcjtcclxuICAgIH1cclxuICAgIGNvbnN0cnVjdG9yKGh0dHA/OiBIdHRwQ2xpZW50LCBwcml2YXRlIF9kaWFsb2c/OiBNYXREaWFsb2cpIHtcclxuICAgICAgICBpZiAoaHR0cCBpbnN0YW5jZW9mIEh0dHBDbGllbnQpIHtcclxuICAgICAgICAgICAgdmFyIHByb3YgPSBuZXcgQW5ndWxhckh0dHBQcm92aWRlcihodHRwKTtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IG5ldyBSZXN0RGF0YVByb3ZpZGVyKENvbnRleHQuYXBpQmFzZVVybFxyXG4gICAgICAgICAgICAgICAgLCBwcm92XHJcbiAgICAgICAgICAgICAgICAvLyxuZXcgcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlclVzaW5nRmV0Y2goKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBBY3Rpb24ucHJvdmlkZXIgPSBwcm92O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IG5ldyBJbk1lbW9yeURhdGFQcm92aWRlcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRDb29raWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgZ2V0SG9zdCgpIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBnZXRQYXRoSW5VcmwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIF9kYXRhU291cmNlOiBEYXRhUHJvdmlkZXI7XHJcbiAgICBwcm90ZWN0ZWQgX29uU2VydmVyID0gZmFsc2U7XHJcbiAgICBnZXQgb25TZXJ2ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29uU2VydmVyO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF91c2VyOiBVc2VySW5mbztcclxuICAgIGdldCB1c2VyKCkgeyByZXR1cm4gdGhpcy5fdXNlcjsgfVxyXG5cclxuICAgIF9zZXRVc2VyKGluZm86IFVzZXJJbmZvKSB7XHJcbiAgICAgICAgdGhpcy5fdXNlciA9IGluZm87XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgYXBpQmFzZVVybCA9ICdhcGknO1xyXG5cclxuICAgIGlzQWxsb3dlZChyb2xlczogQWxsb3dlZCkge1xyXG4gICAgICAgIGlmIChyb2xlcyA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHJvbGVzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByb2xlIG9mIHJvbGVzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FsbG93ZWQocm9sZSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXNGdW5jdGlvbihyb2xlcykpIHtcclxuICAgICAgICAgICAgcmV0dXJuICg8YW55PnJvbGVzKSh0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzQm9vbGVhbihyb2xlcykpXHJcbiAgICAgICAgICAgIHJldHVybiByb2xlcztcclxuXHJcbiAgICAgICAgaWYgKHJvbGVzIGluc3RhbmNlb2YgUm9sZSkge1xyXG4gICAgICAgICAgICByb2xlcyA9IHJvbGVzLmtleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLnVzZXIpXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAoaXNTdHJpbmcocm9sZXMpKVxyXG4gICAgICAgICAgICBpZiAodGhpcy51c2VyLnJvbGVzLmluZGV4T2Yocm9sZXMudG9TdHJpbmcoKSkgPj0gMClcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNhY2hlID0gbmV3IE1hcDxEYXRhUHJvdmlkZXIsIE1hcDxzdHJpbmcsIFNwZWNpZmljRW50aXR5SGVscGVyPGFueSwgRW50aXR5PGFueT4+Pj4oKTtcclxuICAgIHB1YmxpYyBmb3I8bG9va3VwSWRUeXBlLCBUIGV4dGVuZHMgRW50aXR5PGxvb2t1cElkVHlwZT4+KGM6IHsgbmV3KC4uLmFyZ3M6IGFueVtdKTogVDsgfSwgZGF0YVNvdXJjZT86IERhdGFQcm92aWRlcikge1xyXG4gICAgICAgIGlmICghZGF0YVNvdXJjZSlcclxuICAgICAgICAgICAgZGF0YVNvdXJjZSA9IHRoaXMuX2RhdGFTb3VyY2U7XHJcblxyXG4gICAgICAgIGxldCBkc0NhY2hlID0gdGhpcy5jYWNoZS5nZXQoZGF0YVNvdXJjZSk7XHJcbiAgICAgICAgaWYgKCFkc0NhY2hlKSB7XHJcbiAgICAgICAgICAgIGRzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgU3BlY2lmaWNFbnRpdHlIZWxwZXI8YW55LCBFbnRpdHk8YW55Pj4+KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGRhdGFTb3VyY2UsIGRzQ2FjaGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgY2xhc3NUeXBlID0gYyBhcyBhbnk7XHJcbiAgICAgICAgbGV0IGNsYXNzS2V5ID0gY2xhc3NUeXBlLl9fa2V5O1xyXG4gICAgICAgIGxldCByID0gZHNDYWNoZS5nZXQoY2xhc3NLZXkpIGFzIFNwZWNpZmljRW50aXR5SGVscGVyPGxvb2t1cElkVHlwZSwgVD47XHJcbiAgICAgICAgaWYgKCFyKSB7XHJcbiAgICAgICAgICAgIHIgPSBuZXcgU3BlY2lmaWNFbnRpdHlIZWxwZXI8bG9va3VwSWRUeXBlLCBUPigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZSA9IG5ldyBjKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGU7XHJcbiAgICAgICAgICAgIH0sIHRoaXMuX2xvb2t1cENhY2hlLCB0aGlzLCBkYXRhU291cmNlKTtcclxuICAgICAgICAgICAgZHNDYWNoZS5zZXQoY2xhc3NLZXksIHIpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICByZXR1cm4gcjtcclxuICAgIH1cclxuICAgIGFzeW5jIG9wZW5EaWFsb2c8VCwgQz4oY29tcG9uZW50OiB7IG5ldyguLi5hcmdzOiBhbnlbXSk6IEM7IH0sIHNldFBhcmFtZXRlcnM6IChpdDogQykgPT4gdm9pZCwgcmV0dXJuQVZhbHVlPzogKGl0OiBDKSA9PiBUKSB7XHJcblxyXG4gICAgICAgIGxldCByZWYgPSB0aGlzLl9kaWFsb2cub3Blbihjb21wb25lbnQsIGNvbXBvbmVudFtkaWFsb2dDb25maWdNZW1iZXJdKTtcclxuICAgICAgICBzZXRQYXJhbWV0ZXJzKHJlZi5jb21wb25lbnRJbnN0YW5jZSk7XHJcbiAgICAgICAgYXdhaXQgcmVmLmJlZm9yZUNsb3NlKCkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKHJldHVybkFWYWx1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHJldHVybkFWYWx1ZShyZWYuY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIF9sb29rdXBDYWNoZTogTG9va3VwQ2FjaGU8YW55PltdID0gW107XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBEYXRhUHJvdmlkZXJGYWN0b3J5QnVpbGRlciA9IChyZXE6IENvbnRleHQpID0+IERhdGFQcm92aWRlcjtcclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgdGhpcy5fb25TZXJ2ZXIgPSB0cnVlO1xyXG5cclxuXHJcbiAgICB9XHJcbiAgICBnZXRIb3N0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcS5nZXRIZWFkZXIoJ2hvc3QnKTtcclxuICAgIH1cclxuICAgIGdldFBhdGhJblVybCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXEuZ2V0QmFzZVVybCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29va2llKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBjb29raWUgPSB0aGlzLnJlcS5nZXRIZWFkZXIoJ2Nvb2tpZScpO1xyXG4gICAgICAgIGlmIChjb29raWUpXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgY29va2llLnNwbGl0KCc7JykpIHtcclxuICAgICAgICAgICAgICAgIGxldCBpdGVtSW5mbyA9IGl0ZXJhdG9yLnNwbGl0KCc9Jyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUluZm8gJiYgaXRlbUluZm9bMF0udHJpbSgpID09IG5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbUluZm9bMV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSByZXE6IERhdGFBcGlSZXF1ZXN0O1xyXG5cclxuICAgIHNldFJlcShyZXE6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICAgICAgdGhpcy5yZXEgPSByZXE7XHJcbiAgICAgICAgdGhpcy5fdXNlciA9IHJlcS51c2VyID8gcmVxLnVzZXIgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBzZXREYXRhUHJvdmlkZXIoZGF0YVByb3ZpZGVyOiBEYXRhUHJvdmlkZXIpIHtcclxuICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gZGF0YVByb3ZpZGVyO1xyXG4gICAgfVxyXG4gICAgZ2V0T3JpZ2luKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcS5nZXRIZWFkZXIoJ29yaWdpbicpXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU3BlY2lmaWNFbnRpdHlIZWxwZXI8bG9va3VwSWRUeXBlLCBUIGV4dGVuZHMgRW50aXR5PGxvb2t1cElkVHlwZT4+IGltcGxlbWVudHMgRW50aXR5UHJvdmlkZXI8VD57XHJcbiAgICBwcml2YXRlIGVudGl0eTogVDtcclxuICAgIHByaXZhdGUgX2VkcDogRW50aXR5RGF0YVByb3ZpZGVyO1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGNyZWF0ZTogKCkgPT4gVCwgcHJpdmF0ZSBfbG9va3VwQ2FjaGU6IExvb2t1cENhY2hlPGFueT5bXSwgcHJpdmF0ZSBjb250ZXh0OiBDb250ZXh0LCBkYXRhU291cmNlOiBEYXRhUHJvdmlkZXIpIHtcclxuICAgICAgICB0aGlzLmNyZWF0ZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgbGV0IGUgPSBjcmVhdGUoKTtcclxuICAgICAgICAgICAgZS5fX2VudGl0eURhdGEuZGF0YVByb3ZpZGVyID0gdGhpcy5fZWRwO1xyXG4gICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZW50aXR5ID0gdGhpcy5jcmVhdGUoKTtcclxuICAgICAgICB0aGlzLl9lZHAgPSBkYXRhU291cmNlLmdldEVudGl0eURhdGFQcm92aWRlcih0aGlzLmVudGl0eSk7XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICBsb29rdXAoZmlsdGVyOiBDb2x1bW48bG9va3VwSWRUeXBlPiB8ICgoZW50aXR5VHlwZTogVCkgPT4gRmlsdGVyQmFzZSkpOiBUIHtcclxuXHJcbiAgICAgICAgbGV0IGtleSA9IHRoaXMuZW50aXR5Ll9fZ2V0TmFtZSgpO1xyXG4gICAgICAgIGxldCBsb29rdXA6IExvb2t1cDxsb29rdXBJZFR5cGUsIFQ+O1xyXG4gICAgICAgIHRoaXMuX2xvb2t1cENhY2hlLmZvckVhY2gobCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChsLmtleSA9PSBrZXkpXHJcbiAgICAgICAgICAgICAgICBsb29rdXAgPSBsLmxvb2t1cDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIWxvb2t1cCkge1xyXG4gICAgICAgICAgICBsb29rdXAgPSBuZXcgTG9va3VwKHRoaXMuZW50aXR5LCB0aGlzKTtcclxuICAgICAgICAgICAgdGhpcy5fbG9va3VwQ2FjaGUucHVzaCh7IGtleSwgbG9va3VwIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbG9va3VwLmdldChmaWx0ZXIpO1xyXG5cclxuICAgIH1cclxuICAgIGxvb2t1cEFzeW5jKGZpbHRlcjogQ29sdW1uPGxvb2t1cElkVHlwZT4gfCAoKGVudGl0eVR5cGU6IFQpID0+IEZpbHRlckJhc2UpKTogUHJvbWlzZTxUPiB7XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSB0aGlzLmVudGl0eS5fX2dldE5hbWUoKTtcclxuICAgICAgICBsZXQgbG9va3VwOiBMb29rdXA8bG9va3VwSWRUeXBlLCBUPjtcclxuICAgICAgICB0aGlzLl9sb29rdXBDYWNoZS5mb3JFYWNoKGwgPT4ge1xyXG4gICAgICAgICAgICBpZiAobC5rZXkgPT0ga2V5KVxyXG4gICAgICAgICAgICAgICAgbG9va3VwID0gbC5sb29rdXA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFsb29rdXApIHtcclxuICAgICAgICAgICAgbG9va3VwID0gbmV3IExvb2t1cCh0aGlzLmVudGl0eSwgdGhpcyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvb2t1cENhY2hlLnB1c2goeyBrZXksIGxvb2t1cCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxvb2t1cC53aGVuR2V0KGZpbHRlcik7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhc3luYyBjb3VudCh3aGVyZT86IChlbnRpdHk6IFQpID0+IEZpbHRlckJhc2UpIHtcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5fZWRwLmNvdW50KHdoZXJlID8gd2hlcmUodGhpcy5lbnRpdHkpIDogdW5kZWZpbmVkKTtcclxuICAgIH1cclxuICAgIGFzeW5jIGZvcmVhY2god2hlcmU6IChlbnRpdHk6IFQpID0+IEZpbHRlckJhc2UsIHdoYXQ/OiAoZW50aXR5OiBUKSA9PiBQcm9taXNlPHZvaWQ+KSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gYXdhaXQgdGhpcy5maW5kKHtcclxuICAgICAgICAgICAgd2hlcmU6IHdoZXJlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHdoYXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVPcHRpb25zKG9wdGlvbnM6IEZpbmRPcHRpb25zUGVyRW50aXR5PFQ+KSB7XHJcbiAgICAgICAgaWYgKCFvcHRpb25zKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIGxldCBnZXRPcHRpb25zOiBGaW5kT3B0aW9ucyA9IHt9O1xyXG4gICAgICAgIGlmIChvcHRpb25zLndoZXJlKVxyXG4gICAgICAgICAgICBnZXRPcHRpb25zLndoZXJlID0gb3B0aW9ucy53aGVyZSh0aGlzLmVudGl0eSk7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMub3JkZXJCeSlcclxuICAgICAgICAgICAgZ2V0T3B0aW9ucy5vcmRlckJ5ID0gZXh0cmFjdFNvcnRGcm9tU2V0dGluZ3ModGhpcy5lbnRpdHksIG9wdGlvbnMpO1xyXG4gICAgICAgIGlmIChvcHRpb25zLmxpbWl0KVxyXG4gICAgICAgICAgICBnZXRPcHRpb25zLmxpbWl0ID0gb3B0aW9ucy5saW1pdDtcclxuICAgICAgICBpZiAob3B0aW9ucy5wYWdlKVxyXG4gICAgICAgICAgICBnZXRPcHRpb25zLnBhZ2UgPSBvcHRpb25zLnBhZ2U7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMuYWRkaXRpb25hbFVybFBhcmFtZXRlcnMpXHJcbiAgICAgICAgICAgIGdldE9wdGlvbnMuYWRkaXRpb25hbFVybFBhcmFtZXRlcnMgPSBvcHRpb25zLmFkZGl0aW9uYWxVcmxQYXJhbWV0ZXJzO1xyXG4gICAgICAgIHJldHVybiBnZXRPcHRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zUGVyRW50aXR5PFQ+KSB7XHJcbiAgICAgICAgbGV0IHIgPSBhd2FpdCB0aGlzLl9lZHAuZmluZCh0aGlzLnRyYW5zbGF0ZU9wdGlvbnMob3B0aW9ucykpO1xyXG4gICAgICAgIHJldHVybiByLm1hcChpID0+IHtcclxuICAgICAgICAgICAgbGV0IHIgPSB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgICAgICAgICByLl9fZW50aXR5RGF0YS5zZXREYXRhKGksIHIpO1xyXG4gICAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGZyb21Qb2pvKHI6IGFueSk6IFQge1xyXG4gICAgICAgIGxldCBmID0gPFQ+dGhpcy5jcmVhdGUoKTtcclxuICAgICAgICBmLl9fZW50aXR5RGF0YS5zZXREYXRhKHIsIGYpO1xyXG4gICAgICAgIHJldHVybiBmO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgZmluZEZpcnN0KHdoZXJlPzogKGVudGl0eTogVCkgPT4gRmlsdGVyQmFzZSkge1xyXG4gICAgICAgIGxldCByID0gYXdhaXQgdGhpcy5maW5kKHsgd2hlcmUgfSk7XHJcbiAgICAgICAgaWYgKHIubGVuZ3RoID09IDApXHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgcmV0dXJuIHJbMF07XHJcbiAgICB9XHJcbiAgICB0b1Bvam9BcnJheShpdGVtczogVFtdKSB7XHJcbiAgICAgICAgbGV0IGV4YyA9IG5ldyBDb2x1bW5IYXNoU2V0KCk7XHJcblxyXG4gICAgICAgIGV4Yy5hZGQoLi4udGhpcy5lbnRpdHkuX2dldEV4Y2x1ZGVkQ29sdW1ucyh0aGlzLmVudGl0eSwgdGhpcy5jb250ZXh0KSk7XHJcblxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChpdGVtcy5tYXAoZiA9PiBmLl9fdG9Qb2pvKGV4YykpKTtcclxuICAgIH1cclxuXHJcbiAgICBncmlkU2V0dGluZ3Moc2V0dGluZ3M/OiBJRGF0YVNldHRpbmdzPFQ+KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBHcmlkU2V0dGluZ3ModGhpcywgdGhpcy5jb250ZXh0LCBzZXR0aW5ncyk7XHJcbiAgICB9XHJcbiAgICBkcm9wRG93blNvdXJjZShhcmdzPzogRHJvcERvd25Tb3VyY2VBcmdzPFQ+KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEcm9wRG93blNvdXJjZSh0aGlzLCBhcmdzKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVR5cGUge1xyXG4gICAgbmV3KC4uLmFyZ3M6IGFueVtdKTogRW50aXR5PGFueT47XHJcbiAgICBfX2tleTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBhbGxFbnRpdGllczogRW50aXR5VHlwZVtdID0gW107XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEVudGl0eUNsYXNzPFQgZXh0ZW5kcyBFbnRpdHlUeXBlPih0aGVFbnRpdHlDbGFzczogVCkge1xyXG4gICAgbGV0IG9yaWdpbmFsID0gdGhlRW50aXR5Q2xhc3M7XHJcbiAgICBsZXQgZiA9IGNsYXNzIGV4dGVuZHMgdGhlRW50aXR5Q2xhc3Mge1xyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgICAgICAgICB0aGlzLl9faW5pdENvbHVtbnMoKDxhbnk+dGhpcykuaWQpO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX19vcHRpb25zLm5hbWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX19vcHRpb25zLm5hbWUgPSBvcmlnaW5hbC5uYW1lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYWxsRW50aXRpZXMucHVzaChmKTtcclxuICAgIGYuX19rZXkgPSB0aGVFbnRpdHlDbGFzcy5uYW1lICsgYWxsRW50aXRpZXMuaW5kZXhPZihmKTtcclxuICAgIHJldHVybiBmO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHJvbGVzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERpcmVjdFNRTCB7XHJcbiAgICBhYnN0cmFjdCBleGVjdXRlKHNxbDogc3RyaW5nKTogUHJvbWlzZTxTUUxRdWVyeVJlc3VsdD47XHJcbn1cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIFJvbGUge1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGtleTogc3RyaW5nKSB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RhdGljIG5vdChhbGxvd2VkOiBBbGxvd2VkKTogQWxsb3dlZCB7XHJcbiAgICAgICAgcmV0dXJuIGMgPT4gIWMuaXNBbGxvd2VkKGFsbG93ZWQpO1xyXG4gICAgfVxyXG59XHJcbmRlY2xhcmUgdHlwZSBBbGxvd2VkUnVsZSA9IHN0cmluZyB8IFJvbGUgfCAoKGM6IENvbnRleHQpID0+IGJvb2xlYW4pIHwgYm9vbGVhbjs7XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQWxsb3dlZCA9IEFsbG93ZWRSdWxlIHwgQWxsb3dlZFJ1bGVbXTtcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBbmd1bGFyQ29tcG9uZW50ID0geyBuZXcoLi4uYXJnczogYW55W10pOiBhbnkgfTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBEaWFsb2dDb25maWcoY29uZmlnOiBNYXREaWFsb2dDb25maWcpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0KSB7XHJcbiAgICAgICAgdGFyZ2V0W2RpYWxvZ0NvbmZpZ01lbWJlcl0gPSBjb25maWc7XHJcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcclxuICAgIH07XHJcbn1cclxuXHJcblxyXG5jb25zdCBkaWFsb2dDb25maWdNZW1iZXIgPSBTeW1ib2woXCJkaWFsb2dDb25maWdNZW1iZXJcIik7Il19 |
@@ -241,2 +241,2 @@ /** | ||
export var serverActionField = Symbol('serverActionField'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUF1QyxNQUFNLFdBQVcsQ0FBQztBQUVuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFHeEUscUJBRUM7OztJQURHLHNCQUFZOzs7OztBQUVoQixxQkFFQzs7O0lBREcsc0JBQVU7O0FBRWQ7SUFBcUMsMkNBQVM7SUFNMUMseUJBQW9CLEVBQXlCO1FBQTdDLFlBQ0ksaUJBQU8sU0FHVjtRQUptQixRQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUV6QyxLQUFJLENBQUMsRUFBRSxHQUFHLDJCQUEyQixDQUFDLDZCQUE2QixDQUFDLEVBQUUsQ0FBQyxDQUFDOztZQUNwRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7O0lBQ2pCLENBQUM7Ozs7O0lBUkQsaUNBQU87Ozs7SUFBUCxVQUFRLEdBQVc7O1lBQ1gsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBTUwsc0JBQUM7QUFBRCxDQUFDLEFBWEQsQ0FBcUMsU0FBUyxHQVc3Qzs7Ozs7OztJQUxlLDZCQUFpQzs7QUFPakQ7SUFBb0MsMENBQXNCO0lBRXRELHdCQUFZLElBQVksRUFBVSxLQUFZLEVBQVUsT0FBOEIsRUFBVSxjQUFvQztRQUFwSSxZQUNJLGtCQUFNLEVB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R0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xyXG5cclxuaW1wb3J0IHsgU3VwcG9ydHNUcmFuc2FjdGlvbiwgRGF0YVByb3ZpZGVyRmFjdG9yeSwgRGF0YUFwaVJlcXVlc3QgfSBmcm9tIFwiLi4vY29yZS9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vY29yZS9yZXN0RGF0YVByb3ZpZGVyJztcclxuaW1wb3J0IHsgQ29udGV4dCwgU2VydmVyQ29udGV4dCwgRGlyZWN0U1FMLCBBbGxvd2VkLCBEYXRhUHJvdmlkZXJGYWN0b3J5QnVpbGRlciB9IGZyb20gJy4vQ29udGV4dCc7XHJcbmltcG9ydCB7IFNRTENvbm5lY3Rpb25Qcm92aWRlciwgU3VwcG9ydHNEaXJlY3RTcWwgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQnVzeVNlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyLWNvbXBvbmVudHMvd2FpdC9idXN5LXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgfSBmcm9tICcuLi9jb3JlL1NRTERhdGFiYXNlU2hhcmVkJztcclxuXHJcblxyXG5pbnRlcmZhY2UgaW5BcmdzIHtcclxuICAgIGFyZ3M6IGFueVtdO1xyXG59XHJcbmludGVyZmFjZSByZXN1bHQge1xyXG4gICAgZGF0YTogYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBY3R1YWxEaXJlY3RTUUwgZXh0ZW5kcyBEaXJlY3RTUUwge1xyXG5cclxuICAgIGV4ZWN1dGUoc3FsOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgYyA9IHRoaXMuZHAuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgICAgIHJldHVybiBjLnF1ZXJ5KHNxbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRwOiBTUUxDb25uZWN0aW9uUHJvdmlkZXIpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZHAgPSBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIuZGVjb3JhdGVTcWxDb25uZWN0aW9uUHJvdmlkZXIoZHApO1xyXG4gICAgICAgIGxldCB5ID0gMSArIDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBteVNlcnZlckFjdGlvbiBleHRlbmRzIEFjdGlvbjxpbkFyZ3MsIHJlc3VsdD5cclxue1xyXG4gICAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwcml2YXRlIHR5cGVzOiBhbnlbXSwgcHJpdmF0ZSBvcHRpb25zOiBTZXJ2ZXJGdW5jdGlvbk9wdGlvbnMsIHByaXZhdGUgb3JpZ2luYWxNZXRob2Q6IChhcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAgICAgc3VwZXIoJycsIG5hbWUpXHJcbiAgICB9XHJcbiAgICBkYXRhUHJvdmlkZXI6IERhdGFQcm92aWRlckZhY3RvcnlCdWlsZGVyO1xyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGUoaW5mbzogaW5BcmdzLCByZXE6IERhdGFBcGlSZXF1ZXN0KTogUHJvbWlzZTxyZXN1bHQ+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0geyBkYXRhOiB7fSB9O1xyXG4gICAgICAgIGxldCBjb250ZXh0ID0gbmV3IFNlcnZlckNvbnRleHQoKTtcclxuICAgICAgICBjb250ZXh0LnNldFJlcShyZXEpO1xyXG4gICAgICAgIGxldCBkcyA9IHRoaXMuZGF0YVByb3ZpZGVyKGNvbnRleHQpO1xyXG4gICAgICAgIGF3YWl0ICg8U3VwcG9ydHNUcmFuc2FjdGlvbj5kcykuZG9JblRyYW5zYWN0aW9uKGFzeW5jIGRzID0+IHtcclxuICAgICAgICAgICAgY29udGV4dC5zZXREYXRhUHJvdmlkZXIoZHMpO1xyXG4gICAgICAgICAgICBpZiAoIWNvbnRleHQuaXNBbGxvd2VkKHRoaXMub3B0aW9ucy5hbGxvd2VkKSlcclxuICAgICAgICAgICAgICAgIHRocm93ICdub3QgYWxsb3dlZCc7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGVzKVxyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnR5cGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8uYXJncy5sZW5ndGggPCBpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYXJncy5wdXNoKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGVzW2ldID09IENvbnRleHQgfHwgdGhpcy50eXBlc1tpXSA9PSBTZXJ2ZXJDb250ZXh0KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmFyZ3NbaV0gPSBjb250ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlc1tpXSA9PSBEaXJlY3RTUUwgJiYgZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5hcmdzW2ldID0gKDxTdXBwb3J0c0RpcmVjdFNxbD48YW55PmRzKS5nZXREaXJlY3RTcWwoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMub3JpZ2luYWxNZXRob2QoaW5mby5hcmdzKTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgICAgIHRocm93IGVyclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJGdW5jdGlvbk9wdGlvbnMge1xyXG4gICAgYWxsb3dlZDogQWxsb3dlZDtcclxuICAgIGJsb2NrVXNlcj86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNvbnN0IGFjdGlvbkluZm8gPSB7XHJcbiAgICBhbGxBY3Rpb25zOiBbXSBhcyBhbnlbXSxcclxuICAgIHJ1bm5pbmdPblNlcnZlcjogZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlcnZlckZ1bmN0aW9uKG9wdGlvbnM6IFNlcnZlckZ1bmN0aW9uT3B0aW9ucykge1xyXG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IGFueSkgPT4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHZhciBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XHJcbiAgICAgICAgdmFyIHR5cGVzID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIHRhcmdldCwga2V5KTtcclxuXHJcblxyXG4gICAgICAgIGxldCBzZXJ2ZXJBY3Rpb24gPSBuZXcgbXlTZXJ2ZXJBY3Rpb24oa2V5LCB0eXBlcywgb3B0aW9ucywgYXJncyA9PiBvcmlnaW5hbE1ldGhvZC5hcHBseSh1bmRlZmluZWQsIGFyZ3MpKTtcclxuXHJcblxyXG5cclxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIGlmICghYWN0aW9uSW5mby5ydW5uaW5nT25TZXJ2ZXIpIHtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmJsb2NrVXNlciA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgQnVzeVNlcnZpY2Uuc2luZ2xlSW5zdGFuY2UuZG9ub3RXYWl0KGFzeW5jICgpID0+IChhd2FpdCBzZXJ2ZXJBY3Rpb24ucnVuKHsgYXJncyB9KSkuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChhd2FpdCBzZXJ2ZXJBY3Rpb24ucnVuKHsgYXJncyB9KSkuZGF0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHVuZGVmaW5lZCwgYXJncykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhY3Rpb25JbmZvLmFsbEFjdGlvbnMucHVzaChkZXNjcmlwdG9yLnZhbHVlKTtcclxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW3NlcnZlckFjdGlvbkZpZWxkXSA9IHNlcnZlckFjdGlvbjtcclxuXHJcblxyXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBzZXJ2ZXJBY3Rpb25GaWVsZCA9IFN5bWJvbCgnc2VydmVyQWN0aW9uRmllbGQnKTtcclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29udGV4dC9zZXJ2ZXItYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUF1QyxNQUFNLFdBQVcsQ0FBQztBQUVuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFHeEUscUJBRUM7OztJQURHLHNCQUFZOzs7OztBQUVoQixxQkFFQzs7O0lBREcsc0JBQVU7O0FBRWQ7SUFBcUMsMkNBQVM7SUFNMUMseUJBQW9CLEVBQXlCO1FBQTdDLFlBQ0ksaUJBQU8sU0FHVjtRQUptQixRQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUV6QyxLQUFJLENBQUMsRUFBRSxHQUFHLDJCQUEyQixDQUFDLDZCQUE2QixDQUFDLEVBQUUsQ0FBQyxDQUFDOztZQUNwRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7O0lBQ2pCLENBQUM7Ozs7O0lBUkQsaUNBQU87Ozs7SUFBUCxVQUFRLEdBQVc7O1lBQ1gsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBTUwsc0JBQUM7QUFBRCxDQUFDLEFBWEQsQ0FBcUMsU0FBUyxHQVc3Qzs7Ozs7OztJQUxlLDZCQUFpQzs7QUFPakQ7SUFBb0MsMENBQXNCO0lBRXRELHdCQUFZLElBQVksRUFBVSxLQUFZLEVBQVUsT0FBOEIsRUFBVSxjQUFvQztRQUFwSSxZQUNJLGtCQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FDbEI7UUFGaUMsV0FBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGFBQU8sR0FBUCxPQUFPLENBQXVCO1FBQVUsb0JBQWMsR0FBZCxjQUFjLENBQXNCOztJQUVwSSxDQUFDOzs7Ozs7O0lBRWUsZ0NBQU87Ozs7OztJQUF2QixVQUF3QixJQUFZLEVBQUUsR0FBbUI7Ozs7Ozs7d0JBQ2pELE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7d0JBQ3JCLE9BQU8sR0FBRyxJQUFJLGFBQWEsRUFBRTt3QkFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDaEIsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO3dCQUNuQyxxQkFBTSxDQUFDLG1CQUFxQixFQUFFLEVBQUEsQ0FBQyxDQUFDLGVBQWU7Ozs7NEJBQUMsVUFBTSxFQUFFOzs7Ozs0Q0FDcEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0Q0FDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0RBQ3hDLE1BQU0sYUFBYSxDQUFDOzRDQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLO2dEQUNWLEtBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0RBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dEQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztxREFDN0I7b0RBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsRUFBRTt3REFFNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7cURBQzFCO3lEQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLElBQUksRUFBRSxFQUFFO3dEQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLG1CQUFLLEVBQUUsRUFBQSxFQUFBLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztxREFDOUQ7aURBQ0o7Ozs7NENBRUQsS0FBQSxNQUFNLENBQUE7NENBQVEscUJBQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUE7OzRDQUFsRCxHQUFPLElBQUksR0FBRyxTQUFvQyxDQUFDOzs7OzRDQUtuRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUcsQ0FBQyxDQUFDOzRDQUNuQixNQUFNLEtBQUcsQ0FBQTs7OztpQ0FFaEIsRUFBQyxFQUFBOzt3QkF6QkYsU0F5QkUsQ0FBQzt3QkFDSCxzQkFBTyxNQUFNLEVBQUM7Ozs7S0FDakI7SUFFTCxxQkFBQztBQUFELENBQUMsQUF4Q0QsQ0FBb0MsTUFBTSxHQXdDekM7Ozs7SUFuQ0csc0NBQXlDOzs7OztJQUhmLCtCQUFvQjs7Ozs7SUFBRSxpQ0FBc0M7Ozs7O0lBQUUsd0NBQTRDOzs7OztBQXVDeEksMkNBR0M7OztJQUZHLHdDQUFpQjs7SUFDakIsMENBQW9COzs7QUFFeEIsTUFBTSxLQUFPLFVBQVUsR0FBRztJQUN0QixVQUFVLEVBQUUsbUJBQUEsRUFBRSxFQUFTO0lBQ3ZCLGVBQWUsRUFBRSxLQUFLO0NBQ3pCOzs7OztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBOEI7SUFDekQ7Ozs7OztJQUFPLFVBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxVQUFlOztZQUV6QyxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUs7O1lBQ2pDLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7O1lBRzdELFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU87Ozs7UUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFyQyxDQUFxQyxFQUFDO1FBSXpHLFVBQVUsQ0FBQyxLQUFLOzs7O1FBQUc7WUFBZ0IsY0FBYztpQkFBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO2dCQUFkLHlCQUFjOzs7Ozs7O2lDQUN6QyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQTNCLHdCQUEyQjtpQ0FDdkIsQ0FBQSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQSxFQUEzQix3QkFBMkI7NEJBQ3BCLHFCQUFNLFdBQVcsQ0FBQyxjQUFjLENBQUMsU0FBUzs7O2dDQUFDOztnREFBYSxxQkFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQyxFQUFBO2dEQUFqQyxzQkFBQSxDQUFDLFNBQWdDLENBQUMsQ0FBQyxJQUFJLEVBQUE7O3lDQUFBLEVBQUMsRUFBQTtnQ0FBdEcsc0JBQU8sU0FBK0YsRUFBQztnQ0FHL0YscUJBQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksTUFBQSxFQUFFLENBQUMsRUFBQTtnQ0FBeEMsc0JBQU8sQ0FBQyxTQUFnQyxDQUFDLENBQUMsSUFBSSxFQUFDOztnQ0FHM0MscUJBQU0sY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUE7Z0NBQW5ELHNCQUFPLENBQUMsU0FBMkMsQ0FBQyxFQUFDOzs7OztTQUM1RCxDQUFBLENBQUE7UUFDRCxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUduRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDLEVBQUE7QUFDTCxDQUFDOztBQUNELE1BQU0sS0FBTyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xyXG5cclxuaW1wb3J0IHsgU3VwcG9ydHNUcmFuc2FjdGlvbiwgRGF0YVByb3ZpZGVyLCBEYXRhQXBpUmVxdWVzdCB9IGZyb20gXCIuLi9jb3JlL2RhdGFJbnRlcmZhY2VzMVwiO1xyXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9jb3JlL3Jlc3REYXRhUHJvdmlkZXInO1xyXG5pbXBvcnQgeyBDb250ZXh0LCBTZXJ2ZXJDb250ZXh0LCBEaXJlY3RTUUwsIEFsbG93ZWQsIERhdGFQcm92aWRlckZhY3RvcnlCdWlsZGVyIH0gZnJvbSAnLi9Db250ZXh0JztcclxuaW1wb3J0IHsgU1FMQ29ubmVjdGlvblByb3ZpZGVyLCBTdXBwb3J0c0RpcmVjdFNxbCB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBCdXN5U2VydmljZSB9IGZyb20gJy4uL2FuZ3VsYXItY29tcG9uZW50cy93YWl0L2J1c3ktc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlciB9IGZyb20gJy4uL2NvcmUvU1FMRGF0YWJhc2VTaGFyZWQnO1xyXG5cclxuXHJcbmludGVyZmFjZSBpbkFyZ3Mge1xyXG4gICAgYXJnczogYW55W107XHJcbn1cclxuaW50ZXJmYWNlIHJlc3VsdCB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEFjdHVhbERpcmVjdFNRTCBleHRlbmRzIERpcmVjdFNRTCB7XHJcblxyXG4gICAgZXhlY3V0ZShzcWw6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBjID0gdGhpcy5kcC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICAgICAgcmV0dXJuIGMucXVlcnkoc3FsKTtcclxuICAgIH1cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZHA6IFNRTENvbm5lY3Rpb25Qcm92aWRlcikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5kcCA9IEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlci5kZWNvcmF0ZVNxbENvbm5lY3Rpb25Qcm92aWRlcihkcCk7XHJcbiAgICAgICAgbGV0IHkgPSAxICsgMTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIG15U2VydmVyQWN0aW9uIGV4dGVuZHMgQWN0aW9uPGluQXJncywgcmVzdWx0PlxyXG57XHJcbiAgICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIHByaXZhdGUgdHlwZXM6IGFueVtdLCBwcml2YXRlIG9wdGlvbnM6IFNlcnZlckZ1bmN0aW9uT3B0aW9ucywgcHJpdmF0ZSBvcmlnaW5hbE1ldGhvZDogKGFyZ3M6IGFueVtdKSA9PiBhbnkpIHtcclxuICAgICAgICBzdXBlcignJywgbmFtZSlcclxuICAgIH1cclxuICAgIGRhdGFQcm92aWRlcjogRGF0YVByb3ZpZGVyRmFjdG9yeUJ1aWxkZXI7XHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZShpbmZvOiBpbkFyZ3MsIHJlcTogRGF0YUFwaVJlcXVlc3QpOiBQcm9taXNlPHJlc3VsdD4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB7IGRhdGE6IHt9IH07XHJcbiAgICAgICAgbGV0IGNvbnRleHQgPSBuZXcgU2VydmVyQ29udGV4dCgpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0UmVxKHJlcSk7XHJcbiAgICAgICAgbGV0IGRzID0gdGhpcy5kYXRhUHJvdmlkZXIoY29udGV4dCk7XHJcbiAgICAgICAgYXdhaXQgKDxTdXBwb3J0c1RyYW5zYWN0aW9uPmRzKS5kb0luVHJhbnNhY3Rpb24oYXN5bmMgZHMgPT4ge1xyXG4gICAgICAgICAgICBjb250ZXh0LnNldERhdGFQcm92aWRlcihkcyk7XHJcbiAgICAgICAgICAgIGlmICghY29udGV4dC5pc0FsbG93ZWQodGhpcy5vcHRpb25zLmFsbG93ZWQpKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgJ25vdCBhbGxvd2VkJztcclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZXMpXHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudHlwZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5mby5hcmdzLmxlbmd0aCA8IGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5hcmdzLnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZXNbaV0gPT0gQ29udGV4dCB8fCB0aGlzLnR5cGVzW2ldID09IFNlcnZlckNvbnRleHQpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYXJnc1tpXSA9IGNvbnRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGVzW2ldID09IERpcmVjdFNRTCAmJiBkcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmFyZ3NbaV0gPSAoPFN1cHBvcnRzRGlyZWN0U3FsPjxhbnk+ZHMpLmdldERpcmVjdFNxbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5kYXRhID0gYXdhaXQgdGhpcy5vcmlnaW5hbE1ldGhvZChpbmZvLmFyZ3MpO1xyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlckZ1bmN0aW9uT3B0aW9ucyB7XHJcbiAgICBhbGxvd2VkOiBBbGxvd2VkO1xyXG4gICAgYmxvY2tVc2VyPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY29uc3QgYWN0aW9uSW5mbyA9IHtcclxuICAgIGFsbEFjdGlvbnM6IFtdIGFzIGFueVtdLFxyXG4gICAgcnVubmluZ09uU2VydmVyOiBmYWxzZVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2VydmVyRnVuY3Rpb24ob3B0aW9uczogU2VydmVyRnVuY3Rpb25PcHRpb25zKSB7XHJcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzY3JpcHRvcjogYW55KSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdmFyIG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcclxuICAgICAgICB2YXIgdHlwZXMgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgdGFyZ2V0LCBrZXkpO1xyXG5cclxuXHJcbiAgICAgICAgbGV0IHNlcnZlckFjdGlvbiA9IG5ldyBteVNlcnZlckFjdGlvbihrZXksIHR5cGVzLCBvcHRpb25zLCBhcmdzID0+IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHVuZGVmaW5lZCwgYXJncykpO1xyXG5cclxuXHJcblxyXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBhc3luYyBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAgICAgaWYgKCFhY3Rpb25JbmZvLnJ1bm5pbmdPblNlcnZlcikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmxvY2tVc2VyID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBCdXN5U2VydmljZS5zaW5nbGVJbnN0YW5jZS5kb25vdFdhaXQoYXN5bmMgKCkgPT4gKGF3YWl0IHNlcnZlckFjdGlvbi5ydW4oeyBhcmdzIH0pKS5kYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGF3YWl0IHNlcnZlckFjdGlvbi5ydW4oeyBhcmdzIH0pKS5kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHJldHVybiAoYXdhaXQgb3JpZ2luYWxNZXRob2QuYXBwbHkodW5kZWZpbmVkLCBhcmdzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFjdGlvbkluZm8uYWxsQWN0aW9ucy5wdXNoKGRlc2NyaXB0b3IudmFsdWUpO1xyXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWVbc2VydmVyQWN0aW9uRmllbGRdID0gc2VydmVyQWN0aW9uO1xyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IHNlcnZlckFjdGlvbkZpZWxkID0gU3ltYm9sKCdzZXJ2ZXJBY3Rpb25GaWVsZCcpO1xyXG4iXX0= |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export function DataProvider() { } | ||
export function EntityDataProvider() { } | ||
if (false) { | ||
@@ -15,3 +15,3 @@ /** | ||
*/ | ||
DataProvider.prototype.count = function (where) { }; | ||
EntityDataProvider.prototype.count = function (where) { }; | ||
/** | ||
@@ -21,3 +21,3 @@ * @param {?=} options | ||
*/ | ||
DataProvider.prototype.find = function (options) { }; | ||
EntityDataProvider.prototype.find = function (options) { }; | ||
/** | ||
@@ -28,3 +28,3 @@ * @param {?} id | ||
*/ | ||
DataProvider.prototype.update = function (id, data) { }; | ||
EntityDataProvider.prototype.update = function (id, data) { }; | ||
/** | ||
@@ -34,3 +34,3 @@ * @param {?} id | ||
*/ | ||
DataProvider.prototype.delete = function (id) { }; | ||
EntityDataProvider.prototype.delete = function (id) { }; | ||
/** | ||
@@ -40,3 +40,3 @@ * @param {?} data | ||
*/ | ||
DataProvider.prototype.insert = function (data) { }; | ||
EntityDataProvider.prototype.insert = function (data) { }; | ||
} | ||
@@ -53,7 +53,20 @@ /** | ||
* @record | ||
* @template T | ||
*/ | ||
export function EntitySourceFindOptions() { } | ||
export function EntityProvider() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
EntitySourceFindOptions.prototype.orderBy; | ||
/** | ||
* @param {?=} options | ||
* @return {?} | ||
*/ | ||
EntityProvider.prototype.find = function (options) { }; | ||
/** | ||
* @param {?=} where | ||
* @return {?} | ||
*/ | ||
EntityProvider.prototype.count = function (where) { }; | ||
/** | ||
* @return {?} | ||
*/ | ||
EntityProvider.prototype.create = function () { }; | ||
} | ||
@@ -94,11 +107,9 @@ /** | ||
*/ | ||
export function DataProviderFactory() { } | ||
export function DataProvider() { } | ||
if (false) { | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
DataProviderFactory.prototype.provideFor = function (name, factory) { }; | ||
DataProvider.prototype.getEntityDataProvider = function (entity) { }; | ||
} | ||
@@ -178,5 +189,27 @@ /** | ||
DataColumnSettings.prototype.dbReadOnly; | ||
/** @type {?|undefined} */ | ||
DataColumnSettings.prototype.display; | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function ColumnDisplay() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.dropDown; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.width; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.getValue; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.hideDataOnInput; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.click; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.allowClick; | ||
/** @type {?|undefined} */ | ||
ColumnDisplay.prototype.clickIcon; | ||
} | ||
/** | ||
* @record | ||
* @template dataType | ||
@@ -314,2 +347,2 @@ */ | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUludGVyZmFjZXMxLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0Esa0NBTUM7Ozs7OztJQUxDLG9EQUEwQzs7Ozs7SUFDMUMscURBQWlEOzs7Ozs7SUFDakQsd0RBQXlDOzs7OztJQUN6QyxrREFBK0I7Ozs7O0lBQy9CLG9EQUFnQzs7Ozs7QUFFbEMsaUNBRUM7OztJQURDLDhCQUFlOzs7OztBQUVqQiw2Q0FFQzs7O0lBREMsMENBQTZEOzs7OztBQUcvRCxxQ0FNQzs7O0lBTEMsZ0NBQW1COztJQUVuQixnQ0FBZTs7SUFDZiwrQkFBYzs7SUFDZCxrREFBOEI7Ozs7OztBQUVoQywwQ0FNQzs7O0lBTEMscUNBQXlDOztJQUN6Qyx1Q0FBdUk7O0lBQ3ZJLHFDQUFlOztJQUNmLG9DQUFjOztJQUNkLHVEQUE4Qjs7Ozs7QUFHaEMseUNBR0M7Ozs7Ozs7O0lBRkMsd0VBQWdGOzs7OztBQUlsRiwwQ0FFQzs7O0lBREMsb0NBQVU7Ozs7O0FBRVoseUNBR0M7Ozs7OztJQUZDLG9FQUFpRjs7Ozs7QUFHbkYseUNBSUM7Ozs7OztJQUhDLDREQUEyQjs7Ozs7SUFDM0Isb0VBQW1DOzs7Ozs7SUFDbkMsbUVBQXdDOzs7Ozs7QUFHMUMsd0NBY0M7OztJQWJDLHNDQUFrQjs7SUFDbEIsMENBQXVCOztJQUN2QixxQ0FBaUI7O0lBQ2pCLDRDQUF5Qjs7SUFDekIsdUNBQW1COztJQUNuQixvQ0FBaUM7O0lBQ2pDLG1DQUFhOztJQUNiLHFDQUE4Qjs7SUFDOUIsd0NBQXdDOztJQUN4QyxzQ0FBOEI7O0lBQzlCLHlDQUFrQzs7SUFDbEMseUNBQXlDOztJQUN6Qyx3Q0FBcUI7Ozs7OztBQUV2QixtQ0FHQzs7Ozs7O0lBRkMsa0RBQXlCOzs7OztJQUN6QixvREFBMkI7Ozs7O0FBRTdCLCtCQUlDOzs7SUFIQywrQkFBd0I7O0lBQ3hCLDZCQUFxQzs7SUFDckMsNkJBQXFDOzs7OztBQUl2QyxnQ0FFQzs7Ozs7O0lBREMsNERBQTZDOzs7OztBQUUvQyxvQ0FTQzs7Ozs7OztJQVJDLDZEQUE0Qzs7Ozs7O0lBQzVDLG1FQUFrRDs7Ozs7O0lBQ2xELHNFQUFxRDs7Ozs7O0lBQ3JELGlFQUFnRDs7Ozs7O0lBQ2hELG1FQUFrRDs7Ozs7O0lBQ2xELDhEQUE2Qzs7Ozs7O0lBQzdDLDhEQUE4Qzs7Ozs7O0lBQzlDLGdFQUFnRDs7Ozs7QUFHbEQsb0NBTUM7OztJQUZDLDhCQUFlOztJQUNmLGtDQUFpQjs7OztJQUpqQixzREFBb0I7Ozs7O0lBQ3BCLGtEQUFzQjs7Ozs7SUFDdEIsd0RBQStCOzs7OztBQUlqQyxtQ0FJQzs7Ozs7O0lBSEMsK0RBQXFDOzs7OztJQUNyQyw4RkFBdUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIEVudGl0eSwgU29ydCwgU29ydFNlZ21lbnQsIFN0cmluZ0NvbHVtbiB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGaW5kT3B0aW9ucyB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuaW1wb3J0IHsgVXNlckluZm8sIEFsbG93ZWQgfSBmcm9tICcuLi9jb250ZXh0L0NvbnRleHQnO1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhUHJvdmlkZXIge1xyXG4gIGNvdW50KHdoZXJlOiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+O1xyXG4gIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxBcnJheTxhbnk+PjtcclxuICB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG4gIGRlbGV0ZShpZDogYW55KTogUHJvbWlzZTx2b2lkPjtcclxuICBpbnNlcnQoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmluZE9wdGlvbnMgZXh0ZW5kcyBGaW5kT3B0aW9uc0Jhc2Uge1xyXG4gIG9yZGVyQnk/OiBTb3J0O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U291cmNlRmluZE9wdGlvbnMgZXh0ZW5kcyBGaW5kT3B0aW9uc0Jhc2Uge1xyXG4gIG9yZGVyQnk/OiBTb3J0IHwgQ29sdW1uPGFueT4gfCAoQ29sdW1uPGFueT4gfCBTb3J0U2VnbWVudClbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaW5kT3B0aW9uc0Jhc2Uge1xyXG4gIHdoZXJlPzogRmlsdGVyQmFzZTtcclxuXHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbiAgcGFnZT86IG51bWJlcjtcclxuICBhZGRpdGlvbmFsVXJsUGFyYW1ldGVycz86IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPcHRpb25zUGVyRW50aXR5PHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gIHdoZXJlPzogKHJvd1R5cGU6IHJvd1R5cGUpID0+IEZpbHRlckJhc2U7XHJcbiAgb3JkZXJCeT86ICgocm93VHlwZTogcm93VHlwZSkgPT4gU29ydCkgfCAoKHJvd1R5cGU6IHJvd1R5cGUpID0+IChDb2x1bW48YW55PikpIHwgKChyb3dUeXBlOiByb3dUeXBlKSA9PiAoQ29sdW1uPGFueT4gfCBTb3J0U2VnbWVudClbXSk7XHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbiAgcGFnZT86IG51bWJlcjtcclxuICBhZGRpdGlvbmFsVXJsUGFyYW1ldGVycz86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhUHJvdmlkZXJGYWN0b3J5IHtcclxuICBwcm92aWRlRm9yPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4obmFtZTogc3RyaW5nLCBmYWN0b3J5OiAoKSA9PiBUKTogRGF0YVByb3ZpZGVyO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgcm93czogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydHNUcmFuc2FjdGlvbiBleHRlbmRzIERhdGFQcm92aWRlckZhY3Rvcnkge1xyXG4gIGRvSW5UcmFuc2FjdGlvbih3aGF0OiAoZHA6IERhdGFQcm92aWRlckZhY3RvcnkpID0+IFByb21pc2U8dm9pZD4pOiBQcm9taXNlPHZvaWQ+O1xyXG5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblZhbHVlUHJvdmlkZXIge1xyXG4gIGdldFZhbHVlKGtleTogc3RyaW5nKTogYW55O1xyXG4gIGdldE9yaWdpbmFsVmFsdWUoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgc2V0VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29sdW1uT3B0aW9uczx0eXBlPiA9IERhdGFDb2x1bW5TZXR0aW5nczx0eXBlPiB8IHN0cmluZztcclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQ29sdW1uU2V0dGluZ3M8dHlwZT4ge1xyXG4gIGpzb25OYW1lPzogc3RyaW5nO1xyXG4gIGluY2x1ZGVJbkFwaT86IEFsbG93ZWQ7XHJcbiAgY2FwdGlvbj86IHN0cmluZztcclxuICBhbGxvd0FwaVVwZGF0ZT86IEFsbG93ZWQ7XHJcbiAgaW5wdXRUeXBlPzogc3RyaW5nO1xyXG4gIGRiTmFtZT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xyXG4gIHZhbHVlPzogdHlwZTtcclxuICBzdG9yYWdlPzogQ29sdW1uU3RvcmFnZTx0eXBlPjtcclxuICBvblZhbGlkYXRlPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XHJcbiAgZ2V0VmFsdWU/OiAodmFsOiB0eXBlKSA9PiBhbnk7XHJcbiAgdmFsdWVDaGFuZ2U/OiAodmFsOiB0eXBlKSA9PiB2b2lkO1xyXG4gIHZpcnR1YWxEYXRhPzogKCkgPT4gdHlwZSB8IFByb21pc2U8dHlwZT47XHJcbiAgZGJSZWFkT25seT86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5TdG9yYWdlPGRhdGFUeXBlPiB7XHJcbiAgdG9EYih2YWw6IGRhdGFUeXBlKTogYW55O1xyXG4gIGZyb21EYih2YWw6IGFueSk6IGRhdGFUeXBlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUm93RXZlbnRzIHtcclxuICByb3dEZWxldGVkPzogKCkgPT4gdm9pZDtcclxuICByb3dTYXZlZD86IChuZXdSb3c6IGJvb2xlYW4pID0+IHZvaWQ7XHJcbiAgcm93UmVzZXQ/OiAobmV3Um93OiBib29sZWFuKSA9PiB2b2lkO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJCYXNlIHtcclxuICBfX2FwcGx5VG9Db25zdW1lcihhZGQ6IEZpbHRlckNvbnN1bWVyKTogdm9pZDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbnN1bWVyIHtcclxuICBpc0VxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gIGlzRGlmZmVyZW50RnJvbShjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQ7XHJcbiAgaXNHcmVhdGVyT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICBpc0dyZWF0ZXJUaGFuKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICBpc0xlc3NPckVxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gIGlzQ29udGFpbnMoY29sOiBTdHJpbmdDb2x1bW4sIHZhbDogYW55KTogdm9pZDtcclxuICBpc1N0YXJ0c1dpdGgoY29sOiBTdHJpbmdDb2x1bW4sIHZhbDogYW55KTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpUmVxdWVzdCB7XHJcbiAgZ2V0QmFzZVVybCgpOnN0cmluZztcclxuICBnZXQoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogc3RyaW5nO1xyXG4gIHVzZXI6IFVzZXJJbmZvO1xyXG4gIGNsaWVudElwOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpU2VydmVyIHtcclxuICBhZGRBbGxvd2VkSGVhZGVyKG5hbWU6IHN0cmluZyk6IHZvaWQ7XHJcbiAgYWRkUmVxdWVzdFByb2Nlc3Nvcihwcm9jZXNzQW5kUmV0dXJuVHJ1ZVRvQW91dGhvcmlzZTogKHJlcTogRGF0YUFwaVJlcXVlc3QpID0+IFByb21pc2U8Ym9vbGVhbj4pOiB2b2lkO1xyXG5cclxufSJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YUludGVyZmFjZXMxLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2RhdGFJbnRlcmZhY2VzMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0Esd0NBTUM7Ozs7OztJQUxHLDBEQUEwQzs7Ozs7SUFDMUMsMkRBQWlEOzs7Ozs7SUFDakQsOERBQXlDOzs7OztJQUN6Qyx3REFBK0I7Ozs7O0lBQy9CLDBEQUFnQzs7Ozs7QUFFcEMsaUNBRUM7OztJQURHLDhCQUFlOzs7Ozs7QUFHbkIsb0NBSUM7Ozs7OztJQUhHLHVEQUFxRDs7Ozs7SUFDckQsc0RBQTBEOzs7O0lBQzFELGtEQUFZOzs7OztBQUVoQixxQ0FNQzs7O0lBTEcsZ0NBQW1COztJQUVuQixnQ0FBZTs7SUFDZiwrQkFBYzs7SUFDZCxrREFBOEI7Ozs7OztBQUlsQywwQ0FNQzs7O0lBTEcscUNBQTZCOztJQUM3Qix1Q0FBaUM7O0lBQ2pDLHFDQUFlOztJQUNmLG9DQUFjOztJQUNkLHVEQUE4Qjs7Ozs7QUFHbEMsa0NBR0M7Ozs7OztJQUZHLHFFQUErRDs7Ozs7QUFJbkUsMENBRUM7OztJQURHLG9DQUFVOzs7OztBQUVkLHlDQUdDOzs7Ozs7SUFGRyxvRUFBMEU7Ozs7O0FBRzlFLHlDQUlDOzs7Ozs7SUFIRyw0REFBMkI7Ozs7O0lBQzNCLG9FQUFtQzs7Ozs7O0lBQ25DLG1FQUF3Qzs7Ozs7O0FBRzVDLHdDQWVDOzs7SUFkRyxzQ0FBa0I7O0lBQ2xCLDBDQUF1Qjs7SUFDdkIscUNBQWlCOztJQUNqQiw0Q0FBeUI7O0lBQ3pCLHVDQUFtQjs7SUFDbkIsb0NBQWlDOztJQUNqQyxtQ0FBYTs7SUFDYixxQ0FBOEI7O0lBQzlCLHdDQUF3Qzs7SUFDeEMsc0NBQThCOztJQUM5Qix5Q0FBa0M7O0lBQ2xDLHlDQUF5Qzs7SUFDekMsd0NBQXFCOztJQUNyQixxQ0FBeUQ7Ozs7O0FBRTdELG1DQVFDOzs7SUFQRyxpQ0FBMkI7O0lBQzNCLDhCQUFlOztJQUNmLGlDQUFxQjs7SUFDckIsd0NBQTBCOztJQUMxQiw4QkFBbUI7O0lBQ25CLG1DQUEyQjs7SUFDM0Isa0NBQW1COzs7Ozs7QUFFdkIsbUNBR0M7Ozs7OztJQUZHLGtEQUF5Qjs7Ozs7SUFDekIsb0RBQTJCOzs7OztBQUUvQiwrQkFJQzs7O0lBSEcsK0JBQXdCOztJQUN4Qiw2QkFBcUM7O0lBQ3JDLDZCQUFxQzs7Ozs7QUFJekMsZ0NBRUM7Ozs7OztJQURHLDREQUE2Qzs7Ozs7QUFFakQsb0NBU0M7Ozs7Ozs7SUFSRyw2REFBNEM7Ozs7OztJQUM1QyxtRUFBa0Q7Ozs7OztJQUNsRCxzRUFBcUQ7Ozs7OztJQUNyRCxpRUFBZ0Q7Ozs7OztJQUNoRCxtRUFBa0Q7Ozs7OztJQUNsRCw4REFBNkM7Ozs7OztJQUM3Qyw4REFBOEM7Ozs7OztJQUM5QyxnRUFBZ0Q7Ozs7O0FBR3BELG9DQU1DOzs7SUFGRyw4QkFBZTs7SUFDZixrQ0FBaUI7Ozs7SUFKakIsc0RBQXFCOzs7OztJQUNyQixrREFBc0I7Ozs7O0lBQ3RCLHdEQUErQjs7Ozs7QUFJbkMsbUNBSUM7Ozs7OztJQUhHLCtEQUFxQzs7Ozs7SUFDckMsOEZBQXVHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBFbnRpdHksIFNvcnQsIFNvcnRTZWdtZW50LCBTdHJpbmdDb2x1bW4sIERyb3BEb3duT3B0aW9ucyB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGaW5kT3B0aW9ucyB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuaW1wb3J0IHsgVXNlckluZm8sIEFsbG93ZWQgfSBmcm9tICcuLi9jb250ZXh0L0NvbnRleHQnO1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gICAgY291bnQod2hlcmU6IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj47XHJcbiAgICBmaW5kKG9wdGlvbnM/OiBGaW5kT3B0aW9ucyk6IFByb21pc2U8QXJyYXk8YW55Pj47XHJcbiAgICB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG4gICAgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgaW5zZXJ0KGRhdGE6IGFueSk6IFByb21pc2U8YW55PjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPcHRpb25zIGV4dGVuZHMgRmluZE9wdGlvbnNCYXNlIHtcclxuICAgIG9yZGVyQnk/OiBTb3J0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVByb3ZpZGVyPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gICAgZmluZChvcHRpb25zPzogRmluZE9wdGlvbnNQZXJFbnRpdHk8VD4pOiBQcm9taXNlPFRbXT5cclxuICAgIGNvdW50KHdoZXJlPzogKGVudGl0eTogVCkgPT4gRmlsdGVyQmFzZSk6IFByb21pc2U8bnVtYmVyPjtcclxuICAgIGNyZWF0ZSgpOiBUO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmluZE9wdGlvbnNCYXNlIHtcclxuICAgIHdoZXJlPzogRmlsdGVyQmFzZTtcclxuXHJcbiAgICBsaW1pdD86IG51bWJlcjtcclxuICAgIHBhZ2U/OiBudW1iZXI7XHJcbiAgICBhZGRpdGlvbmFsVXJsUGFyYW1ldGVycz86IGFueTtcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEVudGl0eVdoZXJlPHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gPSAocm93VHlwZTogcm93VHlwZSkgPT4gRmlsdGVyQmFzZTtcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBFbnRpdHlPcmRlckJ5PHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gPSAoKHJvd1R5cGU6IHJvd1R5cGUpID0+IFNvcnQpIHwgKChyb3dUeXBlOiByb3dUeXBlKSA9PiAoQ29sdW1uPGFueT4pKSB8ICgocm93VHlwZTogcm93VHlwZSkgPT4gKENvbHVtbjxhbnk+IHwgU29ydFNlZ21lbnQpW10pO1xyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRPcHRpb25zUGVyRW50aXR5PHJvd1R5cGUgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gICAgd2hlcmU/OiBFbnRpdHlXaGVyZTxyb3dUeXBlPjtcclxuICAgIG9yZGVyQnk/OiBFbnRpdHlPcmRlckJ5PHJvd1R5cGU+O1xyXG4gICAgbGltaXQ/OiBudW1iZXI7XHJcbiAgICBwYWdlPzogbnVtYmVyO1xyXG4gICAgYWRkaXRpb25hbFVybFBhcmFtZXRlcnM/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVByb3ZpZGVyIHtcclxuICAgIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6IEVudGl0eTxhbnk+KTogRW50aXR5RGF0YVByb3ZpZGVyO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgICByb3dzOiBhbnk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0c1RyYW5zYWN0aW9uIGV4dGVuZHMgRGF0YVByb3ZpZGVyIHtcclxuICAgIGRvSW5UcmFuc2FjdGlvbih3aGF0OiAoZHA6IERhdGFQcm92aWRlcikgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD47XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uVmFsdWVQcm92aWRlciB7XHJcbiAgICBnZXRWYWx1ZShrZXk6IHN0cmluZyk6IGFueTtcclxuICAgIGdldE9yaWdpbmFsVmFsdWUoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgICBzZXRWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb2x1bW5PcHRpb25zPHR5cGU+ID0gRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+IHwgc3RyaW5nO1xyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFDb2x1bW5TZXR0aW5nczx0eXBlPiB7XHJcbiAgICBqc29uTmFtZT86IHN0cmluZztcclxuICAgIGluY2x1ZGVJbkFwaT86IEFsbG93ZWQ7XHJcbiAgICBjYXB0aW9uPzogc3RyaW5nO1xyXG4gICAgYWxsb3dBcGlVcGRhdGU/OiBBbGxvd2VkO1xyXG4gICAgaW5wdXRUeXBlPzogc3RyaW5nO1xyXG4gICAgZGJOYW1lPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XHJcbiAgICB2YWx1ZT86IHR5cGU7XHJcbiAgICBzdG9yYWdlPzogQ29sdW1uU3RvcmFnZTx0eXBlPjtcclxuICAgIG9uVmFsaWRhdGU/OiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcclxuICAgIGdldFZhbHVlPzogKHZhbDogdHlwZSkgPT4gYW55O1xyXG4gICAgdmFsdWVDaGFuZ2U/OiAodmFsOiB0eXBlKSA9PiB2b2lkO1xyXG4gICAgdmlydHVhbERhdGE/OiAoKSA9PiB0eXBlIHwgUHJvbWlzZTx0eXBlPjtcclxuICAgIGRiUmVhZE9ubHk/OiBib29sZWFuO1xyXG4gICAgZGlzcGxheT86IChzZW5kRGlzcGxheToodG86Q29sdW1uRGlzcGxheSk9PnZvaWQpID0+IHZvaWQ7IFxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRGlzcGxheSB7XHJcbiAgICBkcm9wRG93bj86IERyb3BEb3duT3B0aW9ucztcclxuICAgIHdpZHRoPzogc3RyaW5nO1xyXG4gICAgZ2V0VmFsdWU/OiAoKSA9PiBhbnk7XHJcbiAgICBoaWRlRGF0YU9uSW5wdXQ/OiBib29sZWFuO1xyXG4gICAgY2xpY2s/OiAoKSA9PiB2b2lkO1xyXG4gICAgYWxsb3dDbGljaz86ICgpID0+IGJvb2xlYW47XHJcbiAgICBjbGlja0ljb24/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5TdG9yYWdlPGRhdGFUeXBlPiB7XHJcbiAgICB0b0RiKHZhbDogZGF0YVR5cGUpOiBhbnk7XHJcbiAgICBmcm9tRGIodmFsOiBhbnkpOiBkYXRhVHlwZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFJvd0V2ZW50cyB7XHJcbiAgICByb3dEZWxldGVkPzogKCkgPT4gdm9pZDtcclxuICAgIHJvd1NhdmVkPzogKG5ld1JvdzogYm9vbGVhbikgPT4gdm9pZDtcclxuICAgIHJvd1Jlc2V0PzogKG5ld1JvdzogYm9vbGVhbikgPT4gdm9pZDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQmFzZSB7XHJcbiAgICBfX2FwcGx5VG9Db25zdW1lcihhZGQ6IEZpbHRlckNvbnN1bWVyKTogdm9pZDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbnN1bWVyIHtcclxuICAgIGlzRXF1YWxUbyhjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQ7XHJcbiAgICBpc0RpZmZlcmVudEZyb20oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNHcmVhdGVyT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICAgIGlzR3JlYXRlclRoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNMZXNzT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZDtcclxuICAgIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNDb250YWlucyhjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkO1xyXG4gICAgaXNTdGFydHNXaXRoKGNvbDogU3RyaW5nQ29sdW1uLCB2YWw6IGFueSk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUFwaVJlcXVlc3Qge1xyXG4gICAgZ2V0QmFzZVVybCgpOiBzdHJpbmc7XHJcbiAgICBnZXQoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgICBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBzdHJpbmc7XHJcbiAgICB1c2VyOiBVc2VySW5mbztcclxuICAgIGNsaWVudElwOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpU2VydmVyIHtcclxuICAgIGFkZEFsbG93ZWRIZWFkZXIobmFtZTogc3RyaW5nKTogdm9pZDtcclxuICAgIGFkZFJlcXVlc3RQcm9jZXNzb3IocHJvY2Vzc0FuZFJldHVyblRydWVUb0FvdXRob3Jpc2U6IChyZXE6IERhdGFBcGlSZXF1ZXN0KSA9PiBQcm9taXNlPGJvb2xlYW4+KTogdm9pZDtcclxuXHJcbn0iXX0= |
@@ -11,17 +11,15 @@ /** | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
InMemoryDataProvider.prototype.provideFor = /** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
InMemoryDataProvider.prototype.getEntityDataProvider = /** | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
function (name, factory) { | ||
function (entity) { | ||
/** @type {?} */ | ||
var name = entity.__getName(); | ||
if (!this.rows[name]) | ||
this.rows[name] = []; | ||
return new ActualInMemoryDataProvider(factory, this.rows[name]); | ||
return new ActualInMemoryDataProvider(entity, this.rows[name]); | ||
}; | ||
@@ -42,11 +40,5 @@ /** | ||
} | ||
/** | ||
* @template T | ||
*/ | ||
var /** | ||
* @template T | ||
*/ | ||
ActualInMemoryDataProvider = /** @class */ (function () { | ||
function ActualInMemoryDataProvider(factory, rows) { | ||
this.factory = factory; | ||
var ActualInMemoryDataProvider = /** @class */ (function () { | ||
function ActualInMemoryDataProvider(entity, rows) { | ||
this.entity = entity; | ||
this.rows = rows; | ||
@@ -179,4 +171,2 @@ if (!rows) | ||
function (id) { | ||
if (!this.entity) | ||
this.entity = this.factory(); | ||
/** @type {?} */ | ||
@@ -258,5 +248,2 @@ var f = this.entity.__idColumn.isEqualTo(id); | ||
}()); | ||
/** | ||
* @template T | ||
*/ | ||
export { ActualInMemoryDataProvider }; | ||
@@ -273,7 +260,2 @@ if (false) { | ||
*/ | ||
ActualInMemoryDataProvider.prototype.factory; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualInMemoryDataProvider.prototype.rows; | ||
@@ -456,2 +438,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlEYXRhYmFzZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9pbk1lbW9yeURhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUE7SUFBQTtRQUNFLFNBQUksR0FBUSxFQUFFLENBQUM7SUFPakIsQ0FBQzs7Ozs7OztJQU5RLHlDQUFVOzs7Ozs7SUFBakIsVUFBeUMsSUFBWSxFQUFFLE9BQWdCO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksMEJBQTBCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7O0lBQ0QsdUNBQVE7OztJQUFSLGNBQWEsT0FBTyxzQkFBc0IsQ0FBQSxDQUFDLENBQUM7SUFDOUMsMkJBQUM7QUFBRCxDQUFDLEFBUkQsSUFRQzs7OztJQVBDLG9DQUFlOzs7OztBQVlqQjs7OztJQUlFLG9DQUFvQixPQUFnQixFQUFVLElBQVk7UUFBdEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFDeEQsSUFBSSxDQUFDLElBQUk7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsQ0FBQzs7Ozs7SUFDSywwQ0FBSzs7OztJQUFYLFVBQVksS0FBa0I7Ozs7Z0JBQ3hCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSTtnQkFDaEIsQ0FBQyxHQUFHLENBQUM7Z0JBQ1QsS0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNWLENBQUMsRUFBRSxDQUFDO3FCQUNM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QUM7UUFDZCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0gsbUNBQUM7QUFBRCxDQUFDLEFBekRELElBeURDOzs7SUF2REMsMENBQVU7Ozs7O0lBQ0UsMkNBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5cclxuXHJcblxyXG5pbXBvcnQgeyBFbnRpdHksIENvbHVtbiwgU3RyaW5nQ29sdW1uIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IEZpbHRlckJhc2UsIERhdGFQcm92aWRlckZhY3RvcnksIERhdGFQcm92aWRlciwgRmluZE9wdGlvbnMsIEZpbHRlckNvbnN1bWVyLCBSb3dzT2ZEYXRhRm9yVGVzdGluZyB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuXHJcblxyXG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBtYWtlVGl0bGUgfSBmcm9tICcuL2NvbW1vbic7XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBJbk1lbW9yeURhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlckZhY3RvcnksIFJvd3NPZkRhdGFGb3JUZXN0aW5nIHtcclxuICByb3dzOiBhbnkgPSB7fTtcclxuICBwdWJsaWMgcHJvdmlkZUZvcjxUIGV4dGVuZHMgRW50aXR5PGFueT4+KG5hbWU6IHN0cmluZywgZmFjdG9yeTogKCkgPT4gVCk6IERhdGFQcm92aWRlciB7XHJcbiAgICBpZiAoIXRoaXMucm93c1tuYW1lXSlcclxuICAgICAgdGhpcy5yb3dzW25hbWVdID0gW107XHJcbiAgICByZXR1cm4gbmV3IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyKGZhY3RvcnksIHRoaXMucm93c1tuYW1lXSk7XHJcbiAgfVxyXG4gIHRvU3RyaW5nKCkgeyByZXR1cm4gXCJJbk1lbW9yeURhdGFQcm92aWRlclwiIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4gaW1wbGVtZW50cyBEYXRhUHJvdmlkZXIge1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogKCkgPT4gVCwgcHJpdmF0ZSByb3dzPzogYW55W10pIHtcclxuICAgIGlmICghcm93cylcclxuICAgICAgcm93cyA9IFtdO1xyXG5cclxuICB9XHJcbiAgYXN5bmMgY291bnQod2hlcmU/OiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGxldCByb3dzID0gdGhpcy5yb3dzO1xyXG4gICAgbGV0IGogPSAwO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICghd2hlcmUpIHtcclxuICAgICAgICBqKys7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgbGV0IHggPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb09iamVjdChyb3dzW2ldKTtcclxuICAgICAgICB3aGVyZS5fX2FwcGx5VG9Db25zdW1lcih4KTtcclxuICAgICAgICBpZiAoeC5vaylcclxuICAgICAgICAgIGorKztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHJldHVybiBqO1xyXG4gIH1cclxuICBhc3luYyBmaW5kKG9wdGlvbnM/OiBGaW5kT3B0aW9ucyk6IFByb21pc2U8YW55W10+IHtcclxuXHJcbiAgICBsZXQgcm93cyA9IHRoaXMucm93cztcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGlmIChvcHRpb25zLndoZXJlKSB7XHJcbiAgICAgICAgcm93cyA9IHJvd3MuZmlsdGVyKGkgPT4ge1xyXG4gICAgICAgICAgbGV0IHggPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb09iamVjdChpKTtcclxuXHJcbiAgICAgICAgICBvcHRpb25zLndoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKHgpO1xyXG4gICAgICAgICAgcmV0dXJuIHgub2s7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9wdGlvbnMub3JkZXJCeSkge1xyXG4gICAgICAgIHJvd3MgPSByb3dzLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgciA9IDA7XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMub3JkZXJCeS5TZWdtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgc2VnID0gb3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzW2ldO1xyXG4gICAgICAgICAgICBsZXQgbGVmdCA9IGFbc2VnLmNvbHVtbi5qc29uTmFtZV07XHJcbiAgICAgICAgICAgIGxldCByaWdodCA9IGJbc2VnLmNvbHVtbi5qc29uTmFtZV07XHJcbiAgICAgICAgICAgIGlmIChsZWZ0ID4gcmlnaHQpXHJcbiAgICAgICAgICAgICAgciA9IDE7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGxlZnQgPCByaWdodClcclxuICAgICAgICAgICAgICByID0gLTE7XHJcbiAgICAgICAgICAgIGlmIChyICE9IDApIHtcclxuICAgICAgICAgICAgICBpZiAoc2VnLmRlc2NlbmRpbmcpXHJcbiAgICAgICAgICAgICAgICByICo9IC0xO1xyXG4gICAgICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByb3dzID0gcGFnZUFycmF5KHJvd3MsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gICAgaWYgKHJvd3MpXHJcbiAgICAgIHJldHVybiByb3dzLm1hcChpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXAoaSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICB9XHJcbiAgbWFwKGk6IGFueSk6IGFueSB7XHJcbiAgICBsZXQgciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaSkpO1xyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIHByaXZhdGUgZW50aXR5OiBFbnRpdHk8YW55PjtcclxuICBwcml2YXRlIGlkTWF0Y2hlcyhpZDogYW55KTogKGl0ZW06IGFueSkgPT4gYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZW50aXR5KVxyXG4gICAgICB0aGlzLmVudGl0eSA9IHRoaXMuZmFjdG9yeSgpO1xyXG4gICAgbGV0IGYgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCk7XHJcbiAgICByZXR1cm4gaXRlbSA9PiB7XHJcbiAgICAgIGxldCB4ID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9PYmplY3QoaXRlbSk7XHJcbiAgICAgIGYuX19hcHBseVRvQ29uc3VtZXIoeCk7XHJcbiAgICAgIHJldHVybiB4Lm9rO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgbGV0IGlkTWF0Y2hlcyA9IHRoaXMuaWRNYXRjaGVzKGlkKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucm93cy5sZW5ndGg7IGkrKykge1xyXG5cclxuICAgICAgaWYgKGlkTWF0Y2hlcyh0aGlzLnJvd3NbaV0pKSB7XHJcbiAgICAgICAgdGhpcy5yb3dzW2ldID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5yb3dzW2ldLCBkYXRhKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMubWFwKHRoaXMucm93c1tpXSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjb3VsZG4ndCBmaW5kIGlkIHRvIHVwZGF0ZTogXCIgKyBpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBpZE1hdGNoZXMgPSB0aGlzLmlkTWF0Y2hlcyhpZCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoaWRNYXRjaGVzKHRoaXMucm93c1tpXSkpIHtcclxuICAgICAgICB0aGlzLnJvd3Muc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY291bGRuJ3QgZmluZCBpZCB0byBkZWxldGU6IFwiICsgaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGRhdGEuaWQpXHJcbiAgICAgIHRoaXMucm93cy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmlkID09IGkuaWQpXHJcbiAgICAgICAgICB0aHJvdyBFcnJvcihcImlkIGFscmVhZHkgZXhpc3RzXCIpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMucm93cy5wdXNoKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpKTtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSkpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZnVuY3Rpb24gcGFnZUFycmF5KHJvd3M6IGFueVtdLCBvcHRpb25zPzogRmluZE9wdGlvbnMpIHtcclxuICBpZiAoIW9wdGlvbnMpXHJcbiAgICByZXR1cm4gcm93cztcclxuICBpZiAoIW9wdGlvbnMubGltaXQpXHJcbiAgICByZXR1cm4gcm93cztcclxuICBsZXQgcGFnZSA9IDE7XHJcbiAgaWYgKG9wdGlvbnMucGFnZSlcclxuICAgIHBhZ2UgPSBvcHRpb25zLnBhZ2U7XHJcbiAgaWYgKHBhZ2UgPCAxKVxyXG4gICAgcGFnZSA9IDE7XHJcbiAgbGV0IHggPSAwO1xyXG4gIHJldHVybiByb3dzLmZpbHRlcihpID0+IHtcclxuICAgIHgrKztcclxuICAgIGxldCBtYXggPSBwYWdlICogb3B0aW9ucy5saW1pdDtcclxuICAgIGxldCBtaW4gPSBtYXggLSBvcHRpb25zLmxpbWl0O1xyXG4gICAgcmV0dXJuIHggPiBtaW4gJiYgeCA8PSBtYXg7XHJcbiAgfSk7XHJcbn1cclxuY2xhc3MgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb09iamVjdCBpbXBsZW1lbnRzIEZpbHRlckNvbnN1bWVyIHtcclxuXHJcbiAgb2sgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm93OiBhbnkpIHsgfVxyXG4gIHB1YmxpYyBpc0VxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSAhPSB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0RpZmZlcmVudEZyb20oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdID09IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzR3JlYXRlck9yRXF1YWxUbyhjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPCB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0dyZWF0ZXJUaGFuKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPD0gdmFsKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNMZXNzT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSA+IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdID49IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuICBwdWJsaWMgaXNDb250YWlucyhjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2ID0gdGhpcy5yb3dbY29sLmpzb25OYW1lXTtcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcyA9ICcnICsgdjtcclxuICAgIGlmIChzLmluZGV4T2YodmFsKSA8IDApXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcbiAgcHVibGljIGlzU3RhcnRzV2l0aChjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2ID0gdGhpcy5yb3dbY29sLmpzb25OYW1lXTtcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcyA9ICcnICsgdjtcclxuICAgIGlmIChzLmluZGV4T2YodmFsKSAhPSAwKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlEYXRhYmFzZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9pbk1lbW9yeURhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUE7SUFBQTtRQUNFLFNBQUksR0FBUSxFQUFFLENBQUM7SUFRakIsQ0FBQzs7Ozs7SUFQUSxvREFBcUI7Ozs7SUFBNUIsVUFBNkIsTUFBa0I7O1lBQ3pDLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksMEJBQTBCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7O0lBQ0QsdUNBQVE7OztJQUFSLGNBQWEsT0FBTyxzQkFBc0IsQ0FBQSxDQUFDLENBQUM7SUFDOUMsMkJBQUM7QUFBRCxDQUFDLEFBVEQsSUFTQzs7OztJQVJDLG9DQUFlOztBQWFqQjtJQUlFLG9DQUFvQixNQUFrQixFQUFVLElBQVk7UUFBeEMsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFDMUQsSUFBSSxDQUFDLElBQUk7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsQ0FBQzs7Ozs7SUFDSywwQ0FBSzs7OztJQUFYLFVBQVksS0FBa0I7Ozs7Z0JBQ3hCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSTtnQkFDaEIsQ0FBQyxHQUFHLENBQUM7Z0JBQ1QsS0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNWLENB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Q0FBQztJQUNwQixDQUFDO0lBQ0gsbUNBQUM7QUFBRCxDQUFDLEFBekRELElBeURDOzs7SUF2REMsMENBQVU7Ozs7O0lBQ0UsMkNBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5cclxuXHJcblxyXG5pbXBvcnQgeyBFbnRpdHksIENvbHVtbiwgU3RyaW5nQ29sdW1uIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IEZpbHRlckJhc2UsIERhdGFQcm92aWRlciwgRW50aXR5RGF0YVByb3ZpZGVyLCBGaW5kT3B0aW9ucywgRmlsdGVyQ29uc3VtZXIsIFJvd3NPZkRhdGFGb3JUZXN0aW5nIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5cclxuXHJcbmltcG9ydCB7IGlzRnVuY3Rpb24sIG1ha2VUaXRsZSB9IGZyb20gJy4vY29tbW9uJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEluTWVtb3J5RGF0YVByb3ZpZGVyIGltcGxlbWVudHMgRGF0YVByb3ZpZGVyLCBSb3dzT2ZEYXRhRm9yVGVzdGluZyB7XHJcbiAgcm93czogYW55ID0ge307XHJcbiAgcHVibGljIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6RW50aXR5PGFueT4pOiBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gICAgbGV0IG5hbWUgPSBlbnRpdHkuX19nZXROYW1lKCk7XHJcbiAgICBpZiAoIXRoaXMucm93c1tuYW1lXSlcclxuICAgICAgdGhpcy5yb3dzW25hbWVdID0gW107XHJcbiAgICByZXR1cm4gbmV3IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyKGVudGl0eSwgdGhpcy5yb3dzW25hbWVdKTtcclxuICB9XHJcbiAgdG9TdHJpbmcoKSB7IHJldHVybiBcIkluTWVtb3J5RGF0YVByb3ZpZGVyXCIgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQWN0dWFsSW5NZW1vcnlEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OkVudGl0eTxhbnk+LCBwcml2YXRlIHJvd3M/OiBhbnlbXSkge1xyXG4gICAgaWYgKCFyb3dzKVxyXG4gICAgICByb3dzID0gW107XHJcblxyXG4gIH1cclxuICBhc3luYyBjb3VudCh3aGVyZT86IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgbGV0IHJvd3MgPSB0aGlzLnJvd3M7XHJcbiAgICBsZXQgaiA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKCF3aGVyZSkge1xyXG4gICAgICAgIGorKztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgeCA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvT2JqZWN0KHJvd3NbaV0pO1xyXG4gICAgICAgIHdoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKHgpO1xyXG4gICAgICAgIGlmICh4Lm9rKVxyXG4gICAgICAgICAgaisrO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGo7XHJcbiAgfVxyXG4gIGFzeW5jIGZpbmQob3B0aW9ucz86IEZpbmRPcHRpb25zKTogUHJvbWlzZTxhbnlbXT4ge1xyXG5cclxuICAgIGxldCByb3dzID0gdGhpcy5yb3dzO1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMud2hlcmUpIHtcclxuICAgICAgICByb3dzID0gcm93cy5maWx0ZXIoaSA9PiB7XHJcbiAgICAgICAgICBsZXQgeCA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvT2JqZWN0KGkpO1xyXG5cclxuICAgICAgICAgIG9wdGlvbnMud2hlcmUuX19hcHBseVRvQ29uc3VtZXIoeCk7XHJcbiAgICAgICAgICByZXR1cm4geC5vaztcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9ucy5vcmRlckJ5KSB7XHJcbiAgICAgICAgcm93cyA9IHJvd3Muc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgIGxldCByID0gMDtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBzZWcgPSBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHNbaV07XHJcbiAgICAgICAgICAgIGxldCBsZWZ0ID0gYVtzZWcuY29sdW1uLmpzb25OYW1lXTtcclxuICAgICAgICAgICAgbGV0IHJpZ2h0ID0gYltzZWcuY29sdW1uLmpzb25OYW1lXTtcclxuICAgICAgICAgICAgaWYgKGxlZnQgPiByaWdodClcclxuICAgICAgICAgICAgICByID0gMTtcclxuICAgICAgICAgICAgZWxzZSBpZiAobGVmdCA8IHJpZ2h0KVxyXG4gICAgICAgICAgICAgIHIgPSAtMTtcclxuICAgICAgICAgICAgaWYgKHIgIT0gMCkge1xyXG4gICAgICAgICAgICAgIGlmIChzZWcuZGVzY2VuZGluZylcclxuICAgICAgICAgICAgICAgIHIgKj0gLTE7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJvd3MgPSBwYWdlQXJyYXkocm93cywgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBpZiAocm93cylcclxuICAgICAgcmV0dXJuIHJvd3MubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1hcChpKTtcclxuICAgICAgfSk7XHJcblxyXG4gIH1cclxuICBtYXAoaTogYW55KTogYW55IHtcclxuICAgIGxldCByID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpKSk7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBpZE1hdGNoZXMoaWQ6IGFueSk6IChpdGVtOiBhbnkpID0+IGJvb2xlYW4ge1xyXG4gICAgbGV0IGYgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCk7XHJcbiAgICByZXR1cm4gaXRlbSA9PiB7XHJcbiAgICAgIGxldCB4ID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9PYmplY3QoaXRlbSk7XHJcbiAgICAgIGYuX19hcHBseVRvQ29uc3VtZXIoeCk7XHJcbiAgICAgIHJldHVybiB4Lm9rO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgbGV0IGlkTWF0Y2hlcyA9IHRoaXMuaWRNYXRjaGVzKGlkKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucm93cy5sZW5ndGg7IGkrKykge1xyXG5cclxuICAgICAgaWYgKGlkTWF0Y2hlcyh0aGlzLnJvd3NbaV0pKSB7XHJcbiAgICAgICAgdGhpcy5yb3dzW2ldID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5yb3dzW2ldLCBkYXRhKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMubWFwKHRoaXMucm93c1tpXSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjb3VsZG4ndCBmaW5kIGlkIHRvIHVwZGF0ZTogXCIgKyBpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBpZE1hdGNoZXMgPSB0aGlzLmlkTWF0Y2hlcyhpZCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoaWRNYXRjaGVzKHRoaXMucm93c1tpXSkpIHtcclxuICAgICAgICB0aGlzLnJvd3Muc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY291bGRuJ3QgZmluZCBpZCB0byBkZWxldGU6IFwiICsgaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGRhdGEuaWQpXHJcbiAgICAgIHRoaXMucm93cy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmlkID09IGkuaWQpXHJcbiAgICAgICAgICB0aHJvdyBFcnJvcihcImlkIGFscmVhZHkgZXhpc3RzXCIpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMucm93cy5wdXNoKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpKTtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSkpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZnVuY3Rpb24gcGFnZUFycmF5KHJvd3M6IGFueVtdLCBvcHRpb25zPzogRmluZE9wdGlvbnMpIHtcclxuICBpZiAoIW9wdGlvbnMpXHJcbiAgICByZXR1cm4gcm93cztcclxuICBpZiAoIW9wdGlvbnMubGltaXQpXHJcbiAgICByZXR1cm4gcm93cztcclxuICBsZXQgcGFnZSA9IDE7XHJcbiAgaWYgKG9wdGlvbnMucGFnZSlcclxuICAgIHBhZ2UgPSBvcHRpb25zLnBhZ2U7XHJcbiAgaWYgKHBhZ2UgPCAxKVxyXG4gICAgcGFnZSA9IDE7XHJcbiAgbGV0IHggPSAwO1xyXG4gIHJldHVybiByb3dzLmZpbHRlcihpID0+IHtcclxuICAgIHgrKztcclxuICAgIGxldCBtYXggPSBwYWdlICogb3B0aW9ucy5saW1pdDtcclxuICAgIGxldCBtaW4gPSBtYXggLSBvcHRpb25zLmxpbWl0O1xyXG4gICAgcmV0dXJuIHggPiBtaW4gJiYgeCA8PSBtYXg7XHJcbiAgfSk7XHJcbn1cclxuY2xhc3MgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb09iamVjdCBpbXBsZW1lbnRzIEZpbHRlckNvbnN1bWVyIHtcclxuXHJcbiAgb2sgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm93OiBhbnkpIHsgfVxyXG4gIHB1YmxpYyBpc0VxdWFsVG8oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSAhPSB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0RpZmZlcmVudEZyb20oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdID09IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzR3JlYXRlck9yRXF1YWxUbyhjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPCB2YWwpXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0dyZWF0ZXJUaGFuKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMucm93W2NvbC5qc29uTmFtZV0gPD0gdmFsKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNMZXNzT3JFcXVhbFRvKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3dbY29sLmpzb25OYW1lXSA+IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTGVzc1RoYW4oY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvd1tjb2wuanNvbk5hbWVdID49IHZhbClcclxuICAgICAgdGhpcy5vayA9IGZhbHNlO1xyXG4gIH1cclxuICBwdWJsaWMgaXNDb250YWlucyhjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2ID0gdGhpcy5yb3dbY29sLmpzb25OYW1lXTtcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcyA9ICcnICsgdjtcclxuICAgIGlmIChzLmluZGV4T2YodmFsKSA8IDApXHJcbiAgICAgIHRoaXMub2sgPSBmYWxzZTtcclxuICB9XHJcbiAgcHVibGljIGlzU3RhcnRzV2l0aChjb2w6IFN0cmluZ0NvbHVtbiwgdmFsOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2ID0gdGhpcy5yb3dbY29sLmpzb25OYW1lXTtcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcyA9ICcnICsgdjtcclxuICAgIGlmIChzLmluZGV4T2YodmFsKSAhPSAwKVxyXG4gICAgICB0aGlzLm9rID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0= |
@@ -143,2 +143,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLGlDQUVDOzs7Ozs7O0lBREMsbURBQThEOzs7OztBQUloRTs7OztJQUVFLGlDQUFvQixNQUFtQjtRQUFuQixXQUFNLEdBQU4sTUFBTSxDQUFhO0lBRXZDLENBQUM7Ozs7O0lBQ0Qsc0NBQUk7Ozs7SUFBSixVQUFLLE9BQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztRQUFDLFVBQUMsRUFBRSxFQUFFLElBQUksSUFBSyxPQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQWhCLENBQWdCLEVBQUMsQ0FBQztJQUM1RCxDQUFDOzs7OztJQUNELHVDQUFLOzs7O0lBQUwsVUFBTSxLQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTs7Ozs7UUFBQyxVQUFDLEVBQUUsRUFBRSxJQUFJLElBQUssT0FBQSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFmLENBQWUsRUFBQyxDQUFDO0lBQzNELENBQUM7Ozs7OztJQUdELHdDQUFNOzs7OztJQUFOLFVBQU8sRUFBTyxFQUFFLElBQVM7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsVUFBQyxFQUFFLEVBQUUsSUFBSSxJQUFLLE9BQUEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQztZQUNoRSxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFDLEVBSHNDLENBR3RDLEVBQUMsQ0FBQTtJQUVMLENBQUM7Ozs7O0lBQ0Qsd0NBQU07Ozs7SUFBTixVQUFPLEVBQU87UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTs7Ozs7UUFBQyxVQUFDLEVBQUUsRUFBRSxJQUFJLElBQUssT0FBQSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLENBQUM7WUFDMUQsSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsRUFBQyxFQUhzQyxDQUd0QyxFQUFDLENBQUE7SUFDTCxDQUFDOzs7OztJQUNELHdDQUFNOzs7O0lBQU4sVUFBTyxJQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsVUFBQyxFQUFFLEVBQUUsSUFBSSxJQUFLLE9BQUEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQSxDQUFDO1lBQzVELElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQUMsRUFIc0MsQ0FHdEMsRUFBQyxDQUFBO0lBQ0wsQ0FBQztJQUVILDhCQUFDO0FBQUQsQ0FBQyxBQWpDRCxJQWlDQzs7Ozs7Ozs7OztJQS9CYSx5Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgRGF0YVByb3ZpZGVyLCBGaW5kT3B0aW9ucywgRmlsdGVyQmFzZSB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuZXhwb3J0IGludGVyZmFjZSBKc29uU3RvcmFnZSB7XHJcbiAgZG9Xb3JrPFQ+KHdoYXQ6IChkcDogRGF0YVByb3ZpZGVyLCBzYXZlOiAoKSA9PiB2b2lkKSA9PiBUKTogVDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBKc29uU3RvcmFnZURhdGFQcm92aWRlcjxUIGV4dGVuZHMgRW50aXR5PGFueT4+IGltcGxlbWVudHMgRGF0YVByb3ZpZGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBoZWxwZXI6IEpzb25TdG9yYWdlKSB7XHJcblxyXG4gIH1cclxuICBmaW5kKG9wdGlvbnM/OiBGaW5kT3B0aW9ucyk6IFByb21pc2U8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5maW5kKG9wdGlvbnMpKTtcclxuICB9XHJcbiAgY291bnQod2hlcmU/OiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5jb3VudCh3aGVyZSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZShpZDogYW55LCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLnVwZGF0ZShpZCwgZGF0YSkudGhlbih4ID0+IHtcclxuICAgICAgc2F2ZSgpO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pKVxyXG5cclxuICB9XHJcbiAgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5kZWxldGUoaWQpLnRoZW4oeCA9PiB7XHJcbiAgICAgIHNhdmUoKTtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KSlcclxuICB9XHJcbiAgaW5zZXJ0KGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWxwZXIuZG9Xb3JrKChkcCwgc2F2ZSkgPT4gZHAuaW5zZXJ0KGRhdGEpLnRoZW4oeCA9PiB7XHJcbiAgICAgIHNhdmUoKTtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLGlDQUVDOzs7Ozs7O0lBREMsbURBQW9FOzs7OztBQUl0RTs7OztJQUVFLGlDQUFvQixNQUFtQjtRQUFuQixXQUFNLEdBQU4sTUFBTSxDQUFhO0lBRXZDLENBQUM7Ozs7O0lBQ0Qsc0NBQUk7Ozs7SUFBSixVQUFLLE9BQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7OztRQUFDLFVBQUMsRUFBRSxFQUFFLElBQUksSUFBSyxPQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQWhCLENBQWdCLEVBQUMsQ0FBQztJQUM1RCxDQUFDOzs7OztJQUNELHVDQUFLOzs7O0lBQUwsVUFBTSxLQUFrQjtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTs7Ozs7UUFBQyxVQUFDLEVBQUUsRUFBRSxJQUFJLElBQUssT0FBQSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFmLENBQWUsRUFBQyxDQUFDO0lBQzNELENBQUM7Ozs7OztJQUdELHdDQUFNOzs7OztJQUFOLFVBQU8sRUFBTyxFQUFFLElBQVM7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsVUFBQyxFQUFFLEVBQUUsSUFBSSxJQUFLLE9BQUEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQztZQUNoRSxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFDLEVBSHNDLENBR3RDLEVBQUMsQ0FBQTtJQUVMLENBQUM7Ozs7O0lBQ0Qsd0NBQU07Ozs7SUFBTixVQUFPLEVBQU87UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTs7Ozs7UUFBQyxVQUFDLEVBQUUsRUFBRSxJQUFJLElBQUssT0FBQSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLENBQUM7WUFDMUQsSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsRUFBQyxFQUhzQyxDQUd0QyxFQUFDLENBQUE7SUFDTCxDQUFDOzs7OztJQUNELHdDQUFNOzs7O0lBQU4sVUFBTyxJQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Ozs7O1FBQUMsVUFBQyxFQUFFLEVBQUUsSUFBSSxJQUFLLE9BQUEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQSxDQUFDO1lBQzVELElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQUMsRUFIc0MsQ0FHdEMsRUFBQyxDQUFBO0lBQ0wsQ0FBQztJQUVILDhCQUFDO0FBQUQsQ0FBQyxBQWpDRCxJQWlDQzs7Ozs7Ozs7OztJQS9CYSx5Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgRW50aXR5RGF0YVByb3ZpZGVyLCBGaW5kT3B0aW9ucywgRmlsdGVyQmFzZSB9IGZyb20gJy4vZGF0YUludGVyZmFjZXMxJztcclxuZXhwb3J0IGludGVyZmFjZSBKc29uU3RvcmFnZSB7XHJcbiAgZG9Xb3JrPFQ+KHdoYXQ6IChkcDogRW50aXR5RGF0YVByb3ZpZGVyLCBzYXZlOiAoKSA9PiB2b2lkKSA9PiBUKTogVDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBKc29uU3RvcmFnZURhdGFQcm92aWRlcjxUIGV4dGVuZHMgRW50aXR5PGFueT4+IGltcGxlbWVudHMgRW50aXR5RGF0YVByb3ZpZGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBoZWxwZXI6IEpzb25TdG9yYWdlKSB7XHJcblxyXG4gIH1cclxuICBmaW5kKG9wdGlvbnM/OiBGaW5kT3B0aW9ucyk6IFByb21pc2U8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5maW5kKG9wdGlvbnMpKTtcclxuICB9XHJcbiAgY291bnQod2hlcmU/OiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5jb3VudCh3aGVyZSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZShpZDogYW55LCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVscGVyLmRvV29yaygoZHAsIHNhdmUpID0+IGRwLnVwZGF0ZShpZCwgZGF0YSkudGhlbih4ID0+IHtcclxuICAgICAgc2F2ZSgpO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pKVxyXG5cclxuICB9XHJcbiAgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmhlbHBlci5kb1dvcmsoKGRwLCBzYXZlKSA9PiBkcC5kZWxldGUoaWQpLnRoZW4oeCA9PiB7XHJcbiAgICAgIHNhdmUoKTtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KSlcclxuICB9XHJcbiAgaW5zZXJ0KGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWxwZXIuZG9Xb3JrKChkcCwgc2F2ZSkgPT4gZHAuaW5zZXJ0KGRhdGEpLnRoZW4oeCA9PiB7XHJcbiAgICAgIHNhdmUoKTtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ== |
@@ -11,15 +11,11 @@ /** | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
LocalStorageDataProvider.prototype.provideFor = /** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
LocalStorageDataProvider.prototype.getEntityDataProvider = /** | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
function (name, factory) { | ||
return new JsonStorageDataProvider(new LocalJsonStorage(name, factory)); | ||
function (entity) { | ||
return new JsonStorageDataProvider(new LocalJsonStorage(entity.__getName(), entity)); | ||
}; | ||
@@ -30,5 +26,5 @@ return LocalStorageDataProvider; | ||
var LocalJsonStorage = /** @class */ (function () { | ||
function LocalJsonStorage(key, factory) { | ||
function LocalJsonStorage(key, entity) { | ||
this.key = key; | ||
this.factory = factory; | ||
this.entity = entity; | ||
} | ||
@@ -58,3 +54,3 @@ /** | ||
/** @type {?} */ | ||
var dp = new ActualInMemoryDataProvider(this.factory, data); | ||
var dp = new ActualInMemoryDataProvider(this.entity, data); | ||
return what(dp, (/** | ||
@@ -77,4 +73,4 @@ * @return {?} | ||
*/ | ||
LocalJsonStorage.prototype.factory; | ||
LocalJsonStorage.prototype.entity; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2xvY2FsU3RvcmFnZURhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFLakY7SUFDRTtJQUVBLENBQUM7Ozs7Ozs7SUFDTSw2Q0FBVTs7Ozs7O0lBQWpCLFVBQXlDLElBQVksRUFBRSxPQUFnQjtRQUNyRSxPQUFPLElBQUksdUJBQXVCLENBQUksSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBQ0gsK0JBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQzs7QUFFRDtJQUNFLDBCQUFvQixHQUFXLEVBQVUsT0FBMEI7UUFBL0MsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBRW5FLENBQUM7Ozs7OztJQUNELGlDQUFNOzs7OztJQUFOLFVBQVUsSUFBK0M7UUFBekQsaUJBWUM7O1lBWEssSUFBSSxHQUFRLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxJQUFJO1lBQ0YsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksR0FBRyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxDQUFDLElBQUksWUFBWSxLQUFLLENBQUM7WUFDMUIsSUFBSSxHQUFHLEVBQUUsQ0FBQzs7WUFDUixFQUFFLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxFQUFFOzs7UUFBRSxjQUFNLE9BQUEsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFsRSxDQUFrRSxFQUFDLENBQUM7SUFDNUYsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQWpCRCxJQWlCQzs7Ozs7O0lBaEJhLCtCQUFtQjs7Ozs7SUFBRSxtQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3R1YWxJbk1lbW9yeURhdGFQcm92aWRlciB9IGZyb20gJy4vaW5NZW1vcnlEYXRhYmFzZSc7XHJcbmltcG9ydCB7IEpzb25TdG9yYWdlRGF0YVByb3ZpZGVyLCBKc29uU3RvcmFnZSB9IGZyb20gJy4vSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXInO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgRGF0YVByb3ZpZGVyRmFjdG9yeSwgRGF0YVByb3ZpZGVyIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBEYXRhUHJvdmlkZXJGYWN0b3J5IHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgfVxyXG4gIHB1YmxpYyBwcm92aWRlRm9yPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4obmFtZTogc3RyaW5nLCBmYWN0b3J5OiAoKSA9PiBUKTogRGF0YVByb3ZpZGVyIHtcclxuICAgIHJldHVybiBuZXcgSnNvblN0b3JhZ2VEYXRhUHJvdmlkZXI8VD4obmV3IExvY2FsSnNvblN0b3JhZ2UobmFtZSwgZmFjdG9yeSkpO1xyXG4gIH1cclxufVxyXG5cclxuY2xhc3MgTG9jYWxKc29uU3RvcmFnZSBpbXBsZW1lbnRzIEpzb25TdG9yYWdlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGtleTogc3RyaW5nLCBwcml2YXRlIGZhY3Rvcnk6ICgpID0+IEVudGl0eTxhbnk+KSB7XHJcblxyXG4gIH1cclxuICBkb1dvcms8VD4od2hhdDogKGRwOiBEYXRhUHJvdmlkZXIsIHNhdmU6ICgpID0+IHZvaWQpID0+IFQpOiBUIHtcclxuICAgIGxldCBkYXRhOiBhbnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleSk7XHJcbiAgICB0cnkge1xyXG4gICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgZGF0YSA9IFtdO1xyXG4gICAgfVxyXG4gICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIEFycmF5KSlcclxuICAgICAgZGF0YSA9IFtdO1xyXG4gICAgbGV0IGRwID0gbmV3IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyKHRoaXMuZmFjdG9yeSwgZGF0YSk7XHJcbiAgICByZXR1cm4gd2hhdChkcCwgKCkgPT4gbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIEpTT04uc3RyaW5naWZ5KGRhdGEsIHVuZGVmaW5lZCwgMikpKTtcclxuICB9XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL2xvY2FsU3RvcmFnZURhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFLakY7SUFDRTtJQUVBLENBQUM7Ozs7O0lBQ00sd0RBQXFCOzs7O0lBQTVCLFVBQTZCLE1BQWtCO1FBQzdDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLGdCQUFnQixDQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUFQRCxJQU9DOztBQUVEO0lBQ0UsMEJBQW9CLEdBQVcsRUFBVSxNQUFtQjtRQUF4QyxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUU1RCxDQUFDOzs7Ozs7SUFDRCxpQ0FBTTs7Ozs7SUFBTixVQUFVLElBQXFEO1FBQS9ELGlCQVlDOztZQVhLLElBQUksR0FBUSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDOUMsSUFBSTtZQUNGLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ1g7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksS0FBSyxDQUFDO1lBQzFCLElBQUksR0FBRyxFQUFFLENBQUM7O1lBQ1IsRUFBRSxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsRUFBRTs7O1FBQUUsY0FBTSxPQUFBLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBbEUsQ0FBa0UsRUFBQyxDQUFDO0lBQzVGLENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUFqQkQsSUFpQkM7Ozs7OztJQWhCYSwrQkFBbUI7Ozs7O0lBQUUsa0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0dWFsSW5NZW1vcnlEYXRhUHJvdmlkZXIgfSBmcm9tICcuL2luTWVtb3J5RGF0YWJhc2UnO1xyXG5pbXBvcnQgeyBKc29uU3RvcmFnZURhdGFQcm92aWRlciwgSnNvblN0b3JhZ2UgfSBmcm9tICcuL0pzb25TdG9yYWdlRGF0YVByb3ZpZGVyJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IERhdGFQcm92aWRlciwgRW50aXR5RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi9kYXRhSW50ZXJmYWNlczEnO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VEYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBEYXRhUHJvdmlkZXIge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbiAgcHVibGljIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6RW50aXR5PGFueT4pOiBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIG5ldyBKc29uU3RvcmFnZURhdGFQcm92aWRlcihuZXcgTG9jYWxKc29uU3RvcmFnZSggZW50aXR5Ll9fZ2V0TmFtZSgpLCBlbnRpdHkpKTtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIExvY2FsSnNvblN0b3JhZ2UgaW1wbGVtZW50cyBKc29uU3RvcmFnZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBrZXk6IHN0cmluZywgcHJpdmF0ZSBlbnRpdHk6IEVudGl0eTxhbnk+KSB7XHJcblxyXG4gIH1cclxuICBkb1dvcms8VD4od2hhdDogKGRwOiBFbnRpdHlEYXRhUHJvdmlkZXIsIHNhdmU6ICgpID0+IHZvaWQpID0+IFQpOiBUIHtcclxuICAgIGxldCBkYXRhOiBhbnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleSk7XHJcbiAgICB0cnkge1xyXG4gICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgZGF0YSA9IFtdO1xyXG4gICAgfVxyXG4gICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIEFycmF5KSlcclxuICAgICAgZGF0YSA9IFtdO1xyXG4gICAgbGV0IGRwID0gbmV3IEFjdHVhbEluTWVtb3J5RGF0YVByb3ZpZGVyKHRoaXMuZW50aXR5LCBkYXRhKTtcclxuICAgIHJldHVybiB3aGF0KGRwLCAoKSA9PiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSwgdW5kZWZpbmVkLCAyKSkpO1xyXG4gIH1cclxufVxyXG4iXX0= |
@@ -14,11 +14,11 @@ /** | ||
/** | ||
* @param {?} name | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
RestDataProvider.prototype.provideFor = /** | ||
* @param {?} name | ||
RestDataProvider.prototype.getEntityDataProvider = /** | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
function (name) { | ||
return new ActualRestDataProvider(this.url + '/' + name, this.http); | ||
function (entity) { | ||
return new ActualRestDataProvider(this.url + '/' + entity.__getName(), this.http); | ||
}; | ||
@@ -169,3 +169,3 @@ return RestDataProvider; | ||
*/ | ||
export function restDataProviderHttpProvider() { } | ||
export function RestDataProviderHttpProvider() { } | ||
if (false) { | ||
@@ -177,3 +177,3 @@ /** | ||
*/ | ||
restDataProviderHttpProvider.prototype.post = function (url, data) { }; | ||
RestDataProviderHttpProvider.prototype.post = function (url, data) { }; | ||
/** | ||
@@ -183,3 +183,3 @@ * @param {?} url | ||
*/ | ||
restDataProviderHttpProvider.prototype.delete = function (url) { }; | ||
RestDataProviderHttpProvider.prototype.delete = function (url) { }; | ||
/** | ||
@@ -190,3 +190,3 @@ * @param {?} url | ||
*/ | ||
restDataProviderHttpProvider.prototype.put = function (url, data) { }; | ||
RestDataProviderHttpProvider.prototype.put = function (url, data) { }; | ||
/** | ||
@@ -196,6 +196,6 @@ * @param {?} url | ||
*/ | ||
restDataProviderHttpProvider.prototype.get = function (url) { }; | ||
RestDataProviderHttpProvider.prototype.get = function (url) { }; | ||
} | ||
var angularHttpProvider = /** @class */ (function () { | ||
function angularHttpProvider(http) { | ||
var AngularHttpProvider = /** @class */ (function () { | ||
function AngularHttpProvider(http) { | ||
this.http = http; | ||
@@ -208,3 +208,3 @@ } | ||
*/ | ||
angularHttpProvider.prototype.post = /** | ||
AngularHttpProvider.prototype.post = /** | ||
* @param {?} url | ||
@@ -221,3 +221,3 @@ * @param {?} data | ||
*/ | ||
angularHttpProvider.prototype.delete = /** | ||
AngularHttpProvider.prototype.delete = /** | ||
* @param {?} url | ||
@@ -238,3 +238,3 @@ * @return {?} | ||
*/ | ||
angularHttpProvider.prototype.put = /** | ||
AngularHttpProvider.prototype.put = /** | ||
* @param {?} url | ||
@@ -251,3 +251,3 @@ * @param {?} data | ||
*/ | ||
angularHttpProvider.prototype.get = /** | ||
AngularHttpProvider.prototype.get = /** | ||
* @param {?} url | ||
@@ -259,5 +259,5 @@ * @return {?} | ||
}; | ||
return angularHttpProvider; | ||
return AngularHttpProvider; | ||
}()); | ||
export { angularHttpProvider }; | ||
export { AngularHttpProvider }; | ||
if (false) { | ||
@@ -268,6 +268,6 @@ /** | ||
*/ | ||
angularHttpProvider.prototype.http; | ||
AngularHttpProvider.prototype.http; | ||
} | ||
var restDataProviderHttpProviderUsingFetch = /** @class */ (function () { | ||
function restDataProviderHttpProviderUsingFetch(addRequestHeader) { | ||
var RestDataProviderHttpProviderUsingFetch = /** @class */ (function () { | ||
function RestDataProviderHttpProviderUsingFetch(addRequestHeader) { | ||
this.addRequestHeader = addRequestHeader; | ||
@@ -284,3 +284,3 @@ if (!addRequestHeader) | ||
*/ | ||
restDataProviderHttpProviderUsingFetch.prototype.get = /** | ||
RestDataProviderHttpProviderUsingFetch.prototype.get = /** | ||
* @param {?} url | ||
@@ -303,3 +303,3 @@ * @return {?} | ||
*/ | ||
restDataProviderHttpProviderUsingFetch.prototype.put = /** | ||
RestDataProviderHttpProviderUsingFetch.prototype.put = /** | ||
* @param {?} url | ||
@@ -319,3 +319,3 @@ * @param {?} data | ||
*/ | ||
restDataProviderHttpProviderUsingFetch.prototype.delete = /** | ||
RestDataProviderHttpProviderUsingFetch.prototype.delete = /** | ||
* @param {?} url | ||
@@ -340,3 +340,3 @@ * @return {?} | ||
*/ | ||
restDataProviderHttpProviderUsingFetch.prototype.post = /** | ||
RestDataProviderHttpProviderUsingFetch.prototype.post = /** | ||
* @param {?} url | ||
@@ -352,5 +352,5 @@ * @param {?} data | ||
}; | ||
return restDataProviderHttpProviderUsingFetch; | ||
return RestDataProviderHttpProviderUsingFetch; | ||
}()); | ||
export { restDataProviderHttpProviderUsingFetch }; | ||
export { RestDataProviderHttpProviderUsingFetch }; | ||
if (false) { | ||
@@ -361,3 +361,3 @@ /** | ||
*/ | ||
restDataProviderHttpProviderUsingFetch.prototype.addRequestHeader; | ||
RestDataProviderHttpProviderUsingFetch.prototype.addRequestHeader; | ||
} | ||
@@ -522,3 +522,3 @@ /** | ||
}; | ||
Action.provider = new restDataProviderHttpProviderUsingFetch(); | ||
Action.provider = new RestDataProviderHttpProviderUsingFetch(); | ||
return Action; | ||
@@ -549,2 +549,2 @@ }()); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdERhdGFQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9yZXN0RGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUl4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0M7SUFDRSwwQkFBb0IsR0FBVyxFQUFVLElBQWtDO1FBQXZELFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQUUzRSxDQUFDOzs7OztJQUNNLHFDQUFVOzs7O0lBQWpCLFVBQWtCLElBQVk7UUFDNUIsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQVBELElBT0M7Ozs7Ozs7SUFOYSwrQkFBbUI7Ozs7O0lBQUUsZ0NBQTBDOztBQU83RTtJQUVFLGdDQUFvQixHQUFXLEVBQVUsSUFBa0M7UUFBdkQsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQThCO0lBRTNFLENBQUM7Ozs7O0lBRU0sc0NBQUs7Ozs7SUFBWixVQUFhLEtBQWlCOztZQUN4QixHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDckU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENB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QUFDLENBQUMsQ0FBQztTQUMzRTtJQUNILENBQUM7Ozs7O0lBRUQsb0JBQUc7Ozs7SUFBSCxVQUFJLEdBQVk7UUFFZCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFHOUUsQ0FBQzs7Ozs7SUFHRCwyQkFBVTs7OztJQUFWLFVBQVcsR0FBa0c7UUFBN0csaUJBWUM7UUFYQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7Ozs7OztRQUFFLFVBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHOzs7Ozs7d0JBRzFCLHFCQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFBOzt3QkFBOUIsQ0FBQyxHQUFHLFNBQTBCO3dCQUNsQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7O3dCQUdmLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBRyxDQUFDLENBQUM7Ozs7O2FBR2xCLEVBQUMsQ0FBQztJQUNMLENBQUM7SUFyQk0sZUFBUSxHQUFpQyxJQUFJLHNDQUFzQyxFQUFFLENBQUM7SUFzQi9GLGFBQUM7Q0FBQSxBQWhDQSxJQWdDQTtTQWhDc0IsTUFBTTs7O0lBVTNCLGdCQUE2Rjs7Ozs7SUFUakYsMkJBQXlCOzs7OztJQUFFLDJCQUEwQjs7Ozs7Ozs7SUFnQmpFLG9EQUFrRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBVcmxCdWlsZGVyLCBGaWx0ZXJDb25zdW1uZXJCcmlkZ2VUb1VybEJ1aWxkZXIgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgRGF0YVByb3ZpZGVyLCBEYXRhUHJvdmlkZXJGYWN0b3J5LCBGaW5kT3B0aW9ucywgRGF0YUFwaVJlcXVlc3QsIEZpbHRlckJhc2UgfSBmcm9tICcuL2RhdGFJbnRlcmZhY2VzMSc7XHJcbmltcG9ydCB7IERhdGFBcGlSZXNwb25zZSB9IGZyb20gJy4uL3NlcnZlci9EYXRhQXBpJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvQ29udGV4dCc7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVzdERhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlckZhY3Rvcnkge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXJsOiBzdHJpbmcsIHByaXZhdGUgaHR0cDogcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlcikge1xyXG5cclxuICB9XHJcbiAgcHVibGljIHByb3ZpZGVGb3IobmFtZTogc3RyaW5nKTogRGF0YVByb3ZpZGVyIHtcclxuICAgIHJldHVybiBuZXcgQWN0dWFsUmVzdERhdGFQcm92aWRlcih0aGlzLnVybCArICcvJyArIG5hbWUsIHRoaXMuaHR0cCk7XHJcbiAgfVxyXG59XHJcbmNsYXNzIEFjdHVhbFJlc3REYXRhUHJvdmlkZXIgaW1wbGVtZW50cyBEYXRhUHJvdmlkZXIge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVybDogc3RyaW5nLCBwcml2YXRlIGh0dHA6IHJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXIpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY291bnQod2hlcmU6IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgbGV0IHVybCA9IG5ldyBVcmxCdWlsZGVyKHRoaXMudXJsKTtcclxuICAgIHVybC5hZGQoXCJfX2FjdGlvblwiLCBcImNvdW50XCIpO1xyXG4gICAgaWYgKHdoZXJlKSB7XHJcbiAgICAgIHdoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKG5ldyBGaWx0ZXJDb25zdW1uZXJCcmlkZ2VUb1VybEJ1aWxkZXIodXJsKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwudXJsKS50aGVuKHIgPT4gKyhyLmNvdW50KSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBmaW5kKG9wdGlvbnM6IEZpbmRPcHRpb25zKTogUHJvbWlzZTxBcnJheTxhbnk+PiB7XHJcbiAgICBsZXQgdXJsID0gbmV3IFVybEJ1aWxkZXIodGhpcy51cmwpO1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMud2hlcmUpIHtcclxuICAgICAgICBvcHRpb25zLndoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKG5ldyBGaWx0ZXJDb25zdW1uZXJCcmlkZ2VUb1VybEJ1aWxkZXIodXJsKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9wdGlvbnMub3JkZXJCeSAmJiBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHMpIHtcclxuICAgICAgICBsZXQgc29ydCA9ICcnO1xyXG4gICAgICAgIGxldCBvcmRlciA9ICcnO1xyXG4gICAgICAgIG9wdGlvbnMub3JkZXJCeS5TZWdtZW50cy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgaWYgKHNvcnQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBzb3J0ICs9IFwiLCBcIjtcclxuICAgICAgICAgICAgb3JkZXIgKz0gXCIsIFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc29ydCArPSBjLmNvbHVtbi5qc29uTmFtZTtcclxuICAgICAgICAgIG9yZGVyICs9IGMuZGVzY2VuZGluZyA/IFwiZGVzY1wiIDogXCJhc2NcIjtcclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdXJsLmFkZCgnX3NvcnQnLCBzb3J0KTtcclxuICAgICAgICB1cmwuYWRkKCdfb3JkZXInLCBvcmRlcik7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9wdGlvbnMubGltaXQpXHJcbiAgICAgICAgdXJsLmFkZCgnX2xpbWl0Jywgb3B0aW9ucy5saW1pdCk7XHJcbiAgICAgIGlmIChvcHRpb25zLnBhZ2UpXHJcbiAgICAgICAgdXJsLmFkZCgnX3BhZ2UnLCBvcHRpb25zLnBhZ2UpO1xyXG4gICAgICBpZiAob3B0aW9ucy5hZGRpdGlvbmFsVXJsUGFyYW1ldGVycylcclxuICAgICAgICB1cmwuYWRkT2JqZWN0KG9wdGlvbnMuYWRkaXRpb25hbFVybFBhcmFtZXRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybC51cmwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZShpZDogYW55LCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy51cmwgKyAnLycgKyBlbmNvZGVVUklDb21wb25lbnQoaWQpLCBkYXRhKTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMudXJsICsgJy8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5zZXJ0KGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy51cmwsIGRhdGEpO1xyXG4gIH1cclxufVxyXG5mdW5jdGlvbiBKc29uQ29udGVudChhZGQ6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpIHtcclxuICBhZGQoJ0NvbnRlbnQtdHlwZScsIFwiYXBwbGljYXRpb24vanNvblwiKTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSByZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyIHtcclxuICBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT47XHJcbiAgZGVsZXRlKHVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcclxuICBwdXQodXJsOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8YW55PjtcclxuICBnZXQodXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XHJcblxyXG59XHJcbmV4cG9ydCBjbGFzcyBhbmd1bGFySHR0cFByb3ZpZGVyIGltcGxlbWVudHMgcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcblxyXG4gIH1cclxuICBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsKS50b1Byb21pc2UoKS50aGVuKHggPT4geyB9KTtcclxuICB9XHJcbiAgcHV0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodXJsLCBkYXRhKS50b1Byb21pc2UoKTtcclxuICB9XHJcbiAgZ2V0KHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgcmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlclVzaW5nRmV0Y2ggaW1wbGVtZW50cyByZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkZFJlcXVlc3RIZWFkZXI/OiAoYWRkOiAoKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZCkpID0+IHZvaWQpIHtcclxuICAgIGlmICghYWRkUmVxdWVzdEhlYWRlcilcclxuICAgICAgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyID0gKCkgPT4geyB9O1xyXG4gIH1cclxuICBnZXQodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBteUZldGNoKHVybCwgdW5kZWZpbmVkLCB0aGlzLmFkZFJlcXVlc3RIZWFkZXIpLnRoZW4ociA9PiB7XHJcbiAgICAgIHJldHVybiByO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1dCh1cmw6IHN0cmluZywgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gbXlGZXRjaCh1cmwsIHtcclxuICAgICAgbWV0aG9kOiAncHV0JyxcclxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSlcclxuICAgIH0sIHRoaXMuYWRkUmVxdWVzdEhlYWRlciwgSnNvbkNvbnRlbnQpXHJcbiAgfVxyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZykge1xyXG4gICAgbGV0IGggPSBuZXcgSGVhZGVycygpO1xyXG4gICAgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyKChuYW1lLCB2YWx1ZSkgPT4gaC5hcHBlbmQobmFtZSwgdmFsdWUpKTtcclxuICAgIHJldHVybiBmZXRjaCh1cmwsIHsgbWV0aG9kOiAnZGVsZXRlJywgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyB9KS50aGVuKG9uU3VjY2Vzcywgb25FcnJvcik7XHJcbiAgfVxyXG4gIHBvc3QodXJsOiBzdHJpbmcsIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIG15RmV0Y2godXJsLCB7XHJcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKVxyXG4gICAgfSwgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyLCBKc29uQ29udGVudClcclxuICB9XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgV3JhcEZldGNoSW50ZXJmYWNlIHtcclxuICB3cmFwOiAoKSA9PiAoKCkgPT4gdm9pZCk7XHJcbn1cclxuZXhwb3J0IGNvbnN0IHdyYXBGZXRjaDogV3JhcEZldGNoSW50ZXJmYWNlID0ge1xyXG4gIHdyYXA6ICgpID0+ICgpID0+IHsgfVxyXG59O1xyXG5leHBvcnQgZnVuY3Rpb24gbXlGZXRjaCh1cmw6IHN0cmluZywgaW5pdDogUmVxdWVzdEluaXQsIC4uLmFkZFJlcXVlc3RIZWFkZXI6ICgoYWRkOiAoKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZCkpID0+IHZvaWQpW10pOiBQcm9taXNlPGFueT4ge1xyXG4gIGlmICghaW5pdClcclxuICAgIGluaXQgPSB7fTtcclxuICBpZiAoIWluaXQuaGVhZGVycylcclxuICAgIGluaXQuaGVhZGVycyA9IG5ldyBIZWFkZXJzKCk7XHJcbiAgdmFyIGggPSBpbml0LmhlYWRlcnMgYXMgSGVhZGVycztcclxuICBhZGRSZXF1ZXN0SGVhZGVyLmZvckVhY2goeCA9PiB4KChuLCB2KSA9PiBoLmFwcGVuZChuLCB2KSkpO1xyXG4gIGluaXQuY3JlZGVudGlhbHMgPSAnaW5jbHVkZSc7XHJcbiAgbGV0IHggPSB3cmFwRmV0Y2gud3JhcCgpO1xyXG4gIHJldHVybiBmZXRjaCh1cmwsIGluaXQpLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgeCgpO1xyXG4gICAgcmV0dXJuIG9uU3VjY2VzcyhyZXNwb25zZSk7XHJcblxyXG4gIH0sIGVycm9yID0+IHtcclxuICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgIHgoKTtcclxuICAgIHRocm93IFByb21pc2UucmVzb2x2ZShlcnJvcik7XHJcbiAgfSk7XHJcbn1cclxuZnVuY3Rpb24gb25TdWNjZXNzKHJlc3BvbnNlOiBSZXNwb25zZSkge1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gMjA0KVxyXG4gICAgcmV0dXJuO1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMjAwICYmIHJlc3BvbnNlLnN0YXR1cyA8IDMwMClcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG4gIGVsc2VcclxuICAgIHRocm93IHJlc3BvbnNlLmpzb24oKS50aGVuKHggPT4ge1xyXG5cclxuICAgICAgaWYgKCF4Lm1lc3NhZ2UpXHJcbiAgICAgICAgeC5tZXNzYWdlID0gcmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KTtcclxuXHJcblxyXG5cclxufVxyXG5mdW5jdGlvbiBvbkVycm9yKGVycm9yOiBhbnkpIHtcclxuICB0aHJvdyBQcm9taXNlLnJlc29sdmUoZXJyb3IpO1xyXG59XHJcblxyXG5cclxuIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY3Rpb248aW5QYXJhbSwgb3V0UGFyYW0+e1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmVyVXJsOiBzdHJpbmcsIHByaXZhdGUgYWN0aW9uVXJsPzogc3RyaW5nLCBhZGRSZXF1ZXN0SGVhZGVyPzogKGFkZDogKChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpKSA9PiB2b2lkKSB7XHJcbiAgICBpZiAoIWFkZFJlcXVlc3RIZWFkZXIpXHJcbiAgICAgIGFkZFJlcXVlc3RIZWFkZXIgPSAoKSA9PiB7IH07XHJcbiAgICBpZiAoIWFjdGlvblVybCkge1xyXG4gICAgICB0aGlzLmFjdGlvblVybCA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcclxuICAgICAgaWYgKHRoaXMuYWN0aW9uVXJsLmVuZHNXaXRoKCdBY3Rpb24nKSlcclxuICAgICAgICB0aGlzLmFjdGlvblVybCA9IHRoaXMuYWN0aW9uVXJsLnN1YnN0cmluZygwLCB0aGlzLmFjdGlvblVybC5sZW5ndGggLSA2KTtcclxuICAgIH1cclxuICB9XHJcbiAgc3RhdGljIHByb3ZpZGVyOiByZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyID0gbmV3IHJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXJVc2luZ0ZldGNoKCk7XHJcbiAgcnVuKHBJbjogaW5QYXJhbSk6IFByb21pc2U8b3V0UGFyYW0+IHtcclxuXHJcbiAgICByZXR1cm4gQWN0aW9uLnByb3ZpZGVyLnBvc3QoQ29udGV4dC5hcGlCYXNlVXJsICsgJy8nICsgdGhpcy5hY3Rpb25VcmwsIHBJbik7XHJcblxyXG5cclxuICB9XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGV4ZWN1dGUoaW5mbzogaW5QYXJhbSwgcmVxOiBEYXRhQXBpUmVxdWVzdCk6IFByb21pc2U8b3V0UGFyYW0+O1xyXG5cclxuICBfX3JlZ2lzdGVyKHJlZzogKHVybDogc3RyaW5nLCB3aGF0OiAoKGRhdGE6IGFueSwgcmVxOiBEYXRhQXBpUmVxdWVzdCwgcmVzOiBEYXRhQXBpUmVzcG9uc2UpID0+IHZvaWQpKSA9PiB2b2lkKSB7XHJcbiAgICByZWcodGhpcy5hY3Rpb25VcmwsIGFzeW5jIChkLCByZXEsIHJlcykgPT4ge1xyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICB2YXIgciA9IGF3YWl0IHRoaXMuZXhlY3V0ZShkLCByZXEpO1xyXG4gICAgICAgIHJlcy5zdWNjZXNzKHIpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICByZXMuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdERhdGFQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29yZS9yZXN0RGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQ0FBaUMsRUFBVSxNQUFNLFNBQVMsQ0FBQztBQUloRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0M7SUFDRSwwQkFBb0IsR0FBVyxFQUFVLElBQWtDO1FBQXZELFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQUUzRSxDQUFDOzs7OztJQUNNLGdEQUFxQjs7OztJQUE1QixVQUE2QixNQUFtQjtRQUM5QyxPQUFPLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQzs7Ozs7OztJQU5hLCtCQUFtQjs7Ozs7SUFBRSxnQ0FBMEM7O0FBTzdFO0lBRUUsZ0NBQW9CLEdBQVcsRUFBVSxJQUFrQztRQUF2RCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBOEI7SUFFM0UsQ0FBQzs7Ozs7SUFFTSxzQ0FBSzs7OztJQUFaLFVBQWEsS0FBaUI7O1lBQ3hCLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksaUNBQWlDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8s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LENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxvQkFBRzs7OztJQUFILFVBQUksR0FBWTtRQUVkLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUc5RSxDQUFDOzs7OztJQUdELDJCQUFVOzs7O0lBQVYsVUFBVyxHQUFrRztRQUE3RyxpQkFZQztRQVhDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUzs7Ozs7O1FBQUUsVUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUc7Ozs7Ozt3QkFHMUIscUJBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUE7O3dCQUE5QixDQUFDLEdBQUcsU0FBMEI7d0JBQ2xDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Ozs7d0JBR2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFHLENBQUMsQ0FBQzs7Ozs7YUFHbEIsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQXJCTSxlQUFRLEdBQWlDLElBQUksc0NBQXNDLEVBQUUsQ0FBQztJQXNCL0YsYUFBQztDQUFBLEFBaENBLElBZ0NBO1NBaENzQixNQUFNOzs7SUFVM0IsZ0JBQTZGOzs7OztJQVRqRiwyQkFBeUI7Ozs7O0lBQUUsMkJBQTBCOzs7Ozs7OztJQWdCakUsb0RBQWtGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IFVybEJ1aWxkZXIsIEZpbHRlckNvbnN1bW5lckJyaWRnZVRvVXJsQnVpbGRlciwgRW50aXR5IH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IEVudGl0eURhdGFQcm92aWRlciwgRGF0YVByb3ZpZGVyLCBGaW5kT3B0aW9ucywgRGF0YUFwaVJlcXVlc3QsIEZpbHRlckJhc2UgfSBmcm9tICcuL2RhdGFJbnRlcmZhY2VzMSc7XHJcbmltcG9ydCB7IERhdGFBcGlSZXNwb25zZSB9IGZyb20gJy4uL3NlcnZlci9EYXRhQXBpJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvQ29udGV4dCc7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVzdERhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1cmw6IHN0cmluZywgcHJpdmF0ZSBodHRwOiBSZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyKSB7XHJcblxyXG4gIH1cclxuICBwdWJsaWMgZ2V0RW50aXR5RGF0YVByb3ZpZGVyKGVudGl0eTogRW50aXR5PGFueT4pOiBFbnRpdHlEYXRhUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIG5ldyBBY3R1YWxSZXN0RGF0YVByb3ZpZGVyKHRoaXMudXJsICsgJy8nICsgZW50aXR5Ll9fZ2V0TmFtZSgpLCB0aGlzLmh0dHApO1xyXG4gIH1cclxufVxyXG5jbGFzcyBBY3R1YWxSZXN0RGF0YVByb3ZpZGVyIGltcGxlbWVudHMgRW50aXR5RGF0YVByb3ZpZGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1cmw6IHN0cmluZywgcHJpdmF0ZSBodHRwOiBSZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvdW50KHdoZXJlOiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGxldCB1cmwgPSBuZXcgVXJsQnVpbGRlcih0aGlzLnVybCk7XHJcbiAgICB1cmwuYWRkKFwiX19hY3Rpb25cIiwgXCJjb3VudFwiKTtcclxuICAgIGlmICh3aGVyZSkge1xyXG4gICAgICB3aGVyZS5fX2FwcGx5VG9Db25zdW1lcihuZXcgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyKHVybCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLnVybCkudGhlbihyID0+ICsoci5jb3VudCkpO1xyXG4gIH1cclxuICBwdWJsaWMgZmluZChvcHRpb25zOiBGaW5kT3B0aW9ucyk6IFByb21pc2U8QXJyYXk8YW55Pj4ge1xyXG4gICAgbGV0IHVybCA9IG5ldyBVcmxCdWlsZGVyKHRoaXMudXJsKTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGlmIChvcHRpb25zLndoZXJlKSB7XHJcbiAgICAgICAgb3B0aW9ucy53aGVyZS5fX2FwcGx5VG9Db25zdW1lcihuZXcgRmlsdGVyQ29uc3VtbmVyQnJpZGdlVG9VcmxCdWlsZGVyKHVybCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLm9yZGVyQnkgJiYgb3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzKSB7XHJcbiAgICAgICAgbGV0IHNvcnQgPSAnJztcclxuICAgICAgICBsZXQgb3JkZXIgPSAnJztcclxuICAgICAgICBvcHRpb25zLm9yZGVyQnkuU2VnbWVudHMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgIGlmIChzb3J0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgc29ydCArPSBcIiwgXCI7XHJcbiAgICAgICAgICAgIG9yZGVyICs9IFwiLCBcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNvcnQgKz0gYy5jb2x1bW4uanNvbk5hbWU7XHJcbiAgICAgICAgICBvcmRlciArPSBjLmRlc2NlbmRpbmcgPyBcImRlc2NcIiA6IFwiYXNjXCI7XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHVybC5hZGQoJ19zb3J0Jywgc29ydCk7XHJcbiAgICAgICAgdXJsLmFkZCgnX29yZGVyJywgb3JkZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLmxpbWl0KVxyXG4gICAgICAgIHVybC5hZGQoJ19saW1pdCcsIG9wdGlvbnMubGltaXQpO1xyXG4gICAgICBpZiAob3B0aW9ucy5wYWdlKVxyXG4gICAgICAgIHVybC5hZGQoJ19wYWdlJywgb3B0aW9ucy5wYWdlKTtcclxuICAgICAgaWYgKG9wdGlvbnMuYWRkaXRpb25hbFVybFBhcmFtZXRlcnMpXHJcbiAgICAgICAgdXJsLmFkZE9iamVjdChvcHRpb25zLmFkZGl0aW9uYWxVcmxQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwudXJsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMudXJsICsgJy8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSwgZGF0YSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZShpZDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh0aGlzLnVybCArICcvJyArIGVuY29kZVVSSUNvbXBvbmVudChpZCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsLCBkYXRhKTtcclxuICB9XHJcbn1cclxuZnVuY3Rpb24gSnNvbkNvbnRlbnQoYWRkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKSB7XHJcbiAgYWRkKCdDb250ZW50LXR5cGUnLCBcImFwcGxpY2F0aW9uL2pzb25cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciB7XHJcbiAgcG9zdCh1cmw6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XHJcbiAgcHV0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpOiBQcm9taXNlPGFueT47XHJcbiAgZ2V0KHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xyXG5cclxufVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckh0dHBQcm92aWRlciBpbXBsZW1lbnRzIFJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXIge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbiAgcG9zdCh1cmw6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGRhdGEpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBkZWxldGUodXJsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHVybCkudG9Qcm9taXNlKCkudGhlbih4ID0+IHsgfSk7XHJcbiAgfVxyXG4gIHB1dCh1cmw6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgZGF0YSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIGdldCh1cmw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJlc3REYXRhUHJvdmlkZXJIdHRwUHJvdmlkZXJVc2luZ0ZldGNoIGltcGxlbWVudHMgUmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhZGRSZXF1ZXN0SGVhZGVyPzogKGFkZDogKChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpKSA9PiB2b2lkKSB7XHJcbiAgICBpZiAoIWFkZFJlcXVlc3RIZWFkZXIpXHJcbiAgICAgIHRoaXMuYWRkUmVxdWVzdEhlYWRlciA9ICgpID0+IHsgfTtcclxuICB9XHJcbiAgZ2V0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbXlGZXRjaCh1cmwsIHVuZGVmaW5lZCwgdGhpcy5hZGRSZXF1ZXN0SGVhZGVyKS50aGVuKHIgPT4ge1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdXQodXJsOiBzdHJpbmcsIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIG15RmV0Y2godXJsLCB7XHJcbiAgICAgIG1ldGhvZDogJ3B1dCcsXHJcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpXHJcbiAgICB9LCB0aGlzLmFkZFJlcXVlc3RIZWFkZXIsIEpzb25Db250ZW50KVxyXG4gIH1cclxuICBkZWxldGUodXJsOiBzdHJpbmcpIHtcclxuICAgIGxldCBoID0gbmV3IEhlYWRlcnMoKTtcclxuICAgIHRoaXMuYWRkUmVxdWVzdEhlYWRlcigobmFtZSwgdmFsdWUpID0+IGguYXBwZW5kKG5hbWUsIHZhbHVlKSk7XHJcbiAgICByZXR1cm4gZmV0Y2godXJsLCB7IG1ldGhvZDogJ2RlbGV0ZScsIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScgfSkudGhlbihvblN1Y2Nlc3MsIG9uRXJyb3IpO1xyXG4gIH1cclxuICBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiBteUZldGNoKHVybCwge1xyXG4gICAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSlcclxuICAgIH0sIHRoaXMuYWRkUmVxdWVzdEhlYWRlciwgSnNvbkNvbnRlbnQpXHJcbiAgfVxyXG5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBGZXRjaEludGVyZmFjZSB7XHJcbiAgd3JhcDogKCkgPT4gKCgpID0+IHZvaWQpO1xyXG59XHJcbmV4cG9ydCBjb25zdCB3cmFwRmV0Y2g6IFdyYXBGZXRjaEludGVyZmFjZSA9IHtcclxuICB3cmFwOiAoKSA9PiAoKSA9PiB7IH1cclxufTtcclxuZXhwb3J0IGZ1bmN0aW9uIG15RmV0Y2godXJsOiBzdHJpbmcsIGluaXQ6IFJlcXVlc3RJbml0LCAuLi5hZGRSZXF1ZXN0SGVhZGVyOiAoKGFkZDogKChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpKSA9PiB2b2lkKVtdKTogUHJvbWlzZTxhbnk+IHtcclxuICBpZiAoIWluaXQpXHJcbiAgICBpbml0ID0ge307XHJcbiAgaWYgKCFpbml0LmhlYWRlcnMpXHJcbiAgICBpbml0LmhlYWRlcnMgPSBuZXcgSGVhZGVycygpO1xyXG4gIHZhciBoID0gaW5pdC5oZWFkZXJzIGFzIEhlYWRlcnM7XHJcbiAgYWRkUmVxdWVzdEhlYWRlci5mb3JFYWNoKHggPT4geCgobiwgdikgPT4gaC5hcHBlbmQobiwgdikpKTtcclxuICBpbml0LmNyZWRlbnRpYWxzID0gJ2luY2x1ZGUnO1xyXG4gIGxldCB4ID0gd3JhcEZldGNoLndyYXAoKTtcclxuICByZXR1cm4gZmV0Y2godXJsLCBpbml0KS50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgIHgoKTtcclxuICAgIHJldHVybiBvblN1Y2Nlc3MocmVzcG9uc2UpO1xyXG5cclxuICB9LCBlcnJvciA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICB4KCk7XHJcbiAgICB0aHJvdyBQcm9taXNlLnJlc29sdmUoZXJyb3IpO1xyXG4gIH0pO1xyXG59XHJcbmZ1bmN0aW9uIG9uU3VjY2VzcyhyZXNwb25zZTogUmVzcG9uc2UpIHtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzID09IDIwNClcclxuICAgIHJldHVybjtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDIwMCAmJiByZXNwb25zZS5zdGF0dXMgPCAzMDApXHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcclxuICBlbHNlXHJcbiAgICB0aHJvdyByZXNwb25zZS5qc29uKCkudGhlbih4ID0+IHtcclxuXHJcbiAgICAgIGlmICgheC5tZXNzYWdlKVxyXG4gICAgICAgIHgubWVzc2FnZSA9IHJlc3BvbnNlLnN0YXR1c1RleHQ7XHJcbiAgICAgIHJldHVybiB4O1xyXG4gICAgfSk7XHJcblxyXG5cclxuXHJcbn1cclxuZnVuY3Rpb24gb25FcnJvcihlcnJvcjogYW55KSB7XHJcbiAgdGhyb3cgUHJvbWlzZS5yZXNvbHZlKGVycm9yKTtcclxufVxyXG5cclxuXHJcbiBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aW9uPGluUGFyYW0sIG91dFBhcmFtPntcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZlclVybDogc3RyaW5nLCBwcml2YXRlIGFjdGlvblVybD86IHN0cmluZywgYWRkUmVxdWVzdEhlYWRlcj86IChhZGQ6ICgobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKSkgPT4gdm9pZCkge1xyXG4gICAgaWYgKCFhZGRSZXF1ZXN0SGVhZGVyKVxyXG4gICAgICBhZGRSZXF1ZXN0SGVhZGVyID0gKCkgPT4geyB9O1xyXG4gICAgaWYgKCFhY3Rpb25VcmwpIHtcclxuICAgICAgdGhpcy5hY3Rpb25VcmwgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XHJcbiAgICAgIGlmICh0aGlzLmFjdGlvblVybC5lbmRzV2l0aCgnQWN0aW9uJykpXHJcbiAgICAgICAgdGhpcy5hY3Rpb25VcmwgPSB0aGlzLmFjdGlvblVybC5zdWJzdHJpbmcoMCwgdGhpcy5hY3Rpb25VcmwubGVuZ3RoIC0gNik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHN0YXRpYyBwcm92aWRlcjogUmVzdERhdGFQcm92aWRlckh0dHBQcm92aWRlciA9IG5ldyBSZXN0RGF0YVByb3ZpZGVySHR0cFByb3ZpZGVyVXNpbmdGZXRjaCgpO1xyXG4gIHJ1bihwSW46IGluUGFyYW0pOiBQcm9taXNlPG91dFBhcmFtPiB7XHJcblxyXG4gICAgcmV0dXJuIEFjdGlvbi5wcm92aWRlci5wb3N0KENvbnRleHQuYXBpQmFzZVVybCArICcvJyArIHRoaXMuYWN0aW9uVXJsLCBwSW4pO1xyXG5cclxuXHJcbiAgfVxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBleGVjdXRlKGluZm86IGluUGFyYW0sIHJlcTogRGF0YUFwaVJlcXVlc3QpOiBQcm9taXNlPG91dFBhcmFtPjtcclxuXHJcbiAgX19yZWdpc3RlcihyZWc6ICh1cmw6IHN0cmluZywgd2hhdDogKChkYXRhOiBhbnksIHJlcTogRGF0YUFwaVJlcXVlc3QsIHJlczogRGF0YUFwaVJlc3BvbnNlKSA9PiB2b2lkKSkgPT4gdm9pZCkge1xyXG4gICAgcmVnKHRoaXMuYWN0aW9uVXJsLCBhc3luYyAoZCwgcmVxLCByZXMpID0+IHtcclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdmFyIHIgPSBhd2FpdCB0aGlzLmV4ZWN1dGUoZCwgcmVxKTtcclxuICAgICAgICByZXMuc3VjY2VzcyhyKTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgcmVzLmVycm9yKGVycik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19 |
@@ -108,11 +108,6 @@ /** | ||
// @dynamic | ||
/** | ||
* @template T | ||
*/ | ||
var ActualSQLServerDataProvider = /** @class */ (function () { | ||
function ActualSQLServerDataProvider(entityFactory, name, sql, factory) { | ||
this.entityFactory = entityFactory; | ||
this.name = name; | ||
function ActualSQLServerDataProvider(entity, sql) { | ||
this.entity = entity; | ||
this.sql = sql; | ||
this.factory = factory; | ||
this.sql = ActualSQLServerDataProvider.decorateSqlConnectionProvider(sql); | ||
@@ -149,6 +144,4 @@ } | ||
function (where) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
var select = 'select count(*) from ' + this.entity.__getDbName(); | ||
var select = 'select count(*) count from ' + this.entity.__getDbName(); | ||
/** @type {?} */ | ||
@@ -179,4 +172,2 @@ var r = this.sql.createCommand(); | ||
function (options) { | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -272,4 +263,2 @@ var select = 'select '; | ||
var _this = this; | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -331,4 +320,2 @@ var r = this.sql.createCommand(); | ||
var _this = this; | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -365,4 +352,2 @@ var r = this.sql.createCommand(); | ||
var _this = this; | ||
if (!this.entity) | ||
this.entity = this.entityFactory(); | ||
/** @type {?} */ | ||
@@ -435,19 +420,4 @@ var r = this.sql.createCommand(); | ||
*/ | ||
ActualSQLServerDataProvider.prototype.entityFactory; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualSQLServerDataProvider.prototype.name; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualSQLServerDataProvider.prototype.sql; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ActualSQLServerDataProvider.prototype.factory; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMRGF0YWJhc2VTaGFyZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvU1FMRGF0YWJhc2VTaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQXFFLGdDQUFnQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWhKO0lBQ0Usa0NBQW9CLE1BQTZCLEVBQVUsVUFBbUI7UUFBMUQsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFTO0lBQUksQ0FBQzs7OztJQUNuRixnREFBYTs7O0lBQWI7UUFDRSxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUFMRCxJQUtDOzs7Ozs7SUFKYSwwQ0FBcUM7Ozs7O0lBQUUsOENBQTJCOztBQUtoRjtJQUNFLHVCQUFvQixNQUFrQixFQUFVLFVBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBR25FLFNBQUksR0FBUSxFQUFFLENBQUM7SUFEZixDQUFDOzs7Ozs7SUFFRCxtRUFBMkM7Ozs7O0lBQTNDLFVBQTRDLEdBQWdCLEVBQUUsR0FBUTs7WUFDaEUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsMkNBQTJDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Ozs7O0lBQ0ssNkJBQUs7Ozs7SUFBWCxVQUFZLEdBQVc7Ozs7Ozt3QkFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFOzRCQUNuQixPQUFPLENBQUMsR0FB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LFNBQVMsR0FBRyxpQkFBZSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxVQUFLLElBQUksa0JBQWEsSUFBSSxNQUFHO1FBRXJGLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJOzs7UUFBQztZQUM3QixPQUFPLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJOzs7O1lBQUMsVUFBQSxDQUFDO2dCQUU5QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDO0lBOUxhLHdDQUFZLEdBQUcsS0FBSyxDQUFDO0lBZ01yQyxrQ0FBQztDQUFBLEFBak1ELElBaU1DO1NBak1ZLDJCQUEyQjs7O0lBQ3RDLHlDQUFtQzs7Ozs7SUFXbkMsNkNBQTRCOzs7OztJQVZoQixvREFBd0M7Ozs7O0lBQUUsMkNBQW9COzs7OztJQUFFLDBDQUFrQzs7Ozs7SUFBRSw4Q0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFNRTENvbW1hbmQsIENvbHVtbiwgU1FMUXVlcnlSZXN1bHQsIEVudGl0eSwgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3QsIENvbXBvdW5kSWRDb2x1bW4gfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXIsIEZpbHRlckJhc2UsIEZpbmRPcHRpb25zIH0gZnJvbSBcIi4vZGF0YUludGVyZmFjZXMxXCI7XHJcblxyXG5cclxuY2xhc3MgTG9nU1FMQ29ubmVjdGlvblByb3ZpZGVyIGltcGxlbWVudHMgU1FMQ29ubmVjdGlvblByb3ZpZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9yaWdpbjogU1FMQ29ubmVjdGlvblByb3ZpZGVyLCBwcml2YXRlIGFsbFF1ZXJpZXM6IGJvb2xlYW4pIHsgfVxyXG4gIGNyZWF0ZUNvbW1hbmQoKTogU1FMQ29tbWFuZCB7XHJcbiAgICByZXR1cm4gbmV3IExvZ1NRTENvbW1hbmQodGhpcy5vcmlnaW4uY3JlYXRlQ29tbWFuZCgpLCB0aGlzLmFsbFF1ZXJpZXMpO1xyXG4gIH1cclxufVxyXG5jbGFzcyBMb2dTUUxDb21tYW5kIGltcGxlbWVudHMgU1FMQ29tbWFuZCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcmlnaW46IFNRTENvbW1hbmQsIHByaXZhdGUgYWxsUXVlcmllczogYm9vbGVhbikge1xyXG5cclxuICB9XHJcbiAgYXJnczogYW55ID0ge307XHJcbiAgYWRkUGFyYW1ldGVyVG9Db21tYW5kQW5kUmV0dXJuUGFyYW1ldGVyTmFtZShjb2w6IENvbHVtbjxhbnk+LCB2YWw6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgciA9IHRoaXMub3JpZ2luLmFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoY29sLCB2YWwpO1xyXG4gICAgdGhpcy5hcmdzW3JdID0gdmFsO1xyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG4gIGFzeW5jIHF1ZXJ5KHNxbDogc3RyaW5nKTogUHJvbWlzZTxTUUxRdWVyeVJlc3VsdD4ge1xyXG4gICAgaWYgKHRoaXMuYWxsUXVlcmllcykge1xyXG4gICAgICBjb25zb2xlLmxvZygnUXVlcnk6Jywgc3FsKTtcclxuICAgICAgY29uc29sZS5sb2coXCJBcmd1bWVudHM6XCIsIHRoaXMuYXJncyk7XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5vcmlnaW4ucXVlcnkoc3FsKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgY29uc29sZS5sb2coJ1F1ZXJ5OicsIHNxbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQXJndW1lbnRzXCIsIHRoaXMuYXJncyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdFcnJvcjonLCBlcnIpO1xyXG4gICAgICB0aHJvdyBlcnI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXI8VCBleHRlbmRzIEVudGl0eTxhbnk+PiBpbXBsZW1lbnRzIERhdGFQcm92aWRlciB7XHJcbiAgcHVibGljIHN0YXRpYyBMb2dUb0NvbnNvbGUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudGl0eUZhY3Rvcnk6ICgpID0+IEVudGl0eTxhbnk+LCBwcml2YXRlIG5hbWU6IHN0cmluZywgcHJpdmF0ZSBzcWw6IFNRTENvbm5lY3Rpb25Qcm92aWRlciwgcHJpdmF0ZSBmYWN0b3J5OiAoKSA9PiBUKSB7XHJcblxyXG4gICAgdGhpcy5zcWwgPSBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIuZGVjb3JhdGVTcWxDb25uZWN0aW9uUHJvdmlkZXIoc3FsKTtcclxuICB9XHJcbiAgc3RhdGljIGRlY29yYXRlU3FsQ29ubmVjdGlvblByb3ZpZGVyKHNxbDogU1FMQ29ubmVjdGlvblByb3ZpZGVyKTpTUUxDb25uZWN0aW9uUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIG5ldyBMb2dTUUxDb25uZWN0aW9uUHJvdmlkZXIoc3FsLCBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIuTG9nVG9Db25zb2xlKTtcclxuICB9XHJcbiAgY3JlYXRlRGlyZWN0U1FMQ29tbWFuZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgZW50aXR5OiBFbnRpdHk8YW55PjtcclxuICBwdWJsaWMgY291bnQod2hlcmU6IEZpbHRlckJhc2UpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgaWYgKCF0aGlzLmVudGl0eSlcclxuICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmVudGl0eUZhY3RvcnkoKTtcclxuICAgIGxldCBzZWxlY3QgPSAnc2VsZWN0IGNvdW50KCopIGZyb20gJyArIHRoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICBsZXQgciA9IHRoaXMuc3FsLmNyZWF0ZUNvbW1hbmQoKTtcclxuICAgIGlmICh3aGVyZSkge1xyXG4gICAgICBsZXQgd2MgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICAgIHdoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKHdjKTtcclxuICAgICAgc2VsZWN0ICs9IHdjLndoZXJlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByLnF1ZXJ5KHNlbGVjdCkudGhlbihyID0+IHtcclxuICAgICAgcmV0dXJuIHIucm93c1swXS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZmluZChvcHRpb25zPzogRmluZE9wdGlvbnMpOiBQcm9taXNlPGFueVtdPiB7XHJcbiAgICBpZiAoIXRoaXMuZW50aXR5KVxyXG4gICAgICB0aGlzLmVudGl0eSA9IHRoaXMuZW50aXR5RmFjdG9yeSgpO1xyXG4gICAgbGV0IHNlbGVjdCA9ICdzZWxlY3QgJztcclxuICAgIGxldCBjb2xLZXlzOiBDb2x1bW48YW55PltdID0gW107XHJcbiAgICB0aGlzLmVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgaWYgKHguX19pc1ZpcnR1YWwoKSkge1xyXG5cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoY29sS2V5cy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgc2VsZWN0ICs9ICcsICc7XHJcbiAgICAgICAgc2VsZWN0ICs9IHguX19nZXREYk5hbWUoKTtcclxuICAgICAgICBjb2xLZXlzLnB1c2goeCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc2VsZWN0ICs9ICcgZnJvbSAnICsgdGhpcy5lbnRpdHkuX19nZXREYk5hbWUoKTtcclxuICAgIGxldCByID0gdGhpcy5zcWwuY3JlYXRlQ29tbWFuZCgpO1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMud2hlcmUpIHtcclxuICAgICAgICBsZXQgd2hlcmUgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICAgICAgb3B0aW9ucy53aGVyZS5fX2FwcGx5VG9Db25zdW1lcih3aGVyZSk7XHJcbiAgICAgICAgc2VsZWN0ICs9IHdoZXJlLndoZXJlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLm9yZGVyQnkpIHtcclxuICAgICAgICBsZXQgZmlyc3QgPSB0cnVlO1xyXG4gICAgICAgIG9wdGlvbnMub3JkZXJCeS5TZWdtZW50cy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpcnN0KSB7XHJcbiAgICAgICAgICAgIHNlbGVjdCArPSAnIE9yZGVyIEJ5ICc7XHJcbiAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHNlbGVjdCArPSAnLCAnO1xyXG4gICAgICAgICAgc2VsZWN0ICs9IGMuY29sdW1uLl9fZ2V0RGJOYW1lKCk7XHJcbiAgICAgICAgICBpZiAoYy5kZXNjZW5kaW5nKVxyXG4gICAgICAgICAgICBzZWxlY3QgKz0gJyBkZXNjJztcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB7XHJcblxyXG4gICAgICAgIGxldCBwYWdlID0gMTtcclxuICAgICAgICBpZiAob3B0aW9ucy5wYWdlKVxyXG4gICAgICAgICAgcGFnZSA9IG9wdGlvbnMucGFnZTtcclxuICAgICAgICBpZiAocGFnZSA8IDEpXHJcbiAgICAgICAgICBwYWdlID0gMTtcclxuICAgICAgICBzZWxlY3QgKz0gJyBsaW1pdCAnICsgb3B0aW9ucy5saW1pdCArICcgb2Zmc2V0ICcgKyAocGFnZSAtIDEpICogb3B0aW9ucy5saW1pdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByLnF1ZXJ5KHNlbGVjdCkudGhlbihyID0+IHtcclxuICAgICAgcmV0dXJuIHIucm93cy5tYXAoeSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55ID0ge307XHJcbiAgICAgICAgZm9yIChsZXQgeCBpbiB5KSB7XHJcbiAgICAgICAgICBsZXQgY29sID0gY29sS2V5c1tyLmdldENvbHVtbkluZGV4KHgpXTtcclxuICAgICAgICAgIHJlc3VsdFtjb2wuanNvbk5hbWVdID0gY29sLl9fZ2V0U3RvcmFnZSgpLmZyb21EYih5W3hdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdXBkYXRlKGlkOiBhbnksIGRhdGE6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBpZiAoIXRoaXMuZW50aXR5KVxyXG4gICAgICB0aGlzLmVudGl0eSA9IHRoaXMuZW50aXR5RmFjdG9yeSgpO1xyXG5cclxuXHJcbiAgICBsZXQgciA9IHRoaXMuc3FsLmNyZWF0ZUNvbW1hbmQoKTtcclxuICAgIGxldCBmID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9TcWxSZXF1ZXN0KHIpO1xyXG4gICAgdGhpcy5lbnRpdHkuX19pZENvbHVtbi5pc0VxdWFsVG8oaWQpLl9fYXBwbHlUb0NvbnN1bWVyKGYpO1xyXG4gICAgbGV0IHN0YXRlbWVudCA9ICd1cGRhdGUgJyArIHRoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCkgKyAnIHNldCAnO1xyXG4gICAgbGV0IGFkZGVkID0gZmFsc2U7XHJcbiAgICBsZXQgcmVzdWx0RmlsdGVyID0gdGhpcy5lbnRpdHkuX19pZENvbHVtbi5pc0VxdWFsVG8oaWQpO1xyXG4gICAgaWYgKGRhdGEuaWQgIT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXN1bHRGaWx0ZXIgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhkYXRhLmlkKTtcclxuXHJcbiAgICB0aGlzLmVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgaWYgKHggaW5zdGFuY2VvZiBDb21wb3VuZElkQ29sdW1uKSB7XHJcbiAgICAgICAgcmVzdWx0RmlsdGVyID0geC5yZXN1bHRJZEZpbHRlcihpZCwgZGF0YSk7XHJcbiAgICAgIH0gaWYgKHguX19kYlJlYWRPbmx5KCkpIHsgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgdiA9IHguX19nZXRTdG9yYWdlKCkudG9EYihkYXRhW3guanNvbk5hbWVdKTtcclxuICAgICAgICBpZiAodiAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGlmICghYWRkZWQpXHJcbiAgICAgICAgICAgIGFkZGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgc3RhdGVtZW50ICs9ICcsICc7XHJcblxyXG4gICAgICAgICAgc3RhdGVtZW50ICs9IHguX19nZXREYk5hbWUoKSArICcgPSAnICsgci5hZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKHgsIHYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBzdGF0ZW1lbnQgKz0gZi53aGVyZTtcclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzdGF0ZW1lbnQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5maW5kKHsgd2hlcmU6IHJlc3VsdEZpbHRlciB9KS50aGVuKHkgPT4geVswXSk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gIH1cclxuICBkZWxldGUoaWQ6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmVudGl0eSlcclxuICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmVudGl0eUZhY3RvcnkoKTtcclxuXHJcblxyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBsZXQgZiA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuICAgIHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKS5fX2FwcGx5VG9Db25zdW1lcihmKTtcclxuICAgIGxldCBzdGF0ZW1lbnQgPSAnZGVsZXRlIGZyb20gJyArIHRoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICBsZXQgYWRkZWQgPSBmYWxzZTtcclxuXHJcbiAgICBzdGF0ZW1lbnQgKz0gZi53aGVyZTtcclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzdGF0ZW1lbnQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5maW5kKHsgd2hlcmU6IHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKSB9KS50aGVuKHkgPT4geVswXSk7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKCF0aGlzLmVudGl0eSlcclxuICAgICAgdGhpcy5lbnRpdHkgPSB0aGlzLmVudGl0eUZhY3RvcnkoKTtcclxuXHJcblxyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBsZXQgZiA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuXHJcblxyXG4gICAgbGV0IGNvbHMgPSAnJztcclxuICAgIGxldCB2YWxzID0gJyc7XHJcbiAgICBsZXQgYWRkZWQgPSBmYWxzZTtcclxuICAgIGxldCByZXN1bHRGaWx0ZXIgPSB0aGlzLmVudGl0eS5fX2lkQ29sdW1uLmlzRXF1YWxUbyhkYXRhW3RoaXMuZW50aXR5Ll9faWRDb2x1bW4uanNvbk5hbWVdKTtcclxuXHJcbiAgICB0aGlzLmVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCgoeDogYW55KSA9PiB7XHJcbiAgICAgIGlmICh4IGluc3RhbmNlb2YgQ29tcG91bmRJZENvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdEZpbHRlciA9IHgucmVzdWx0SWRGaWx0ZXIodW5kZWZpbmVkLCBkYXRhKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoeC5fX2RiUmVhZE9ubHkoKSkgeyB9XHJcblxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgdiA9IHguX19nZXRTdG9yYWdlKCkudG9EYihkYXRhW3guanNvbk5hbWVdKTtcclxuICAgICAgICBpZiAodiAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGlmICghYWRkZWQpXHJcbiAgICAgICAgICAgIGFkZGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xzICs9ICcsICc7XHJcbiAgICAgICAgICAgIHZhbHMgKz0gJywgJztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb2xzICs9IHguX19nZXREYk5hbWUoKTtcclxuICAgICAgICAgIHZhbHMgKz0gci5hZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKHgsIHYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IHN0YXRlbWVudCA9IGBpbnNlcnQgaW50byAke3RoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCl9ICgke2NvbHN9KSB2YWx1ZXMgKCR7dmFsc30pYDtcclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzdGF0ZW1lbnQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5maW5kKHsgd2hlcmU6IHJlc3VsdEZpbHRlciB9KS50aGVuKHkgPT4ge1xyXG5cclxuICAgICAgICByZXR1cm4geVswXTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59Il19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMRGF0YWJhc2VTaGFyZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmVtdWx0L2NvcmUvIiwic291cmNlcyI6WyJzcmMvbGliL2NvcmUvU1FMRGF0YWJhc2VTaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQXFFLGdDQUFnQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWhKO0lBQ0Usa0NBQW9CLE1BQTZCLEVBQVUsVUFBbUI7UUFBMUQsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFTO0lBQUksQ0FBQzs7OztJQUNuRixnREFBYTs7O0lBQWI7UUFDRSxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUFMRCxJQUtDOzs7Ozs7SUFKYSwwQ0FBcUM7Ozs7O0lBQUUsOENBQTJCOztBQUtoRjtJQUNFLHVCQUFvQixNQUFrQixFQUFVLFVBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBR25FLFNBQUksR0FBUSxFQUFFLENBQUM7SUFEZixDQUFDOzs7Ozs7SUFFRCxtRUFBMkM7Ozs7O0lBQTNDLFVBQTRDLEdBQWdCLEVBQUUsR0FBUTs7WUFDaEUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsMkNBQTJDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Ozs7O0lBQ0ssNkJBQUs7Ozs7SUFBWCxVQUFZLEdBQVc7Ozs7Ozt3QkFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFOzRCQUNuQixPQUFPLENBQUMsR0FB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bWFuZCwgQ29sdW1uLCBTUUxRdWVyeVJlc3VsdCwgRW50aXR5LCBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdCwgQ29tcG91bmRJZENvbHVtbiB9IGZyb20gXCIuL3V0aWxzXCI7XHJcbmltcG9ydCB7IEVudGl0eURhdGFQcm92aWRlciwgRmlsdGVyQmFzZSwgRmluZE9wdGlvbnMgfSBmcm9tIFwiLi9kYXRhSW50ZXJmYWNlczFcIjtcclxuXHJcblxyXG5jbGFzcyBMb2dTUUxDb25uZWN0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBTUUxDb25uZWN0aW9uUHJvdmlkZXIge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3JpZ2luOiBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIHByaXZhdGUgYWxsUXVlcmllczogYm9vbGVhbikgeyB9XHJcbiAgY3JlYXRlQ29tbWFuZCgpOiBTUUxDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgTG9nU1FMQ29tbWFuZCh0aGlzLm9yaWdpbi5jcmVhdGVDb21tYW5kKCksIHRoaXMuYWxsUXVlcmllcyk7XHJcbiAgfVxyXG59XHJcbmNsYXNzIExvZ1NRTENvbW1hbmQgaW1wbGVtZW50cyBTUUxDb21tYW5kIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9yaWdpbjogU1FMQ29tbWFuZCwgcHJpdmF0ZSBhbGxRdWVyaWVzOiBib29sZWFuKSB7XHJcblxyXG4gIH1cclxuICBhcmdzOiBhbnkgPSB7fTtcclxuICBhZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCByID0gdGhpcy5vcmlnaW4uYWRkUGFyYW1ldGVyVG9Db21tYW5kQW5kUmV0dXJuUGFyYW1ldGVyTmFtZShjb2wsIHZhbCk7XHJcbiAgICB0aGlzLmFyZ3Nbcl0gPSB2YWw7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcbiAgYXN5bmMgcXVlcnkoc3FsOiBzdHJpbmcpOiBQcm9taXNlPFNRTFF1ZXJ5UmVzdWx0PiB7XHJcbiAgICBpZiAodGhpcy5hbGxRdWVyaWVzKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdRdWVyeTonLCBzcWwpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkFyZ3VtZW50czpcIiwgdGhpcy5hcmdzKTtcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLm9yaWdpbi5xdWVyeShzcWwpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycikge1xyXG4gICAgICBjb25zb2xlLmxvZygnUXVlcnk6Jywgc3FsKTtcclxuICAgICAgY29uc29sZS5sb2coXCJBcmd1bWVudHNcIiwgdGhpcy5hcmdzKTtcclxuICAgICAgY29uc29sZS5sb2coJ0Vycm9yOicsIGVycik7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlciBpbXBsZW1lbnRzIEVudGl0eURhdGFQcm92aWRlciB7XHJcbiAgcHVibGljIHN0YXRpYyBMb2dUb0NvbnNvbGUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudGl0eTpFbnRpdHk8YW55PiwgIHByaXZhdGUgc3FsOiBTUUxDb25uZWN0aW9uUHJvdmlkZXIpIHtcclxuXHJcbiAgICB0aGlzLnNxbCA9IEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlci5kZWNvcmF0ZVNxbENvbm5lY3Rpb25Qcm92aWRlcihzcWwpO1xyXG4gIH1cclxuICBzdGF0aWMgZGVjb3JhdGVTcWxDb25uZWN0aW9uUHJvdmlkZXIoc3FsOiBTUUxDb25uZWN0aW9uUHJvdmlkZXIpOlNRTENvbm5lY3Rpb25Qcm92aWRlciB7XHJcbiAgICByZXR1cm4gbmV3IExvZ1NRTENvbm5lY3Rpb25Qcm92aWRlcihzcWwsIEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlci5Mb2dUb0NvbnNvbGUpO1xyXG4gIH1cclxuICBjcmVhdGVEaXJlY3RTUUxDb21tYW5kKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3FsLmNyZWF0ZUNvbW1hbmQoKTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIGNvdW50KHdoZXJlOiBGaWx0ZXJCYXNlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGxldCBzZWxlY3QgPSAnc2VsZWN0IGNvdW50KCopIGNvdW50IGZyb20gJyArIHRoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICBsZXQgciA9IHRoaXMuc3FsLmNyZWF0ZUNvbW1hbmQoKTtcclxuICAgIGlmICh3aGVyZSkge1xyXG4gICAgICBsZXQgd2MgPSBuZXcgRmlsdGVyQ29uc3VtZXJCcmlkZ2VUb1NxbFJlcXVlc3Qocik7XHJcbiAgICAgIHdoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKHdjKTtcclxuICAgICAgc2VsZWN0ICs9IHdjLndoZXJlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByLnF1ZXJ5KHNlbGVjdCkudGhlbihyID0+IHtcclxuICAgICAgcmV0dXJuIHIucm93c1swXS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZmluZChvcHRpb25zPzogRmluZE9wdGlvbnMpOiBQcm9taXNlPGFueVtdPiB7XHJcbiAgICBsZXQgc2VsZWN0ID0gJ3NlbGVjdCAnO1xyXG4gICAgbGV0IGNvbEtleXM6IENvbHVtbjxhbnk+W10gPSBbXTtcclxuICAgIHRoaXMuZW50aXR5Ll9faXRlcmF0ZUNvbHVtbnMoKS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICBpZiAoeC5fX2lzVmlydHVhbCgpKSB7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChjb2xLZXlzLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICBzZWxlY3QgKz0gJywgJztcclxuICAgICAgICBzZWxlY3QgKz0geC5fX2dldERiTmFtZSgpO1xyXG4gICAgICAgIGNvbEtleXMucHVzaCh4KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBzZWxlY3QgKz0gJyBmcm9tICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpO1xyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBpZiAob3B0aW9ucy53aGVyZSkge1xyXG4gICAgICAgIGxldCB3aGVyZSA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuICAgICAgICBvcHRpb25zLndoZXJlLl9fYXBwbHlUb0NvbnN1bWVyKHdoZXJlKTtcclxuICAgICAgICBzZWxlY3QgKz0gd2hlcmUud2hlcmU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9wdGlvbnMub3JkZXJCeSkge1xyXG4gICAgICAgIGxldCBmaXJzdCA9IHRydWU7XHJcbiAgICAgICAgb3B0aW9ucy5vcmRlckJ5LlNlZ21lbnRzLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICBpZiAoZmlyc3QpIHtcclxuICAgICAgICAgICAgc2VsZWN0ICs9ICcgT3JkZXIgQnkgJztcclxuICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgc2VsZWN0ICs9ICcsICc7XHJcbiAgICAgICAgICBzZWxlY3QgKz0gYy5jb2x1bW4uX19nZXREYk5hbWUoKTtcclxuICAgICAgICAgIGlmIChjLmRlc2NlbmRpbmcpXHJcbiAgICAgICAgICAgIHNlbGVjdCArPSAnIGRlc2MnO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHtcclxuXHJcbiAgICAgICAgbGV0IHBhZ2UgPSAxO1xyXG4gICAgICAgIGlmIChvcHRpb25zLnBhZ2UpXHJcbiAgICAgICAgICBwYWdlID0gb3B0aW9ucy5wYWdlO1xyXG4gICAgICAgIGlmIChwYWdlIDwgMSlcclxuICAgICAgICAgIHBhZ2UgPSAxO1xyXG4gICAgICAgIHNlbGVjdCArPSAnIGxpbWl0ICcgKyBvcHRpb25zLmxpbWl0ICsgJyBvZmZzZXQgJyArIChwYWdlIC0gMSkgKiBvcHRpb25zLmxpbWl0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHIucXVlcnkoc2VsZWN0KS50aGVuKHIgPT4ge1xyXG4gICAgICByZXR1cm4gci5yb3dzLm1hcCh5ID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBhbnkgPSB7fTtcclxuICAgICAgICBmb3IgKGxldCB4IGluIHkpIHtcclxuICAgICAgICAgIGxldCBjb2wgPSBjb2xLZXlzW3IuZ2V0Q29sdW1uSW5kZXgoeCldO1xyXG4gICAgICAgICAgcmVzdWx0W2NvbC5qc29uTmFtZV0gPSBjb2wuX19nZXRTdG9yYWdlKCkuZnJvbURiKHlbeF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICB1cGRhdGUoaWQ6IGFueSwgZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuXHJcblxyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBsZXQgZiA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuICAgIHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKS5fX2FwcGx5VG9Db25zdW1lcihmKTtcclxuICAgIGxldCBzdGF0ZW1lbnQgPSAndXBkYXRlICcgKyB0aGlzLmVudGl0eS5fX2dldERiTmFtZSgpICsgJyBzZXQgJztcclxuICAgIGxldCBhZGRlZCA9IGZhbHNlO1xyXG4gICAgbGV0IHJlc3VsdEZpbHRlciA9IHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKTtcclxuICAgIGlmIChkYXRhLmlkICE9IHVuZGVmaW5lZClcclxuICAgICAgcmVzdWx0RmlsdGVyID0gdGhpcy5lbnRpdHkuX19pZENvbHVtbi5pc0VxdWFsVG8oZGF0YS5pZCk7XHJcblxyXG4gICAgdGhpcy5lbnRpdHkuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goeCA9PiB7XHJcbiAgICAgIGlmICh4IGluc3RhbmNlb2YgQ29tcG91bmRJZENvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdEZpbHRlciA9IHgucmVzdWx0SWRGaWx0ZXIoaWQsIGRhdGEpO1xyXG4gICAgICB9IGlmICh4Ll9fZGJSZWFkT25seSgpKSB7IH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgbGV0IHYgPSB4Ll9fZ2V0U3RvcmFnZSgpLnRvRGIoZGF0YVt4Lmpzb25OYW1lXSk7XHJcbiAgICAgICAgaWYgKHYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpZiAoIWFkZGVkKVxyXG4gICAgICAgICAgICBhZGRlZCA9IHRydWU7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHN0YXRlbWVudCArPSAnLCAnO1xyXG5cclxuICAgICAgICAgIHN0YXRlbWVudCArPSB4Ll9fZ2V0RGJOYW1lKCkgKyAnID0gJyArIHIuYWRkUGFyYW1ldGVyVG9Db21tYW5kQW5kUmV0dXJuUGFyYW1ldGVyTmFtZSh4LCB2KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc3RhdGVtZW50ICs9IGYud2hlcmU7XHJcblxyXG4gICAgcmV0dXJuIHIucXVlcnkoc3RhdGVtZW50KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmluZCh7IHdoZXJlOiByZXN1bHRGaWx0ZXIgfSkudGhlbih5ID0+IHlbMF0pO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICB9XHJcbiAgZGVsZXRlKGlkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcblxyXG4gICAgbGV0IHIgPSB0aGlzLnNxbC5jcmVhdGVDb21tYW5kKCk7XHJcbiAgICBsZXQgZiA9IG5ldyBGaWx0ZXJDb25zdW1lckJyaWRnZVRvU3FsUmVxdWVzdChyKTtcclxuICAgIHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKS5fX2FwcGx5VG9Db25zdW1lcihmKTtcclxuICAgIGxldCBzdGF0ZW1lbnQgPSAnZGVsZXRlIGZyb20gJyArIHRoaXMuZW50aXR5Ll9fZ2V0RGJOYW1lKCk7XHJcbiAgICBsZXQgYWRkZWQgPSBmYWxzZTtcclxuXHJcbiAgICBzdGF0ZW1lbnQgKz0gZi53aGVyZTtcclxuXHJcbiAgICByZXR1cm4gci5xdWVyeShzdGF0ZW1lbnQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5maW5kKHsgd2hlcmU6IHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKSB9KS50aGVuKHkgPT4geVswXSk7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGluc2VydChkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG5cclxuXHJcbiAgICBsZXQgciA9IHRoaXMuc3FsLmNyZWF0ZUNvbW1hbmQoKTtcclxuICAgIGxldCBmID0gbmV3IEZpbHRlckNvbnN1bWVyQnJpZGdlVG9TcWxSZXF1ZXN0KHIpO1xyXG5cclxuXHJcbiAgICBsZXQgY29scyA9ICcnO1xyXG4gICAgbGV0IHZhbHMgPSAnJztcclxuICAgIGxldCBhZGRlZCA9IGZhbHNlO1xyXG4gICAgbGV0IHJlc3VsdEZpbHRlciA9IHRoaXMuZW50aXR5Ll9faWRDb2x1bW4uaXNFcXVhbFRvKGRhdGFbdGhpcy5lbnRpdHkuX19pZENvbHVtbi5qc29uTmFtZV0pO1xyXG5cclxuICAgIHRoaXMuZW50aXR5Ll9faXRlcmF0ZUNvbHVtbnMoKS5mb3JFYWNoKCh4OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHggaW5zdGFuY2VvZiBDb21wb3VuZElkQ29sdW1uKSB7XHJcbiAgICAgICAgcmVzdWx0RmlsdGVyID0geC5yZXN1bHRJZEZpbHRlcih1bmRlZmluZWQsIGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh4Ll9fZGJSZWFkT25seSgpKSB7IH1cclxuXHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCB2ID0geC5fX2dldFN0b3JhZ2UoKS50b0RiKGRhdGFbeC5qc29uTmFtZV0pO1xyXG4gICAgICAgIGlmICh2ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaWYgKCFhZGRlZClcclxuICAgICAgICAgICAgYWRkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbHMgKz0gJywgJztcclxuICAgICAgICAgICAgdmFscyArPSAnLCAnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbHMgKz0geC5fX2dldERiTmFtZSgpO1xyXG4gICAgICAgICAgdmFscyArPSByLmFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoeCwgdik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgc3RhdGVtZW50ID0gYGluc2VydCBpbnRvICR7dGhpcy5lbnRpdHkuX19nZXREYk5hbWUoKX0gKCR7Y29sc30pIHZhbHVlcyAoJHt2YWxzfSlgO1xyXG5cclxuICAgIHJldHVybiByLnF1ZXJ5KHN0YXRlbWVudCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbmQoeyB3aGVyZTogcmVzdWx0RmlsdGVyIH0pLnRoZW4oeSA9PiB7XHJcblxyXG4gICAgICAgIHJldHVybiB5WzBdO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn0iXX0= |
@@ -10,2 +10,3 @@ /** | ||
this.databaseName = databaseName; | ||
this.createdEntities = []; | ||
//@ts-ignore | ||
@@ -15,24 +16,15 @@ this.db = window.openDatabase(databaseName, '1.0', databaseName, 2 * 1024 * 1024); | ||
/** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
WebSqlDataProvider.prototype.provideFor = /** | ||
* @template T | ||
* @param {?} name | ||
* @param {?} factory | ||
WebSqlDataProvider.prototype.getEntityDataProvider = /** | ||
* @param {?} entity | ||
* @return {?} | ||
*/ | ||
function (name, factory) { | ||
function (entity) { | ||
var _this = this; | ||
return new ActualSQLServerDataProvider((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.createdEntities.indexOf(entity.__getDbName()) < 0) { | ||
/** @type {?} */ | ||
var e = factory(); | ||
/** @type {?} */ | ||
var result = ''; | ||
e.__iterateColumns().forEach((/** | ||
var result_1 = ''; | ||
entity.__iterateColumns().forEach((/** | ||
* @param {?} x | ||
@@ -43,17 +35,17 @@ * @return {?} | ||
if (!x.__dbReadOnly()) { | ||
if (result.length != 0) | ||
result += ','; | ||
result += '\r\n '; | ||
result += _this.addColumnSqlSyntax(x); | ||
if (x == e.__idColumn) | ||
result += ' primary key'; | ||
if (result_1.length != 0) | ||
result_1 += ','; | ||
result_1 += '\r\n '; | ||
result_1 += _this.addColumnSqlSyntax(x); | ||
if (x == entity.__idColumn) | ||
result_1 += ' primary key'; | ||
} | ||
})); | ||
_this.db.transaction((/** | ||
this.db.transaction((/** | ||
* @param {?} t | ||
* @return {?} | ||
*/ | ||
function (t) { return t.executeSql('create table if not exists ' + e.__getDbName() + ' (' + result + '\r\n)'); })); | ||
return e; | ||
}), name, new WebSqlBridgeToSQLConnection(this.db), factory); | ||
function (t) { return t.executeSql('create table if not exists ' + entity.__getDbName() + ' (' + result_1 + '\r\n)'); })); | ||
} | ||
return new ActualSQLServerDataProvider(entity, new WebSqlBridgeToSQLConnection(this.db)); | ||
}; | ||
@@ -114,2 +106,7 @@ /** | ||
*/ | ||
WebSqlDataProvider.prototype.createdEntities; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
WebSqlDataProvider.prototype.databaseName; | ||
@@ -275,2 +272,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU3FsRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFxRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEssT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEU7SUFRSSw0QkFBb0IsWUFBb0I7UUFBcEIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEMsWUFBWTtRQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Ozs7Ozs7SUFDRCx1Q0FBVTs7Ozs7O0lBQVYsVUFBa0MsSUFBWSxFQUFFLE9BQWdCO1FBQWhFLGlCQWtCQztRQWhCRyxPQUFPLElBQUksMkJBQTJCOzs7UUFBQzs7Z0JBQy9CLENBQUMsR0FBRyxPQUFPLEVBQUU7O2dCQUNiLE1BQU0sR0FBRyxFQUFFO1lBQ2YsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDbkIsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQ2xCLE1BQU0sSUFBSSxHQUFHLENBQUM7b0JBQ2xCLE1BQU0sSUFBSSxRQUFRLENBQUM7b0JBQ25CLE1BQU0sSUFBSSxLQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVO3dCQUNqQixNQUFNLElB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QWM7Ozs7SUFBZCxVQUFlLElBQVk7UUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzs7WUFDakMsQ0FBQyxHQUFHLENBQUM7UUFDVCxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksSUFBSTtnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUN4QixDQUFDLEVBQUUsQ0FBQztTQUNQO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7SUFVTCxtQ0FBQztBQUFELENBQUMsQUF0QkQsSUFzQkM7OztJQUZHLDRDQUFZOzs7OztJQU5BLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFQcm92aWRlckZhY3RvcnksIERhdGFQcm92aWRlciwgUm93c09mRGF0YUZvclRlc3RpbmcgfSBmcm9tIFwiLi9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgRW50aXR5LCBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFNRTENvbW1hbmQsIENvbHVtbiwgU1FMUXVlcnlSZXN1bHQsIERhdGVUaW1lQ29sdW1uLCBEYXRlQ29sdW1uLCBCb29sQ29sdW1uLCBOdW1iZXJDb2x1bW4sIENsb3NlZExpc3RDb2x1bW4gfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi9TUUxEYXRhYmFzZVNoYXJlZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdlYlNxbERhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlckZhY3RvcnksIFJvd3NPZkRhdGFGb3JUZXN0aW5nIHtcclxuICAgIHJvd3M6IHtcclxuICAgICAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBhbnk7XHJcbiAgICB9O1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBkYjogRGF0YWJhc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhYmFzZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMuZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKGRhdGFiYXNlTmFtZSwgJzEuMCcsIGRhdGFiYXNlTmFtZSwgMiAqIDEwMjQgKiAxMDI0KTtcclxuICAgIH1cclxuICAgIHByb3ZpZGVGb3I8VCBleHRlbmRzIEVudGl0eTxhbnk+PihuYW1lOiBzdHJpbmcsIGZhY3Rvcnk6ICgpID0+IFQpOiBEYXRhUHJvdmlkZXIge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IEFjdHVhbFNRTFNlcnZlckRhdGFQcm92aWRlcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciBlID0gZmFjdG9yeSgpO1xyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgICAgIGUuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXguX19kYlJlYWRPbmx5KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gJywnO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnXFxyXFxuICAnO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLmFkZENvbHVtblNxbFN5bnRheCh4KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoeCA9PSBlLl9faWRDb2x1bW4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnIHByaW1hcnkga2V5JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGIudHJhbnNhY3Rpb24odCA9PiB0LmV4ZWN1dGVTcWwoJ2NyZWF0ZSB0YWJsZSBpZiBub3QgZXhpc3RzICcgKyBlLl9fZ2V0RGJOYW1lKCkgKyAnICgnICsgcmVzdWx0ICsgJ1xcclxcbiknKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgIH0sIG5hbWUsIG5ldyBXZWJTcWxCcmlkZ2VUb1NRTENvbm5lY3Rpb24odGhpcy5kYiksIGZhY3RvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkQ29sdW1uU3FsU3ludGF4KHg6IENvbHVtbjxhbnk+KSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHguX19nZXREYk5hbWUoKTtcclxuICAgICAgICBpZiAoeCBpbnN0YW5jZW9mIERhdGVUaW1lQ29sdW1uKVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlclwiO1xyXG4gICAgICAgIGVsc2UgaWYgKHggaW5zdGFuY2VvZiBEYXRlQ29sdW1uKVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlclwiO1xyXG4gICAgICAgIGVsc2UgaWYgKHggaW5zdGFuY2VvZiBCb29sQ29sdW1uKVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlciBkZWZhdWx0IDAgbm90IG51bGxcIjtcclxuICAgICAgICBlbHNlIGlmICh4IGluc3RhbmNlb2YgTnVtYmVyQ29sdW1uKSB7XHJcbiAgICAgICAgICAgIGlmICh4Ll9fbnVtT2ZEZWNpbWFsRGlnaXRzID09IDApXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gXCIgaW50ZWdlciBkZWZhdWx0IDAgbm90IG51bGxcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9ICcgcmVhbCBkZWZhdWx0IDAgbm90IG51bGwnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoeCBpbnN0YW5jZW9mIENsb3NlZExpc3RDb2x1bW4pIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9ICcgaW50ZWdlciBkZWZhdWx0IDAgbm90IG51bGwnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiB0ZXh0IGRlZmF1bHQgJycgbm90IG51bGwgXCI7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICB0b1N0cmluZygpIHsgcmV0dXJuIFwiV2ViU3FsRGF0YVByb3ZpZGVyXCIgfVxyXG59XHJcblxyXG5jbGFzcyBXZWJTcWxCcmlkZ2VUb1NRTENvbm5lY3Rpb24gaW1wbGVtZW50cyBTUUxDb25uZWN0aW9uUHJvdmlkZXIge1xyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvdXJjZTogRGF0YWJhc2UpIHtcclxuICAgIH1cclxuICAgIGNyZWF0ZUNvbW1hbmQoKTogU1FMQ29tbWFuZCB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBXZWJTcWxCcmlkZ2VUb1NRTENvbW1hbmQodGhpcy5zb3VyY2UpO1xyXG4gICAgfVxyXG59XHJcblxyXG5jbGFzcyBXZWJTcWxCcmlkZ2VUb1NRTENvbW1hbmQgaW1wbGVtZW50cyBTUUxDb21tYW5kIHtcclxuICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzb3VyY2U6IERhdGFiYXNlKSB7XHJcbiAgICB9XHJcbiAgICB2YWx1ZXM6IGFueVtdID0gW107XHJcbiAgICBhZGRQYXJhbWV0ZXJUb0NvbW1hbmRBbmRSZXR1cm5QYXJhbWV0ZXJOYW1lKGNvbDogQ29sdW1uPGFueT4sIHZhbDogYW55KTogc3RyaW5nIHtcclxuICAgICAgICB0aGlzLnZhbHVlcy5wdXNoKHZhbCk7XHJcbiAgICAgICAgcmV0dXJuICd+JyArIHRoaXMudmFsdWVzLmxlbmd0aCArICd+JztcclxuICAgIH1cclxuICAgIHF1ZXJ5KHNxbDogc3RyaW5nKTogUHJvbWlzZTxTUUxRdWVyeVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICAgICAgICB0aGlzLnNvdXJjZS50cmFuc2FjdGlvbih0ID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBzID0gc3FsO1xyXG4gICAgICAgICAgICAgICAgbGV0IHYgOmFueVtdID0gW107XHJcbiAgICAgICAgICAgICAgICB2YXIgbSA9IHMubWF0Y2goL35cXGQrfi9nKTtcclxuICAgICAgICAgICAgICAgIGlmIChtICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICAgICAgbS5mb3JFYWNoKG1yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZShtciwgJz8nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdi5wdXNoKHRoaXMudmFsdWVzW051bWJlci5wYXJzZUludChtci5zdWJzdHJpbmcoMSwgbXIubGVuZ3RoIC0gMSkpIC0gMV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB0LmV4ZWN1dGVTcWwocywgdiwgKHQxLCByKSA9PiByZXNvbHZlKG5ldyBXZWJTcWxCcmlkZ2VUb1NRTFF1ZXJ5UmVzdWx0KHIpKSxcclxuICAgICAgICAgICAgICAgICAgICAodDIsIGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFdlYlNxbEJyaWRnZVRvU1FMUXVlcnlSZXN1bHQgaW1wbGVtZW50cyBTUUxRdWVyeVJlc3VsdCB7XHJcbiAgICBnZXRjb2x1bW5OYW1lQXRJbmRleChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29sdW1uSW5kZXgobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAodGhpcy5yb3dzLmxlbmd0aCA9PSAwKSByZXR1cm4gLTE7XHJcbiAgICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICAgIGZvciAobGV0IG0gaW4gdGhpcy5yb3dzWzBdKSB7XHJcbiAgICAgICAgICAgIGlmIChtID09IG5hbWUpIHJldHVybiBpO1xyXG4gICAgICAgICAgICBpKys7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgIH1cclxuICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByOiBTUUxSZXN1bHRTZXQpIHtcclxuICAgICAgICB0aGlzLnJvd3MgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHIucm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnJvd3MucHVzaChyLnJvd3MuaXRlbShpKSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByb3dzOiBhbnlbXTtcclxuXHJcbn0iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU3FsRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb3JlL1dlYlNxbERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFxRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEssT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEU7SUFRSSw0QkFBb0IsWUFBb0I7UUFBcEIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFEaEMsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFFbkMsWUFBWTtRQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Ozs7O0lBQ0Qsa0RBQXFCOzs7O0lBQXJCLFVBQXNCLE1BQW1CO1FBQXpDLGlCQWlCQztRQWhCRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTs7Z0JBRXBELFFBQU0sR0FBRyxFQUFFO1lBQ2YsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDbkIsSUFBSSxRQUFNLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQ2xCLFFBQU0sSUFBSSxHQUFHLENBQUM7b0JBQ2xCLFFBQU0sSUFBSSxRQUFRLENBQUM7b0JBQ25CLFFBQU0sSUFBSSxLQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JDLElBQUks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QUM5QixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzs7OztJQUNELHFEQUFjOzs7O0lBQWQsVUFBZSxJQUFZO1FBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7O1lBQ2pDLENBQUMsR0FBRyxDQUFDO1FBQ1QsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLElBQUk7Z0JBQUUsT0FBTyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxFQUFFLENBQUM7U0FDUDtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBVUwsbUNBQUM7QUFBRCxDQUFDLEFBdEJELElBc0JDOzs7SUFGRyw0Q0FBWTs7Ozs7SUFOQSx5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhUHJvdmlkZXIsIEVudGl0eURhdGFQcm92aWRlciwgUm93c09mRGF0YUZvclRlc3RpbmcgfSBmcm9tIFwiLi9kYXRhSW50ZXJmYWNlczFcIjtcclxuaW1wb3J0IHsgRW50aXR5LCBTUUxDb25uZWN0aW9uUHJvdmlkZXIsIFNRTENvbW1hbmQsIENvbHVtbiwgU1FMUXVlcnlSZXN1bHQsIERhdGVUaW1lQ29sdW1uLCBEYXRlQ29sdW1uLCBCb29sQ29sdW1uLCBOdW1iZXJDb2x1bW4sIENsb3NlZExpc3RDb2x1bW4gfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBBY3R1YWxTUUxTZXJ2ZXJEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi9TUUxEYXRhYmFzZVNoYXJlZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdlYlNxbERhdGFQcm92aWRlciBpbXBsZW1lbnRzIERhdGFQcm92aWRlciwgUm93c09mRGF0YUZvclRlc3Rpbmcge1xyXG4gICAgcm93czoge1xyXG4gICAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IGFueTtcclxuICAgIH07XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICAvL0B0cy1pZ25vcmVcclxuICAgIGRiOiBEYXRhYmFzZTtcclxuICAgIHByaXZhdGUgY3JlYXRlZEVudGl0aWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhYmFzZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMuZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKGRhdGFiYXNlTmFtZSwgJzEuMCcsIGRhdGFiYXNlTmFtZSwgMiAqIDEwMjQgKiAxMDI0KTtcclxuICAgIH1cclxuICAgIGdldEVudGl0eURhdGFQcm92aWRlcihlbnRpdHk6IEVudGl0eTxhbnk+KTogRW50aXR5RGF0YVByb3ZpZGVyIHtcclxuICAgICAgICBpZiAodGhpcy5jcmVhdGVkRW50aXRpZXMuaW5kZXhPZihlbnRpdHkuX19nZXREYk5hbWUoKSkgPCAwKSB7XHJcblxyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgICAgIGVudGl0eS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICgheC5fX2RiUmVhZE9ubHkoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoICE9IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnLCc7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICdcXHJcXG4gICc7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuYWRkQ29sdW1uU3FsU3ludGF4KHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh4ID09IGVudGl0eS5fX2lkQ29sdW1uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gJyBwcmltYXJ5IGtleSc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmRiLnRyYW5zYWN0aW9uKHQgPT4gdC5leGVjdXRlU3FsKCdjcmVhdGUgdGFibGUgaWYgbm90IGV4aXN0cyAnICsgZW50aXR5Ll9fZ2V0RGJOYW1lKCkgKyAnICgnICsgcmVzdWx0ICsgJ1xcclxcbiknKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgQWN0dWFsU1FMU2VydmVyRGF0YVByb3ZpZGVyKGVudGl0eSwgbmV3IFdlYlNxbEJyaWRnZVRvU1FMQ29ubmVjdGlvbih0aGlzLmRiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRDb2x1bW5TcWxTeW50YXgoeDogQ29sdW1uPGFueT4pIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0geC5fX2dldERiTmFtZSgpO1xyXG4gICAgICAgIGlmICh4IGluc3RhbmNlb2YgRGF0ZVRpbWVDb2x1bW4pXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyXCI7XHJcbiAgICAgICAgZWxzZSBpZiAoeCBpbnN0YW5jZW9mIERhdGVDb2x1bW4pXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyXCI7XHJcbiAgICAgICAgZWxzZSBpZiAoeCBpbnN0YW5jZW9mIEJvb2xDb2x1bW4pXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyIGRlZmF1bHQgMCBub3QgbnVsbFwiO1xyXG4gICAgICAgIGVsc2UgaWYgKHggaW5zdGFuY2VvZiBOdW1iZXJDb2x1bW4pIHtcclxuICAgICAgICAgICAgaWYgKHguX19udW1PZkRlY2ltYWxEaWdpdHMgPT0gMClcclxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBcIiBpbnRlZ2VyIGRlZmF1bHQgMCBub3QgbnVsbFwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gJyByZWFsIGRlZmF1bHQgMCBub3QgbnVsbCc7XHJcbiAgICAgICAgfSBlbHNlIGlmICh4IGluc3RhbmNlb2YgQ2xvc2VkTGlzdENvbHVtbikge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gJyBpbnRlZ2VyIGRlZmF1bHQgMCBub3QgbnVsbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiIHRleHQgZGVmYXVsdCAnJyBub3QgbnVsbCBcIjtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHRvU3RyaW5nKCkgeyByZXR1cm4gXCJXZWJTcWxEYXRhUHJvdmlkZXJcIiB9XHJcbn1cclxuXHJcbmNsYXNzIFdlYlNxbEJyaWRnZVRvU1FMQ29ubmVjdGlvbiBpbXBsZW1lbnRzIFNRTENvbm5lY3Rpb25Qcm92aWRlciB7XHJcbiAgICAvL0B0cy1pZ25vcmVcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc291cmNlOiBEYXRhYmFzZSkge1xyXG4gICAgfVxyXG4gICAgY3JlYXRlQ29tbWFuZCgpOiBTUUxDb21tYW5kIHtcclxuICAgICAgICByZXR1cm4gbmV3IFdlYlNxbEJyaWRnZVRvU1FMQ29tbWFuZCh0aGlzLnNvdXJjZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFdlYlNxbEJyaWRnZVRvU1FMQ29tbWFuZCBpbXBsZW1lbnRzIFNRTENvbW1hbmQge1xyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvdXJjZTogRGF0YWJhc2UpIHtcclxuICAgIH1cclxuICAgIHZhbHVlczogYW55W10gPSBbXTtcclxuICAgIGFkZFBhcmFtZXRlclRvQ29tbWFuZEFuZFJldHVyblBhcmFtZXRlck5hbWUoY29sOiBDb2x1bW48YW55PiwgdmFsOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2godmFsKTtcclxuICAgICAgICByZXR1cm4gJ34nICsgdGhpcy52YWx1ZXMubGVuZ3RoICsgJ34nO1xyXG4gICAgfVxyXG4gICAgcXVlcnkoc3FsOiBzdHJpbmcpOiBQcm9taXNlPFNRTFF1ZXJ5UmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+XHJcbiAgICAgICAgICAgIHRoaXMuc291cmNlLnRyYW5zYWN0aW9uKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHMgPSBzcWw7XHJcbiAgICAgICAgICAgICAgICBsZXQgdjogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIHZhciBtID0gcy5tYXRjaCgvflxcZCt+L2cpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG0gIT0gbnVsbClcclxuICAgICAgICAgICAgICAgICAgICBtLmZvckVhY2gobXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzID0gcy5yZXBsYWNlKG1yLCAnPycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2LnB1c2godGhpcy52YWx1ZXNbTnVtYmVyLnBhcnNlSW50KG1yLnN1YnN0cmluZygxLCBtci5sZW5ndGggLSAxKSkgLSAxXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIHQuZXhlY3V0ZVNxbChzLCB2LCAodDEsIHIpID0+IHJlc29sdmUobmV3IFdlYlNxbEJyaWRnZVRvU1FMUXVlcnlSZXN1bHQocikpLFxyXG4gICAgICAgICAgICAgICAgICAgICh0MiwgZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgV2ViU3FsQnJpZGdlVG9TUUxRdWVyeVJlc3VsdCBpbXBsZW1lbnRzIFNRTFF1ZXJ5UmVzdWx0IHtcclxuICAgIGdldGNvbHVtbk5hbWVBdEluZGV4KGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBnZXRDb2x1bW5JbmRleChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICh0aGlzLnJvd3MubGVuZ3RoID09IDApIHJldHVybiAtMTtcclxuICAgICAgICBsZXQgaSA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgbSBpbiB0aGlzLnJvd3NbMF0pIHtcclxuICAgICAgICAgICAgaWYgKG0gPT0gbmFtZSkgcmV0dXJuIGk7XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfVxyXG4gICAgLy9AdHMtaWdub3JlXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHI6IFNRTFJlc3VsdFNldCkge1xyXG4gICAgICAgIHRoaXMucm93cyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgci5yb3dzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm93cy5wdXNoKHIucm93cy5pdGVtKGkpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJvd3M6IGFueVtdO1xyXG5cclxufSJdfQ== |
@@ -67,8 +67,25 @@ /** | ||
/** | ||
* @template type | ||
* @param {?} original | ||
* @param {?} addValues | ||
* @return {?} | ||
*/ | ||
export function DecorateDataColumnSettings(original, addValues) { | ||
/** @type {?} */ | ||
var result = {}; | ||
if (typeof (original) == "string") | ||
result.caption = original; | ||
else if (original) | ||
result = original; | ||
addValues(result); | ||
return result; | ||
} | ||
/** | ||
* @param {?} row | ||
* @param {?} column | ||
* @param {?} provider | ||
* @param {?=} message | ||
* @return {?} | ||
*/ | ||
export function checkForDuplicateValue(row, column, message) { | ||
export function checkForDuplicateValue(row, column, provider, message) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
@@ -80,3 +97,7 @@ var rows; | ||
if (!(row.isNew() || column.value != column.originalValue)) return [3 /*break*/, 2]; | ||
return [4 /*yield*/, row.source.find({ where: column.isEqualTo(column.value) })]; | ||
return [4 /*yield*/, provider.find({ where: (/** | ||
* @param {?} r | ||
* @return {?} | ||
*/ | ||
function (r) { return r.__getColumn(column).isEqualTo(column.value); }) })]; | ||
case 1: | ||
@@ -92,18 +113,2 @@ rows = _a.sent(); | ||
} | ||
/** | ||
* @template type | ||
* @param {?} original | ||
* @param {?} addValues | ||
* @return {?} | ||
*/ | ||
export function DecorateDataColumnSettings(original, addValues) { | ||
/** @type {?} */ | ||
var result = {}; | ||
if (typeof (original) == "string") | ||
result.caption = original; | ||
else | ||
result = original; | ||
addValues(result); | ||
return result; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9pZC1lbnRpdHkvaWQtZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBTTVFO0lBQThCLG9DQUFjO0lBRzFDLGtCQUFZLE9BQWdDO1FBQTVDLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBU2Y7UUFYRCxRQUFFLEdBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQVlYLGtCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUjNCLEtBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzs7WUFDM0IsQ0FBQyxHQUFHLEtBQUksQ0FBQyxhQUFhO1FBQzFCLEtBQUksQ0FBQyxhQUFhOzs7UUFBRztZQUNuQixJQUFJLEtBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSSxDQUFDLFlBQVk7Z0JBQ3RELEtBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNiLENBQUMsQ0FBQSxDQUFBOztJQUNILENBQUM7Ozs7SUFFRCxzQ0FBbUI7OztJQUFuQjtRQUNFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUFuQkQsQ0FBOEIsTUFBTSxHQW1CbkM7Ozs7SUFqQkMsc0JBQW1COzs7OztJQVluQixnQ0FBNkI7O0FBTy9CO0lBQThCLG9DQUFZO0lBQTFDOztJQUlBLENBQUM7Ozs7SUFIQyw2QkFBVTs7O0lBQVY7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDSCxlQUFDO0FBQUQsQ0FBQyxBQUpELENBQThCLFlBQVksR0FJekM7Ozs7Ozs7O0FBQ0QsTUFBTSxVQUFnQixzQkFBc0IsQ0FBQyxHQUFnQixFQUFFLE1BQW1CLEVBQUUsT0FBZ0I7Ozs7Ozt5QkFDOUYsQ0FBQSxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFBLEVBQW5ELHdCQUFtRDtvQkFDMUMscUJBQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFBOztvQkFBdkUsSUFBSSxHQUFHLFNBQWdFO29CQUMzRSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDakIsTUFBTSxDQUFDLEtBQUssR0FBRyxPQUFPLElBQUksZ0JBQWdCLENBQUM7Ozs7OztDQUdoRDs7Ozs7OztBQUNELE1BQU0sVUFBVSwwQkFBMEIsQ0FBTyxRQUE2QixFQUFFLFNBQWdEOztRQUMxSCxNQUFNLEdBQTZCLEVBQUU7SUFDekMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUTtRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQzs7UUFFMUIsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUNwQixTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgU3RyaW5nQ29sdW1uLCBFbnRpdHksIENvbHVtbiwgRW50aXR5T3B0aW9ucyB9IGZyb20gXCIuLi9jb3JlL3V0aWxzXCI7XHJcblxyXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBEYXRhQ29sdW1uU2V0dGluZ3MgfSBmcm9tICcuLi9jb3JlL2RhdGFJbnRlcmZhY2VzMSc7XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBJZEVudGl0eSBleHRlbmRzIEVudGl0eTxzdHJpbmc+XHJcbntcclxuICBpZD0gbmV3IElkQ29sdW1uKCk7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IEVudGl0eU9wdGlvbnMgfCBzdHJpbmcpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gICAgXHJcbiAgICB0aGlzLmlkLmFsbG93QXBpVXBkYXRlID0gZmFsc2U7XHJcbiAgICBsZXQgeCA9IHRoaXMuX19vblNhdmluZ1JvdztcclxuICAgIHRoaXMuX19vblNhdmluZ1JvdyA9ICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXNOZXcoKSAmJiAhdGhpcy5pZC52YWx1ZSAmJiAhdGhpcy5kaXNhYmxlTmV3SWQpXHJcbiAgICAgICAgdGhpcy5pZC5zZXRUb05ld0lkKCk7XHJcbiAgICAgIHJldHVybiB4KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgZGlzYWJsZU5ld0lkID0gZmFsc2U7XHJcbiAgc2V0RW1wdHlJZEZvck5ld1JvdygpIHtcclxuICAgIHRoaXMuaWQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuZGlzYWJsZU5ld0lkID0gdHJ1ZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJZENvbHVtbiBleHRlbmRzIFN0cmluZ0NvbHVtbiB7XHJcbiAgc2V0VG9OZXdJZCgpIHtcclxuICAgIHRoaXMudmFsdWUgPSB1dWlkKCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0ZvckR1cGxpY2F0ZVZhbHVlKHJvdzogRW50aXR5PGFueT4sIGNvbHVtbjogQ29sdW1uPGFueT4sIG1lc3NhZ2U/OiBzdHJpbmcpIHtcclxuICBpZiAocm93LmlzTmV3KCkgfHwgY29sdW1uLnZhbHVlICE9IGNvbHVtbi5vcmlnaW5hbFZhbHVlKSB7XHJcbiAgICBsZXQgcm93cyA9IGF3YWl0IHJvdy5zb3VyY2UuZmluZCh7IHdoZXJlOiBjb2x1bW4uaXNFcXVhbFRvKGNvbHVtbi52YWx1ZSkgfSk7XHJcbiAgICBpZiAocm93cy5sZW5ndGggPiAwKVxyXG4gICAgICBjb2x1bW4uZXJyb3IgPSBtZXNzYWdlIHx8ICdBbHJlYWR5IGV4aXN0cyc7XHJcbiAgfVxyXG5cclxufVxyXG5leHBvcnQgZnVuY3Rpb24gRGVjb3JhdGVEYXRhQ29sdW1uU2V0dGluZ3M8dHlwZT4ob3JpZ2luYWw6IENvbHVtbk9wdGlvbnM8dHlwZT4sIGFkZFZhbHVlczogKHg6IERhdGFDb2x1bW5TZXR0aW5nczx0eXBlPikgPT4gdm9pZCkge1xyXG4gIGxldCByZXN1bHQ6IERhdGFDb2x1bW5TZXR0aW5nczx0eXBlPiA9IHt9O1xyXG4gIGlmICh0eXBlb2YgKG9yaWdpbmFsKSA9PSBcInN0cmluZ1wiKVxyXG4gICAgcmVzdWx0LmNhcHRpb24gPSBvcmlnaW5hbDtcclxuICBlbHNlXHJcbiAgICByZXN1bHQgPSBvcmlnaW5hbDtcclxuICBhZGRWYWx1ZXMocmVzdWx0KTtcclxuICByZXR1cm4gcmVzdWx0O1xyXG59Il19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJlbXVsdC9jb3JlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9pZC1lbnRpdHkvaWQtZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBTTVFO0lBQThCLG9DQUFjO0lBRzFDLGtCQUFZLE9BQWdDO1FBQTVDLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBU2Y7UUFYRCxRQUFFLEdBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQVlYLGtCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUjNCLEtBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzs7WUFDM0IsQ0FBQyxHQUFHLEtBQUksQ0FBQyxhQUFhO1FBQzFCLEtBQUksQ0FBQyxhQUFhOzs7UUFBRztZQUNuQixJQUFJLEtBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSSxDQUFDLFlBQVk7Z0JBQ3RELEtBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNiLENBQUMsQ0FBQSxDQUFBOztJQUNILENBQUM7Ozs7SUFFRCxzQ0FBbUI7OztJQUFuQjtRQUNFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUFuQkQsQ0FBOEIsTUFBTSxHQW1CbkM7Ozs7SUFqQkMsc0JBQW1COzs7OztJQVluQixnQ0FBNkI7O0FBTy9CO0lBQThCLG9DQUFZO0lBQTFDOztJQUlBLENBQUM7Ozs7SUFIQyw2QkFBVTs7O0lBQVY7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDSCxlQUFDO0FBQUQsQ0FBQyxBQUpELENBQThCLFlBQVksR0FJekM7Ozs7Ozs7O0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFPLFFBQTZCLEVBQUUsU0FBZ0Q7O1FBQzFILE1BQU0sR0FBNkIsRUFBRTtJQUN6QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1NBQ3ZCLElBQUksUUFBUTtRQUNmLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDcEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7Ozs7O0FBQ0QsTUFBTSxVQUFnQixzQkFBc0IsQ0FBQyxHQUFnQixFQUFFLE1BQW1CLEVBQUMsUUFBNkIsRUFBRSxPQUFnQjs7Ozs7O3lCQUM1SCxDQUFBLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUEsRUFBbkQsd0JBQW1EO29CQUMxQyxxQkFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSzs7Ozs0QkFBQyxVQUFBLENBQUMsSUFBRSxPQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBN0MsQ0FBNkMsQ0FBQSxFQUFFLENBQUMsRUFBQTs7b0JBQXRGLElBQUksR0FBRyxTQUErRTtvQkFDMUYsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7d0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsT0FBTyxJQUFJLGdCQUFnQixDQUFDOzs7Ozs7Q0FHaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IFN0cmluZ0NvbHVtbiwgRW50aXR5LCBDb2x1bW4sIEVudGl0eU9wdGlvbnMgfSBmcm9tIFwiLi4vY29yZS91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucywgRGF0YUNvbHVtblNldHRpbmdzLCBFbnRpdHlQcm92aWRlciB9IGZyb20gJy4uL2NvcmUvZGF0YUludGVyZmFjZXMxJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIElkRW50aXR5IGV4dGVuZHMgRW50aXR5PHN0cmluZz5cclxue1xyXG4gIGlkPSBuZXcgSWRDb2x1bW4oKTtcclxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogRW50aXR5T3B0aW9ucyB8IHN0cmluZykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICBcclxuICAgIHRoaXMuaWQuYWxsb3dBcGlVcGRhdGUgPSBmYWxzZTtcclxuICAgIGxldCB4ID0gdGhpcy5fX29uU2F2aW5nUm93O1xyXG4gICAgdGhpcy5fX29uU2F2aW5nUm93ID0gKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc05ldygpICYmICF0aGlzLmlkLnZhbHVlICYmICF0aGlzLmRpc2FibGVOZXdJZClcclxuICAgICAgICB0aGlzLmlkLnNldFRvTmV3SWQoKTtcclxuICAgICAgcmV0dXJuIHgoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBkaXNhYmxlTmV3SWQgPSBmYWxzZTtcclxuICBzZXRFbXB0eUlkRm9yTmV3Um93KCkge1xyXG4gICAgdGhpcy5pZC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5kaXNhYmxlTmV3SWQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIElkQ29sdW1uIGV4dGVuZHMgU3RyaW5nQ29sdW1uIHtcclxuICBzZXRUb05ld0lkKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHV1aWQoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBEZWNvcmF0ZURhdGFDb2x1bW5TZXR0aW5nczx0eXBlPihvcmlnaW5hbDogQ29sdW1uT3B0aW9uczx0eXBlPiwgYWRkVmFsdWVzOiAoeDogRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+KSA9PiB2b2lkKSB7XHJcbiAgbGV0IHJlc3VsdDogRGF0YUNvbHVtblNldHRpbmdzPHR5cGU+ID0ge307XHJcbiAgaWYgKHR5cGVvZiAob3JpZ2luYWwpID09IFwic3RyaW5nXCIpXHJcbiAgICByZXN1bHQuY2FwdGlvbiA9IG9yaWdpbmFsO1xyXG4gIGVsc2UgaWYgKG9yaWdpbmFsKVxyXG4gICAgcmVzdWx0ID0gb3JpZ2luYWw7XHJcbiAgYWRkVmFsdWVzKHJlc3VsdCk7XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2hlY2tGb3JEdXBsaWNhdGVWYWx1ZShyb3c6IEVudGl0eTxhbnk+LCBjb2x1bW46IENvbHVtbjxhbnk+LHByb3ZpZGVyOiBFbnRpdHlQcm92aWRlcjxhbnk+LCBtZXNzYWdlPzogc3RyaW5nKSB7XHJcbiAgaWYgKHJvdy5pc05ldygpIHx8IGNvbHVtbi52YWx1ZSAhPSBjb2x1bW4ub3JpZ2luYWxWYWx1ZSkge1xyXG4gICAgbGV0IHJvd3MgPSBhd2FpdCBwcm92aWRlci5maW5kKHsgd2hlcmU6cj0+ci5fX2dldENvbHVtbihjb2x1bW4pLmlzRXF1YWxUbyhjb2x1bW4udmFsdWUpIH0pO1xyXG4gICAgaWYgKHJvd3MubGVuZ3RoID4gMClcclxuICAgICAgY29sdW1uLmVycm9yID0gbWVzc2FnZSB8fCAnQWxyZWFkeSBleGlzdHMnO1xyXG4gIH1cclxuXHJcbn0iXX0= |
@@ -14,5 +14,5 @@ /** | ||
DataApi = /** @class */ (function () { | ||
function DataApi(rowType, options) { | ||
function DataApi(entityProvider, options, t) { | ||
var _a, _b, _c; | ||
this.rowType = rowType; | ||
this.entityProvider = entityProvider; | ||
this.options = options; | ||
@@ -23,7 +23,9 @@ this.excludedColumns = new ColumnHashSet(); | ||
this.options = {}; | ||
if (!t) | ||
t = entityProvider.create(); | ||
if (this.options.readonlyColumns) | ||
(_a = this.readonlyColumns).add.apply(_a, tslib_1.__spread(this.options.readonlyColumns(rowType))); | ||
(_a = this.readonlyColumns).add.apply(_a, tslib_1.__spread(this.options.readonlyColumns(t))); | ||
if (this.options.excludeColumns) { | ||
(_b = this.excludedColumns).add.apply(_b, tslib_1.__spread(this.options.excludeColumns(rowType))); | ||
(_c = this.readonlyColumns).add.apply(_c, tslib_1.__spread(this.options.excludeColumns(rowType))); | ||
(_b = this.excludedColumns).add.apply(_b, tslib_1.__spread(this.options.excludeColumns(t))); | ||
(_c = this.readonlyColumns).add.apply(_c, tslib_1.__spread(this.options.excludeColumns(t))); | ||
} | ||
@@ -39,3 +41,3 @@ } | ||
if (!this.options.name) | ||
return this.rowType.__getName(); | ||
return this.entityProvider.create().__getName(); | ||
return this.options.name; | ||
@@ -94,3 +96,4 @@ }; | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var where, _a, _b, _c, err_1; | ||
var _a, _b, _c, err_1; | ||
var _this = this; | ||
return tslib_1.__generator(this, function (_d) { | ||
@@ -100,6 +103,9 @@ switch (_d.label) { | ||
_d.trys.push([0, 2, , 3]); | ||
where = this.buildWhere(request); | ||
_b = (_a = response).success; | ||
_c = {}; | ||
return [4 /*yield*/, this.rowType.source.count(where)]; | ||
return [4 /*yield*/, this.entityProvider.count((/** | ||
* @param {?} t | ||
* @return {?} | ||
*/ | ||
function (t) { return _this.buildWhere(t, request); }))]; | ||
case 1: | ||
@@ -129,3 +135,3 @@ _b.apply(_a, [(_c.count = +(_d.sent()), _c)]); | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var findOptions_1, sort, dir, dirItems_1, limit, err_2; | ||
var findOptions, sort_1, dir, dirItems_1, limit, err_2; | ||
var _this = this; | ||
@@ -142,10 +148,14 @@ return tslib_1.__generator(this, function (_a) { | ||
_a.trys.push([1, 3, , 4]); | ||
findOptions_1 = {}; | ||
findOptions = {}; | ||
if (this.options && this.options.get) { | ||
Object.assign(findOptions_1, this.options.get); | ||
Object.assign(findOptions, this.options.get); | ||
} | ||
findOptions_1.where = this.buildWhere(request); | ||
findOptions.where = (/** | ||
* @param {?} t | ||
* @return {?} | ||
*/ | ||
function (t) { return _this.buildWhere(t, request); }); | ||
if (request) { | ||
sort = (/** @type {?} */ (request.get("_sort"))); | ||
if (sort != undefined) { | ||
sort_1 = (/** @type {?} */ (request.get("_sort"))); | ||
if (sort_1 != undefined) { | ||
dir = request.get('_order'); | ||
@@ -155,18 +165,26 @@ dirItems_1 = []; | ||
dirItems_1 = dir.split(','); | ||
findOptions_1.orderBy = new Sort(); | ||
sort.split(',').forEach((/** | ||
* @param {?} name | ||
* @param {?} i | ||
findOptions.orderBy = (/** | ||
* @param {?} x | ||
* @return {?} | ||
*/ | ||
function (name, i) { | ||
function (x) { | ||
/** @type {?} */ | ||
var col = _this.rowType.__getColumnByJsonName(name.trim()); | ||
if (col) { | ||
findOptions_1.orderBy.Segments.push({ | ||
column: col, | ||
descending: i < dirItems_1.length && dirItems_1[i].toLowerCase().trim().startsWith("d") | ||
}); | ||
} | ||
})); | ||
var r = new Sort(); | ||
sort_1.split(',').forEach((/** | ||
* @param {?} name | ||
* @param {?} i | ||
* @return {?} | ||
*/ | ||
function (name, i) { | ||
/** @type {?} */ | ||
var col = x.__getColumnByJsonName(name.trim()); | ||
if (col) { | ||
r.Segments.push({ | ||
column: col, | ||
descending: i < dirItems_1.length && dirItems_1[i].toLowerCase().trim().startsWith("d") | ||
}); | ||
} | ||
})); | ||
return r; | ||
}); | ||
} | ||
@@ -176,6 +194,6 @@ limit = +request.get("_limit"); | ||
limit = 25; | ||
findOptions_1.limit = limit; | ||
findOptions_1.page = +request.get("_page"); | ||
findOptions.limit = limit; | ||
findOptions.page = +request.get("_page"); | ||
} | ||
return [4 /*yield*/, this.rowType.source.find(findOptions_1) | ||
return [4 /*yield*/, this.entityProvider.find(findOptions) | ||
.then((/** | ||
@@ -222,2 +240,3 @@ * @param {?} r | ||
* @private | ||
* @param {?} rowType | ||
* @param {?} request | ||
@@ -228,12 +247,13 @@ * @return {?} | ||
* @private | ||
* @param {?} rowType | ||
* @param {?} request | ||
* @return {?} | ||
*/ | ||
function (request) { | ||
function (rowType, request) { | ||
/** @type {?} */ | ||
var where; | ||
if (this.options && this.options.get && this.options.get.where) | ||
where = this.options.get.where(this.rowType); | ||
where = this.options.get.where(rowType); | ||
if (request) { | ||
this.rowType.__iterateColumns().forEach((/** | ||
rowType.__iterateColumns().forEach((/** | ||
* @param {?} col | ||
@@ -352,3 +372,3 @@ * @return {?} | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var where, err_3; | ||
var err_3; | ||
var _this = this; | ||
@@ -359,6 +379,15 @@ return tslib_1.__generator(this, function (_a) { | ||
_a.trys.push([0, 2, , 3]); | ||
where = this.rowType.__idColumn.isEqualTo(id); | ||
if (this.options && this.options.get && this.options.get.where) | ||
where = new AndFilter(where, this.options.get.where(this.rowType)); | ||
return [4 /*yield*/, this.rowType.source.find({ where: where }) | ||
return [4 /*yield*/, this.entityProvider.find({ | ||
where: (/** | ||
* @param {?} x | ||
* @return {?} | ||
*/ | ||
function (x) { | ||
/** @type {?} */ | ||
var where = x.__idColumn.isEqualTo(id); | ||
if (_this.options && _this.options.get && _this.options.get.where) | ||
where = new AndFilter(where, _this.options.get.where(x)); | ||
return where; | ||
}) | ||
}) | ||
.then((/** | ||
@@ -514,3 +543,3 @@ * @param {?} r | ||
_c.trys.push([1, 4, , 5]); | ||
r = this.rowType.source.createNewItem(); | ||
r = this.entityProvider.create(); | ||
r.__fromPojo(body, this.readonlyColumns); | ||
@@ -555,3 +584,3 @@ return [4 /*yield*/, r.save(this.options.validate, this.options.onSavingRow)]; | ||
*/ | ||
DataApi.prototype.rowType; | ||
DataApi.prototype.entityProvider; | ||
/** | ||
@@ -635,2 +664,2 @@ * @type {?} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmVyL0RhdGFBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQVUsU0FBUyxFQUFFLElBQUksRUFBVSxhQUFhLEVBQStELE1BQU0sZUFBZSxDQUFDOzs7O0FBRzVJOzs7O0lBTUUsaUJBQW9CLE9BQVUsRUFBVSxPQUE0Qjs7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBRztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBVzVELG9CQUFlLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFYNUMsSUFBSSxDQUFDLE9BQU87WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUM5QixDQUFBLEtBQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQSxDQUFDLEdBQUcsNEJBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUU7UUFDckUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMvQixDQUFBLEtBQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQSxDQUFDLEdBQUcsNEJBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUU7WUFDbEUsQ0FBQSxLQUFBLElBQUksQ0FBQyxlQUFlLENBQUEsQ0FBQyxHQUFHLDRCQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFFO1NBQ25FO0lBRUgsQ0FBQzs7OztJQWZELDBCQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMs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QUF5Qjs7OztJQUN6QixzREFBa0I7Ozs7O0FBTXBCLGtDQUVDOzs7SUFEQywrQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXBpRXJyb3IgfSBmcm9tICcuL0RhdGFBcGknO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5LCBBbmRGaWx0ZXIsIFNvcnQsIENvbHVtbiwgQ29sdW1uSGFzaFNldCwgU3RyaW5nQ29sdW1uLCBVcmxCdWlsZGVyLCBGaWx0ZXJDb25zdW1uZXJCcmlkZ2VUb1VybEJ1aWxkZXIgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgRmluZE9wdGlvbnMsIEZpbHRlckJhc2UsIEZpbmRPcHRpb25zUGVyRW50aXR5LCBEYXRhQXBpUmVxdWVzdCB9IGZyb20gJy4uL2NvcmUvZGF0YUludGVyZmFjZXMxJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhQXBpPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gIGdldFJvdXRlKCkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMubmFtZSlcclxuICAgICAgcmV0dXJuIHRoaXMucm93VHlwZS5fX2dldE5hbWUoKTtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmFtZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3dUeXBlOiBULCBwcml2YXRlIG9wdGlvbnM/OiBEYXRhQXBpU2V0dGluZ3M8VD4pIHtcclxuICAgIGlmICghb3B0aW9ucylcclxuICAgICAgdGhpcy5vcHRpb25zID0ge307XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnJlYWRvbmx5Q29sdW1ucylcclxuICAgICAgdGhpcy5yZWFkb25seUNvbHVtbnMuYWRkKC4uLnRoaXMub3B0aW9ucy5yZWFkb25seUNvbHVtbnMocm93VHlwZSkpO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5leGNsdWRlQ29sdW1ucykge1xyXG4gICAgICB0aGlzLmV4Y2x1ZGVkQ29sdW1ucy5hZGQoLi4udGhpcy5vcHRpb25zLmV4Y2x1ZGVDb2x1bW5zKHJvd1R5cGUpKTtcclxuICAgICAgdGhpcy5yZWFkb25seUNvbHVtbnMuYWRkKC4uLnRoaXMub3B0aW9ucy5leGNsdWRlQ29sdW1ucyhyb3dUeXBlKSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBwcml2YXRlIGV4Y2x1ZGVkQ29sdW1ucyA9IG5ldyBDb2x1bW5IYXNoU2V0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seUNvbHVtbnMgPSBuZXcgQ29sdW1uSGFzaFNldCgpO1xyXG5cclxuICBhc3luYyBnZXQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JlYWQgPT0gZmFsc2UpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmRvT25JZChyZXNwb25zZSwgaWQsIGFzeW5jIHJvdyA9PiByZXNwb25zZS5zdWNjZXNzKGF3YWl0IHJvdy5fX3RvUG9qbyh0aGlzLmV4Y2x1ZGVkQ29sdW1ucykpKTtcclxuICB9XHJcbiAgYXN5bmMgY291bnQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgcmVxdWVzdDogRGF0YUFwaVJlcXVlc3QpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCB3aGVyZSA9IHRoaXMuYnVpbGRXaGVyZShyZXF1ZXN0KTtcclxuICAgICAgcmVzcG9uc2Uuc3VjY2Vzcyh7IGNvdW50OiArYXdhaXQgdGhpcy5yb3dUeXBlLnNvdXJjZS5jb3VudCh3aGVyZSkgfSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgcmVzcG9uc2UuZXJyb3IoZXJyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGdldEFycmF5KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIHJlcXVlc3Q6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmFsbG93UmVhZCA9PSBmYWxzZSkge1xyXG4gICAgICByZXNwb25zZS5tZXRob2ROb3RBbGxvd2VkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBmaW5kT3B0aW9uczogRmluZE9wdGlvbnMgPSB7fTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZ2V0KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihmaW5kT3B0aW9ucywgdGhpcy5vcHRpb25zLmdldCk7XHJcbiAgICAgIH1cclxuICAgICAgZmluZE9wdGlvbnMud2hlcmUgPSB0aGlzLmJ1aWxkV2hlcmUocmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXF1ZXN0KSB7XHJcblxyXG4gICAgICAgIGxldCBzb3J0ID0gPHN0cmluZz5yZXF1ZXN0LmdldChcIl9zb3J0XCIpO1xyXG4gICAgICAgIGlmIChzb3J0ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgbGV0IGRpciA9IHJlcXVlc3QuZ2V0KCdfb3JkZXInKTtcclxuICAgICAgICAgIGxldCBkaXJJdGVtczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAgIGlmIChkaXIpXHJcbiAgICAgICAgICAgIGRpckl0ZW1zID0gZGlyLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICBmaW5kT3B0aW9ucy5vcmRlckJ5ID0gbmV3IFNvcnQoKTtcclxuICAgICAgICAgIHNvcnQuc3BsaXQoJywnKS5mb3JFYWNoKChuYW1lLCBpKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBjb2wgPSB0aGlzLnJvd1R5cGUuX19nZXRDb2x1bW5CeUpzb25OYW1lKG5hbWUudHJpbSgpKTtcclxuICAgICAgICAgICAgaWYgKGNvbCkge1xyXG4gICAgICAgICAgICAgIGZpbmRPcHRpb25zLm9yZGVyQnkuU2VnbWVudHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW46IGNvbCxcclxuICAgICAgICAgICAgICAgIGRlc2NlbmRpbmc6IGkgPCBkaXJJdGVtcy5sZW5ndGggJiYgZGlySXRlbXNbaV0udG9Mb3dlckNhc2UoKS50cmltKCkuc3RhcnRzV2l0aChcImRcIilcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGltaXQgPSArcmVxdWVzdC5nZXQoXCJfbGltaXRcIik7XHJcbiAgICAgICAgaWYgKCFsaW1pdClcclxuICAgICAgICAgIGxpbWl0ID0gMjU7XHJcbiAgICAgICAgZmluZE9wdGlvbnMubGltaXQgPSBsaW1pdDtcclxuICAgICAgICBmaW5kT3B0aW9ucy5wYWdlID0gK3JlcXVlc3QuZ2V0KFwiX3BhZ2VcIik7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IHRoaXMucm93VHlwZS5zb3VyY2UuZmluZChmaW5kT3B0aW9ucylcclxuICAgICAgICAudGhlbihhc3luYyByID0+IHtcclxuICAgICAgICAgIHJlc3BvbnNlLnN1Y2Nlc3MoYXdhaXQgUHJvbWlzZS5hbGwoci5tYXAoYXN5bmMgeSA9PiBhd2FpdCB5Ll9fdG9Qb2pvKHRoaXMuZXhjbHVkZWRDb2x1bW5zKSkpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgcmVzcG9uc2UuZXJyb3IoZXJyKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBidWlsZFdoZXJlKHJlcXVlc3Q6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICB2YXIgd2hlcmU6IEZpbHRlckJhc2U7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5nZXQgJiYgdGhpcy5vcHRpb25zLmdldC53aGVyZSlcclxuICAgICAgd2hlcmUgPSB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKHRoaXMucm93VHlwZSk7XHJcbiAgICBpZiAocmVxdWVzdCkge1xyXG4gICAgICB0aGlzLnJvd1R5cGUuX19pdGVyYXRlQ29sdW1ucygpLmZvckVhY2goY29sID0+IHtcclxuICAgICAgICBmdW5jdGlvbiBhZGRGaWx0ZXIoa2V5OiBzdHJpbmcsIHRoZUZpbHRlcjogKHZhbDogYW55KSA9PiBGaWx0ZXJCYXNlKSB7XHJcbiAgICAgICAgICBsZXQgdmFsID0gcmVxdWVzdC5nZXQoY29sLmpzb25OYW1lICsga2V5KTtcclxuICAgICAgICAgIGlmICh2YWwgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGxldCBhZGRGaWx0ZXIgPSAodmFsOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgZiA9IHRoZUZpbHRlcihjb2wuZnJvbVJhd1ZhbHVlKHZhbCkpO1xyXG4gICAgICAgICAgICAgIGlmIChmKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAod2hlcmUpXHJcbiAgICAgICAgICAgICAgICAgIHdoZXJlID0gbmV3IEFuZEZpbHRlcih3aGVyZSwgZik7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgIHdoZXJlID0gZjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBBcnJheSkge1xyXG5cclxuICAgICAgICAgICAgICB2YWwuZm9yRWFjaCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGFkZEZpbHRlcih2KTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgYWRkRmlsdGVyKHZhbCk7XHJcblxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYWRkRmlsdGVyKCcnLCB2YWwgPT4gY29sLmlzRXF1YWxUbyh2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19ndCcsIHZhbCA9PiBjb2wuaXNHcmVhdGVyVGhhbih2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19ndGUnLCB2YWwgPT4gY29sLmlzR3JlYXRlck9yRXF1YWxUbyh2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19sdCcsIHZhbCA9PiBjb2wuaXNMZXNzVGhhbih2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19sdGUnLCB2YWwgPT4gY29sLmlzTGVzc09yRXF1YWxUbyh2YWwpKTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19uZScsIHZhbCA9PiBjb2wuaXNEaWZmZXJlbnRGcm9tKHZhbCkpO1xyXG4gICAgICAgIGFkZEZpbHRlcignX2NvbnRhaW5zJywgdmFsID0+IHtcclxuICAgICAgICAgIGxldCBjID0gY29sIGFzIFN0cmluZ0NvbHVtbjtcclxuICAgICAgICAgIGlmIChjICE9IG51bGwgJiYgYy5pc0NvbnRhaW5zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjLmlzQ29udGFpbnModmFsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBhZGRGaWx0ZXIoJ19zdCcsIHZhbCA9PiB7XHJcbiAgICAgICAgICBsZXQgYyA9IGNvbCBhcyBTdHJpbmdDb2x1bW47XHJcbiAgICAgICAgICBpZiAoYyAhPSBudWxsICYmIGMuaXNDb250YWlucykge1xyXG4gICAgICAgICAgICByZXR1cm4gYy5pc1N0YXJ0c1dpdGgodmFsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2hlcmU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGRvT25JZChyZXNwb25zZTogRGF0YUFwaVJlc3BvbnNlLCBpZDogYW55LCB3aGF0OiAocm93OiBUKSA9PiBQcm9taXNlPHZvaWQ+KSB7XHJcbiAgICB0cnkge1xyXG5cclxuICAgICAgbGV0IHdoZXJlOiBGaWx0ZXJCYXNlID0gdGhpcy5yb3dUeXBlLl9faWRDb2x1bW4uaXNFcXVhbFRvKGlkKTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZ2V0ICYmIHRoaXMub3B0aW9ucy5nZXQud2hlcmUpXHJcbiAgICAgICAgd2hlcmUgPSBuZXcgQW5kRmlsdGVyKHdoZXJlLCB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKHRoaXMucm93VHlwZSkpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5yb3dUeXBlLnNvdXJjZS5maW5kKHsgd2hlcmUgfSlcclxuICAgICAgICAudGhlbihhc3luYyByID0+IHtcclxuICAgICAgICAgIGlmIChyLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICByZXNwb25zZS5ub3RGb3VuZCgpO1xyXG4gICAgICAgICAgZWxzZSBpZiAoci5sZW5ndGggPiAxKVxyXG4gICAgICAgICAgICByZXNwb25zZS5lcnJvcih7IG1lc3NhZ2U6IFwiaWQgaXMgbm90IHVuaXF1ZVwiIH0pO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBhd2FpdCB3aGF0KHJbMF0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFzeW5jIHB1dChyZXNwb25zZTogRGF0YUFwaVJlc3BvbnNlLCBpZDogYW55LCBib2R5OiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLmFsbG93VXBkYXRlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5kb09uSWQocmVzcG9uc2UsIGlkLCBhc3luYyByb3cgPT4ge1xyXG4gICAgICByb3cuX19mcm9tUG9qbyhib2R5LCB0aGlzLnJlYWRvbmx5Q29sdW1ucyk7XHJcbiAgICAgIGF3YWl0IHJvdy5zYXZlKHRoaXMub3B0aW9ucy52YWxpZGF0ZSwgdGhpcy5vcHRpb25zLm9uU2F2aW5nUm93KTtcclxuICAgICAgcmVzcG9uc2Uuc3VjY2Vzcyhhd2FpdCByb3cuX190b1Bvam8odGhpcy5leGNsdWRlZENvbHVtbnMpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhc3luYyBkZWxldGUocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYWxsb3dEZWxldGUpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmRvT25JZChyZXNwb25zZSwgaWQsIGFzeW5jIHJvdyA9PiB7XHJcbiAgICAgIGF3YWl0IHJvdy5kZWxldGUoKTtcclxuICAgICAgcmVzcG9uc2UuZGVsZXRlZCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGFzeW5jIHBvc3QocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgYm9keTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hbGxvd0luc2VydCkge1xyXG4gICAgICByZXNwb25zZS5tZXRob2ROb3RBbGxvd2VkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBsZXQgciA9IHRoaXMucm93VHlwZS5zb3VyY2UuY3JlYXRlTmV3SXRlbSgpO1xyXG4gICAgICByLl9fZnJvbVBvam8oYm9keSwgdGhpcy5yZWFkb25seUNvbHVtbnMpO1xyXG4gICAgICBhd2FpdCByLnNhdmUodGhpcy5vcHRpb25zLnZhbGlkYXRlLCB0aGlzLm9wdGlvbnMub25TYXZpbmdSb3cpO1xyXG4gICAgICByZXNwb25zZS5jcmVhdGVkKGF3YWl0IHIuX190b1Bvam8odGhpcy5leGNsdWRlZENvbHVtbnMpKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXNwb25zZS5lcnJvcihlcnIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpU2V0dGluZ3M8cm93VHlwZSBleHRlbmRzIEVudGl0eTxhbnk+PiB7XHJcbiAgYWxsb3dVcGRhdGU/OiBib29sZWFuLFxyXG4gIGFsbG93SW5zZXJ0PzogYm9vbGVhbixcclxuICBhbGxvd0RlbGV0ZT86IGJvb2xlYW4sXHJcbiAgYWxsb3dSZWFkPzogYm9vbGVhbixcclxuICBleGNsdWRlQ29sdW1ucz86IChyOiByb3dUeXBlKSA9PiBDb2x1bW48YW55PltdLFxyXG4gIHJlYWRvbmx5Q29sdW1ucz86IChyOiByb3dUeXBlKSA9PiBDb2x1bW48YW55PltdLFxyXG4gIG5hbWU/OiBzdHJpbmcsXHJcbiAgZ2V0PzogRmluZE9wdGlvbnNQZXJFbnRpdHk8cm93VHlwZT4sXHJcbiAgdmFsaWRhdGU/OiAocjogcm93VHlwZSkgPT4gdm9pZDtcclxuICBvblNhdmluZ1Jvdz86IChyOiByb3dUeXBlKSA9PiBQcm9taXNlPGFueT4gfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUFwaVJlc3BvbnNlIHtcclxuICBzdWNjZXNzKGRhdGE6IGFueSk6IHZvaWQ7XHJcbiAgZGVsZXRlZCgpOiB2b2lkO1xyXG4gIGNyZWF0ZWQoZGF0YTogYW55KTogdm9pZDtcclxuICBub3RGb3VuZCgpOiB2b2lkO1xyXG4gIGVycm9yKGRhdGE6IERhdGFBcGlFcnJvcik6IHZvaWQ7XHJcbiAgbWV0aG9kTm90QWxsb3dlZCgpOiB2b2lkO1xyXG4gIGZvcmJpZGRlbigpOiB2b2lkO1xyXG5cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFBcGlFcnJvciB7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZW11bHQvY29yZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmVyL0RhdGFBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQVUsU0FBUyxFQUFFLElBQUksRUFBVSxhQUFhLEVBQStELE1BQU0sZUFBZSxDQUFDOzs7O0FBRzVJOzs7O0lBTUUsaUJBQW9CLGNBQWlDLEVBQVUsT0FBNEIsRUFBQyxDQUFJOztRQUE1RSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQWFuRixvQkFBZSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBYjVDLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLENBQUM7WUFDSixDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO1lBQzlCLENBQUEsS0FBQSxJQUFJLENBQUMsZUFBZSxDQUFBLENBQUMsR0FBRyw0QkFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRTtRQUMvRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQy9CLENBQUEsS0FBQSxJQUFJLENBQUMsZUFBZSxDQUFBLENBQUMsR0FBRyw0QkFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRTtZQUM1RCxDQUFBLEtBQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQSxDQUFDLEdBQUcsNEJBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUU7U0FDN0Q7SUFFSCxDQUFDOzs7O0lBakJELDBCQUFROzs7SUFBUjtR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LG9DQUFvQjs7SUFDcEIseUNBQStDOztJQUMvQywwQ0FBZ0Q7O0lBQ2hELCtCQUFjOztJQUNkLDhCQUFvQzs7SUFDcEMsbUNBQWdDOztJQUNoQyxzQ0FBaUQ7Ozs7O0FBR25ELHFDQVNDOzs7Ozs7SUFSQyx3REFBeUI7Ozs7SUFDekIsb0RBQWdCOzs7OztJQUNoQix3REFBeUI7Ozs7SUFDekIscURBQWlCOzs7OztJQUNqQixzREFBZ0M7Ozs7SUFDaEMsNkRBQXlCOzs7O0lBQ3pCLHNEQUFrQjs7Ozs7QUFNcEIsa0NBRUM7OztJQURDLCtCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFBcGlFcnJvciB9IGZyb20gJy4vRGF0YUFwaSc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHksIEFuZEZpbHRlciwgU29ydCwgQ29sdW1uLCBDb2x1bW5IYXNoU2V0LCBTdHJpbmdDb2x1bW4sIFVybEJ1aWxkZXIsIEZpbHRlckNvbnN1bW5lckJyaWRnZVRvVXJsQnVpbGRlciB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBGaW5kT3B0aW9ucywgRmlsdGVyQmFzZSwgRmluZE9wdGlvbnNQZXJFbnRpdHksIERhdGFBcGlSZXF1ZXN0LCBFbnRpdHlQcm92aWRlciB9IGZyb20gJy4uL2NvcmUvZGF0YUludGVyZmFjZXMxJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhQXBpPFQgZXh0ZW5kcyBFbnRpdHk8YW55Pj4ge1xyXG4gIGdldFJvdXRlKCkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMubmFtZSlcclxuICAgICAgcmV0dXJuIHRoaXMuZW50aXR5UHJvdmlkZXIuY3JlYXRlKCkuX19nZXROYW1lKCk7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm5hbWU7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5UHJvdmlkZXI6IEVudGl0eVByb3ZpZGVyPFQ+LCBwcml2YXRlIG9wdGlvbnM/OiBEYXRhQXBpU2V0dGluZ3M8VD4sdD86VCkge1xyXG4gICAgaWYgKCFvcHRpb25zKVxyXG4gICAgICB0aGlzLm9wdGlvbnMgPSB7fTtcclxuICAgIGlmICghdClcclxuICAgICAgdCA9IGVudGl0eVByb3ZpZGVyLmNyZWF0ZSgpO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5yZWFkb25seUNvbHVtbnMpXHJcbiAgICAgIHRoaXMucmVhZG9ubHlDb2x1bW5zLmFkZCguLi50aGlzLm9wdGlvbnMucmVhZG9ubHlDb2x1bW5zKHQpKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuZXhjbHVkZUNvbHVtbnMpIHtcclxuICAgICAgdGhpcy5leGNsdWRlZENvbHVtbnMuYWRkKC4uLnRoaXMub3B0aW9ucy5leGNsdWRlQ29sdW1ucyh0KSk7XHJcbiAgICAgIHRoaXMucmVhZG9ubHlDb2x1bW5zLmFkZCguLi50aGlzLm9wdGlvbnMuZXhjbHVkZUNvbHVtbnModCkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcHJpdmF0ZSBleGNsdWRlZENvbHVtbnMgPSBuZXcgQ29sdW1uSGFzaFNldCgpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHlDb2x1bW5zID0gbmV3IENvbHVtbkhhc2hTZXQoKTtcclxuXHJcbiAgYXN5bmMgZ2V0KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGlkOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dSZWFkID09IGZhbHNlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5kb09uSWQocmVzcG9uc2UsIGlkLCBhc3luYyByb3cgPT4gcmVzcG9uc2Uuc3VjY2Vzcyhhd2FpdCByb3cuX190b1Bvam8odGhpcy5leGNsdWRlZENvbHVtbnMpKSk7XHJcbiAgfVxyXG4gIGFzeW5jIGNvdW50KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIHJlcXVlc3Q6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBcclxuICAgICAgcmVzcG9uc2Uuc3VjY2Vzcyh7IGNvdW50OiArYXdhaXQgdGhpcy5lbnRpdHlQcm92aWRlci5jb3VudCh0ID0+IHRoaXMuYnVpbGRXaGVyZSh0LHJlcXVlc3QpKSB9KTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXNwb25zZS5lcnJvcihlcnIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0QXJyYXkocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgcmVxdWVzdDogRGF0YUFwaVJlcXVlc3QpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dSZWFkID09IGZhbHNlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IGZpbmRPcHRpb25zOiBGaW5kT3B0aW9uc1BlckVudGl0eTxhbnk+ID0ge307XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmdldCkge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZmluZE9wdGlvbnMsIHRoaXMub3B0aW9ucy5nZXQpO1xyXG4gICAgICB9XHJcbiAgICAgIGZpbmRPcHRpb25zLndoZXJlID0gdCA9PiB0aGlzLmJ1aWxkV2hlcmUodCxyZXF1ZXN0KTtcclxuICAgICAgaWYgKHJlcXVlc3QpIHtcclxuXHJcbiAgICAgICAgbGV0IHNvcnQgPSA8c3RyaW5nPnJlcXVlc3QuZ2V0KFwiX3NvcnRcIik7XHJcbiAgICAgICAgaWYgKHNvcnQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBsZXQgZGlyID0gcmVxdWVzdC5nZXQoJ19vcmRlcicpO1xyXG4gICAgICAgICAgbGV0IGRpckl0ZW1zOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgICAgaWYgKGRpcilcclxuICAgICAgICAgICAgZGlySXRlbXMgPSBkaXIuc3BsaXQoJywnKTtcclxuICAgICAgICAgIGZpbmRPcHRpb25zLm9yZGVyQnkgPSB4ID0+IHtcclxuICAgICAgICAgICAgbGV0IHIgPSBuZXcgU29ydCgpO1xyXG4gICAgICAgICAgICBzb3J0LnNwbGl0KCcsJykuZm9yRWFjaCgobmFtZSwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBjb2wgPSB4Ll9fZ2V0Q29sdW1uQnlKc29uTmFtZShuYW1lLnRyaW0oKSk7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbCkge1xyXG4gICAgICAgICAgICAgICAgci5TZWdtZW50cy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgY29sdW1uOiBjb2wsXHJcbiAgICAgICAgICAgICAgICAgIGRlc2NlbmRpbmc6IGkgPCBkaXJJdGVtcy5sZW5ndGggJiYgZGlySXRlbXNbaV0udG9Mb3dlckNhc2UoKS50cmltKCkuc3RhcnRzV2l0aChcImRcIilcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxpbWl0ID0gK3JlcXVlc3QuZ2V0KFwiX2xpbWl0XCIpO1xyXG4gICAgICAgIGlmICghbGltaXQpXHJcbiAgICAgICAgICBsaW1pdCA9IDI1O1xyXG4gICAgICAgIGZpbmRPcHRpb25zLmxpbWl0ID0gbGltaXQ7XHJcbiAgICAgICAgZmluZE9wdGlvbnMucGFnZSA9ICtyZXF1ZXN0LmdldChcIl9wYWdlXCIpO1xyXG5cclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLmVudGl0eVByb3ZpZGVyLmZpbmQoZmluZE9wdGlvbnMpXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgciA9PiB7XHJcbiAgICAgICAgICByZXNwb25zZS5zdWNjZXNzKGF3YWl0IFByb21pc2UuYWxsKHIubWFwKGFzeW5jIHkgPT4gYXdhaXQgeS5fX3RvUG9qbyh0aGlzLmV4Y2x1ZGVkQ29sdW1ucykpKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9yKGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgYnVpbGRXaGVyZShyb3dUeXBlOlQsIHJlcXVlc3Q6IERhdGFBcGlSZXF1ZXN0KSB7XHJcbiAgICB2YXIgd2hlcmU6IEZpbHRlckJhc2U7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5nZXQgJiYgdGhpcy5vcHRpb25zLmdldC53aGVyZSlcclxuICAgICAgd2hlcmUgPSB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKHJvd1R5cGUpO1xyXG4gICAgaWYgKHJlcXVlc3QpIHtcclxuICAgICAgcm93VHlwZS5fX2l0ZXJhdGVDb2x1bW5zKCkuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkZEZpbHRlcihrZXk6IHN0cmluZywgdGhlRmlsdGVyOiAodmFsOiBhbnkpID0+IEZpbHRlckJhc2UpIHtcclxuICAgICAgICAgIGxldCB2YWwgPSByZXF1ZXN0LmdldChjb2wuanNvbk5hbWUgKyBrZXkpO1xyXG4gICAgICAgICAgaWYgKHZhbCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbGV0IGFkZEZpbHRlciA9ICh2YWw6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBmID0gdGhlRmlsdGVyKGNvbC5mcm9tUmF3VmFsdWUodmFsKSk7XHJcbiAgICAgICAgICAgICAgaWYgKGYpIHtcclxuICAgICAgICAgICAgICAgIGlmICh3aGVyZSlcclxuICAgICAgICAgICAgICAgICAgd2hlcmUgPSBuZXcgQW5kRmlsdGVyKHdoZXJlLCBmKTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgd2hlcmUgPSBmO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIEFycmF5KSB7XHJcblxyXG4gICAgICAgICAgICAgIHZhbC5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgYWRkRmlsdGVyKHYpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICBhZGRGaWx0ZXIodmFsKTtcclxuXHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhZGRGaWx0ZXIoJycsIHZhbCA9PiBjb2wuaXNFcXVhbFRvKHZhbCkpO1xyXG4gICAgICAgIGFkZEZpbHRlcignX2d0JywgdmFsID0+IGNvbC5pc0dyZWF0ZXJUaGFuKHZhbCkpO1xyXG4gICAgICAgIGFkZEZpbHRlcignX2d0ZScsIHZhbCA9PiBjb2wuaXNHcmVhdGVyT3JFcXVhbFRvKHZhbCkpO1xyXG4gICAgICAgIGFkZEZpbHRlcignX2x0JywgdmFsID0+IGNvbC5pc0xlc3NUaGFuKHZhbCkpO1xyXG4gICAgICAgIGFkZEZpbHRlcignX2x0ZScsIHZhbCA9PiBjb2wuaXNMZXNzT3JFcXVhbFRvKHZhbCkpO1xyXG4gICAgICAgIGFkZEZpbHRlcignX25lJywgdmFsID0+IGNvbC5pc0RpZmZlcmVudEZyb20odmFsKSk7XHJcbiAgICAgICAgYWRkRmlsdGVyKCdfY29udGFpbnMnLCB2YWwgPT4ge1xyXG4gICAgICAgICAgbGV0IGMgPSBjb2wgYXMgU3RyaW5nQ29sdW1uO1xyXG4gICAgICAgICAgaWYgKGMgIT0gbnVsbCAmJiBjLmlzQ29udGFpbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGMuaXNDb250YWlucyh2YWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFkZEZpbHRlcignX3N0JywgdmFsID0+IHtcclxuICAgICAgICAgIGxldCBjID0gY29sIGFzIFN0cmluZ0NvbHVtbjtcclxuICAgICAgICAgIGlmIChjICE9IG51bGwgJiYgYy5pc0NvbnRhaW5zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjLmlzU3RhcnRzV2l0aCh2YWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB3aGVyZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZG9PbklkKHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGlkOiBhbnksIHdoYXQ6IChyb3c6IFQpID0+IFByb21pc2U8dm9pZD4pIHtcclxuICAgIHRyeSB7XHJcblxyXG5cclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuZW50aXR5UHJvdmlkZXIuZmluZCh7XHJcbiAgICAgICAgd2hlcmU6IHggPT4ge1xyXG4gICAgICAgICAgbGV0IHdoZXJlOiBGaWx0ZXJCYXNlID0geC5fX2lkQ29sdW1uLmlzRXF1YWxUbyhpZCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5nZXQgJiYgdGhpcy5vcHRpb25zLmdldC53aGVyZSlcclxuICAgICAgICAgICAgd2hlcmUgPSBuZXcgQW5kRmlsdGVyKHdoZXJlLCB0aGlzLm9wdGlvbnMuZ2V0LndoZXJlKHgpKTtcclxuICAgICAgICAgIHJldHVybiB3aGVyZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgciA9PiB7XHJcbiAgICAgICAgICBpZiAoci5sZW5ndGggPT0gMClcclxuICAgICAgICAgICAgcmVzcG9uc2Uubm90Rm91bmQoKTtcclxuICAgICAgICAgIGVsc2UgaWYgKHIubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgcmVzcG9uc2UuZXJyb3IoeyBtZXNzYWdlOiBcImlkIGlzIG5vdCB1bmlxdWVcIiB9KTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgYXdhaXQgd2hhdChyWzBdKTtcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXNwb25zZS5lcnJvcihlcnIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBhc3luYyBwdXQocmVzcG9uc2U6IERhdGFBcGlSZXNwb25zZSwgaWQ6IGFueSwgYm9keTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hbGxvd1VwZGF0ZSkge1xyXG4gICAgICByZXNwb25zZS5tZXRob2ROb3RBbGxvd2VkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuZG9PbklkKHJlc3BvbnNlLCBpZCwgYXN5bmMgcm93ID0+IHtcclxuICAgICAgcm93Ll9fZnJvbVBvam8oYm9keSwgdGhpcy5yZWFkb25seUNvbHVtbnMpO1xyXG4gICAgICBhd2FpdCByb3cuc2F2ZSh0aGlzLm9wdGlvbnMudmFsaWRhdGUsIHRoaXMub3B0aW9ucy5vblNhdmluZ1Jvdyk7XHJcbiAgICAgIHJlc3BvbnNlLnN1Y2Nlc3MoYXdhaXQgcm93Ll9fdG9Qb2pvKHRoaXMuZXhjbHVkZWRDb2x1bW5zKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYXN5bmMgZGVsZXRlKHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGlkOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLmFsbG93RGVsZXRlKSB7XHJcbiAgICAgIHJlc3BvbnNlLm1ldGhvZE5vdEFsbG93ZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5kb09uSWQocmVzcG9uc2UsIGlkLCBhc3luYyByb3cgPT4ge1xyXG4gICAgICBhd2FpdCByb3cuZGVsZXRlKCk7XHJcbiAgICAgIHJlc3BvbnNlLmRlbGV0ZWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhc3luYyBwb3N0KHJlc3BvbnNlOiBEYXRhQXBpUmVzcG9uc2UsIGJvZHk6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYWxsb3dJbnNlcnQpIHtcclxuICAgICAgcmVzcG9uc2UubWV0aG9kTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG5cclxuICAgICAgbGV0IHIgPSB0aGlzLmVudGl0eVByb3ZpZGVyLmNyZWF0ZSgpO1xyXG4gICAgICByLl9fZnJvbVBvam8oYm9keSwgdGhpcy5yZWFkb25seUNvbHVtbnMpO1xyXG4gICAgICBhd2FpdCByLnNhdmUodGhpcy5vcHRpb25zLnZhbGlkYXRlLCB0aGlzLm9wdGlvbnMub25TYXZpbmdSb3cpO1xyXG4gICAgICByZXNwb25zZS5jcmVhdGVkKGF3YWl0IHIuX190b1Bvam8odGhpcy5leGNsdWRlZENvbHVtbnMpKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXNwb25zZS5lcnJvcihlcnIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpU2V0dGluZ3M8cm93VHlwZSBleHRlbmRzIEVudGl0eTxhbnk+PiB7XHJcbiAgYWxsb3dVcGRhdGU/OiBib29sZWFuLFxyXG4gIGFsbG93SW5zZXJ0PzogYm9vbGVhbixcclxuICBhbGxvd0RlbGV0ZT86IGJvb2xlYW4sXHJcbiAgYWxsb3dSZWFkPzogYm9vbGVhbixcclxuICBleGNsdWRlQ29sdW1ucz86IChyOiByb3dUeXBlKSA9PiBDb2x1bW48YW55PltdLFxyXG4gIHJlYWRvbmx5Q29sdW1ucz86IChyOiByb3dUeXBlKSA9PiBDb2x1bW48YW55PltdLFxyXG4gIG5hbWU/OiBzdHJpbmcsXHJcbiAgZ2V0PzogRmluZE9wdGlvbnNQZXJFbnRpdHk8cm93VHlwZT4sXHJcbiAgdmFsaWRhdGU/OiAocjogcm93VHlwZSkgPT4gdm9pZDtcclxuICBvblNhdmluZ1Jvdz86IChyOiByb3dUeXBlKSA9PiBQcm9taXNlPGFueT4gfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUFwaVJlc3BvbnNlIHtcclxuICBzdWNjZXNzKGRhdGE6IGFueSk6IHZvaWQ7XHJcbiAgZGVsZXRlZCgpOiB2b2lkO1xyXG4gIGNyZWF0ZWQoZGF0YTogYW55KTogdm9pZDtcclxuICBub3RGb3VuZCgpOiB2b2lkO1xyXG4gIGVycm9yKGRhdGE6IERhdGFBcGlFcnJvcik6IHZvaWQ7XHJcbiAgbWV0aG9kTm90QWxsb3dlZCgpOiB2b2lkO1xyXG4gIGZvcmJpZGRlbigpOiB2b2lkO1xyXG5cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFBcGlFcnJvciB7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcbiJdfQ== |
{ | ||
"name": "@remult/core", | ||
"schematics": "./schematics/collection.json", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "remult core lib", | ||
@@ -11,12 +11,5 @@ "license": "MIT", | ||
"dependencies": { | ||
"jsonwebtoken": "^8.5.1", | ||
"uuid": "^3.3.2", | ||
"@auth0/angular-jwt": "^3.0.0", | ||
"tslib": "^1.9.0" | ||
}, | ||
"peerDependencies": { | ||
"@angular/common": "^7.0.0", | ||
"@angular/core": "^7.0.0", | ||
"@angular/forms": "^7.0.0" | ||
}, | ||
"main": "bundles/remult-core.umd.js", | ||
@@ -23,0 +16,0 @@ "module": "fesm5/remult-core.js", |
@@ -6,6 +6,6 @@ import { dataAreaSettings, ColumnSetting } from '../../core/utils'; | ||
ngOnChanges(): void; | ||
lastCols: Array<ColumnSetting<any>[]>; | ||
lastCols: ColumnSetting<any>[][][]; | ||
lastAllCols: ColumnSetting<any>[]; | ||
theColumns(): Array<ColumnSetting<any>[]>; | ||
theColumns(): ColumnSetting<any>[][][]; | ||
columns: number; | ||
} |
@@ -11,2 +11,3 @@ import { ColumnCollection, ColumnSetting, Entity, Column } from '../../core/utils'; | ||
showClick(): boolean; | ||
click(): void; | ||
getClickIcon(): string; | ||
@@ -13,0 +14,0 @@ dataControlStyle(): string; |
@@ -15,2 +15,3 @@ import { ColumnCollection, ColumnSetting, Entity, Column } from '../../core/utils'; | ||
_getColumn(): Column<any>; | ||
click(): void; | ||
_getEditable(): boolean; | ||
@@ -17,0 +18,0 @@ ngOnChanges(): void; |
@@ -1,6 +0,6 @@ | ||
import { DataProviderFactory, DataApiRequest, FilterBase, FindOptionsPerEntity } from "../core/dataInterfaces1"; | ||
import { Entity, EntityOptions, Column, ColumnHashSet, IDataSettings, GridSettings, EntitySource, SQLQueryResult, LookupCache } from "../core/utils"; | ||
import { DataProvider, DataApiRequest, FilterBase, FindOptionsPerEntity, EntityProvider } from "../core/dataInterfaces1"; | ||
import { Entity, EntityOptions, Column, ColumnHashSet, IDataSettings, GridSettings, SQLQueryResult, LookupCache, DropDownSource, DropDownSourceArgs, __EntityValueProvider } from "../core/utils"; | ||
import { DataApiSettings } from "../server/DataApi"; | ||
import { HttpClient } from "@angular/common/http"; | ||
import { MatDialog } from '@angular/material/dialog'; | ||
import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; | ||
export declare class Context { | ||
@@ -14,3 +14,3 @@ private _dialog?; | ||
getPathInUrl(): string; | ||
protected _dataSource: DataProviderFactory; | ||
protected _dataSource: DataProvider; | ||
protected _onServer: boolean; | ||
@@ -23,6 +23,6 @@ readonly onServer: boolean; | ||
isAllowed(roles: Allowed): any; | ||
cache: Map<DataProviderFactory, Map<string, SpecificEntityHelper<any, Entity<any>>>>; | ||
cache: Map<DataProvider, Map<string, SpecificEntityHelper<any, Entity<any>>>>; | ||
for<lookupIdType, T extends Entity<lookupIdType>>(c: { | ||
new (...args: any[]): T; | ||
}, dataSource?: DataProviderFactory): SpecificEntityHelper<lookupIdType, T>; | ||
}, dataSource?: DataProvider): SpecificEntityHelper<lookupIdType, T>; | ||
openDialog<T, C>(component: { | ||
@@ -33,3 +33,3 @@ new (...args: any[]): C; | ||
} | ||
export declare type DataProviderFactoryBuilder = (req: Context) => DataProviderFactory; | ||
export declare type DataProviderFactoryBuilder = (req: Context) => DataProvider; | ||
export declare class ServerContext extends Context { | ||
@@ -42,11 +42,12 @@ constructor(); | ||
setReq(req: DataApiRequest): void; | ||
setDataProvider(dataProvider: DataProviderFactory): void; | ||
setDataProvider(dataProvider: DataProvider): void; | ||
getOrigin(): string; | ||
} | ||
export declare class SpecificEntityHelper<lookupIdType, T extends Entity<lookupIdType>> { | ||
private factory; | ||
export declare class SpecificEntityHelper<lookupIdType, T extends Entity<lookupIdType>> implements EntityProvider<T> { | ||
create: () => T; | ||
private _lookupCache; | ||
private context; | ||
private entity; | ||
constructor(factory: () => T, _lookupCache: LookupCache<any>[], context: Context); | ||
private _edp; | ||
constructor(create: () => T, _lookupCache: LookupCache<any>[], context: Context, dataSource: DataProvider); | ||
lookup(filter: Column<lookupIdType> | ((entityType: T) => FilterBase)): T; | ||
@@ -56,7 +57,9 @@ lookupAsync(filter: Column<lookupIdType> | ((entityType: T) => FilterBase)): Promise<T>; | ||
foreach(where: (entity: T) => FilterBase, what?: (entity: T) => Promise<void>): Promise<void>; | ||
private translateOptions; | ||
find(options?: FindOptionsPerEntity<T>): Promise<T[]>; | ||
fromPojo(r: any): T; | ||
findFirst(where?: (entity: T) => FilterBase): Promise<T>; | ||
toPojoArray(items: T[]): Promise<any[]>; | ||
create(): T; | ||
gridSettings(settings?: IDataSettings<T>): GridSettings<T>; | ||
dropDownSource(args?: DropDownSourceArgs<T>): DropDownSource<T>; | ||
} | ||
@@ -70,12 +73,4 @@ export interface EntityType { | ||
new (...args: any[]): { | ||
factory?: () => Entity<any>; | ||
__entityType: EntityType; | ||
_noContextErrorWithStack: Error; | ||
__context: Context; | ||
_setContext(context: Context): void; | ||
__getApiAllowUpdate(allowed: Allowed): any; | ||
_setFactoryClassAndDoInitColumns(entityType: EntityType): void; | ||
_getExcludedColumns(x: Entity<any>, context: Context): Column<any>[]; | ||
_getEntityApiSettings(r: Context): DataApiSettings<Entity<any>>; | ||
__createInstance(): Entity<any>; | ||
__options: EntityOptions; | ||
@@ -85,3 +80,3 @@ __getName(): string; | ||
__getCaption(): string; | ||
__entityData: import("../core/utils").__EntityValueProvider; | ||
__entityData: __EntityValueProvider; | ||
__onSavingRow: () => void | Promise<void>; | ||
@@ -95,3 +90,2 @@ __onValidate: () => void | Promise<void>; | ||
__getValidationError(): any; | ||
setSource(dp: DataProviderFactory): void; | ||
__assertValidity(): void; | ||
@@ -106,3 +100,2 @@ save(validate?: (row: any) => any, onSavingRow?: (row: any) => any): Promise<any>; | ||
__fromPojo(r: any, excludeColumns: ColumnHashSet): any; | ||
source: EntitySource<any>; | ||
__applyColumn(y: Column<any>): void; | ||
@@ -134,2 +127,3 @@ __columns: Column<any>[]; | ||
}; | ||
export declare function DialogConfig(config: MatDialogConfig): (target: any) => any; | ||
export {}; |
@@ -1,5 +0,5 @@ | ||
import { Column, Entity, Sort, SortSegment, StringColumn } from './utils'; | ||
import { Column, Entity, Sort, SortSegment, StringColumn, DropDownOptions } from './utils'; | ||
import { FindOptions } from './dataInterfaces1'; | ||
import { UserInfo, Allowed } from '../context/Context'; | ||
export interface DataProvider { | ||
export interface EntityDataProvider { | ||
count(where: FilterBase): Promise<number>; | ||
@@ -14,4 +14,6 @@ find(options?: FindOptions): Promise<Array<any>>; | ||
} | ||
export interface EntitySourceFindOptions extends FindOptionsBase { | ||
orderBy?: Sort | Column<any> | (Column<any> | SortSegment)[]; | ||
export interface EntityProvider<T extends Entity<any>> { | ||
find(options?: FindOptionsPerEntity<T>): Promise<T[]>; | ||
count(where?: (entity: T) => FilterBase): Promise<number>; | ||
create(): T; | ||
} | ||
@@ -24,5 +26,7 @@ export interface FindOptionsBase { | ||
} | ||
export declare type EntityWhere<rowType extends Entity<any>> = (rowType: rowType) => FilterBase; | ||
export declare type EntityOrderBy<rowType extends Entity<any>> = ((rowType: rowType) => Sort) | ((rowType: rowType) => (Column<any>)) | ((rowType: rowType) => (Column<any> | SortSegment)[]); | ||
export interface FindOptionsPerEntity<rowType extends Entity<any>> { | ||
where?: (rowType: rowType) => FilterBase; | ||
orderBy?: ((rowType: rowType) => Sort) | ((rowType: rowType) => (Column<any>)) | ((rowType: rowType) => (Column<any> | SortSegment)[]); | ||
where?: EntityWhere<rowType>; | ||
orderBy?: EntityOrderBy<rowType>; | ||
limit?: number; | ||
@@ -32,4 +36,4 @@ page?: number; | ||
} | ||
export interface DataProviderFactory { | ||
provideFor<T extends Entity<any>>(name: string, factory: () => T): DataProvider; | ||
export interface DataProvider { | ||
getEntityDataProvider(entity: Entity<any>): EntityDataProvider; | ||
} | ||
@@ -39,4 +43,4 @@ export interface RowsOfDataForTesting { | ||
} | ||
export interface SupportsTransaction extends DataProviderFactory { | ||
doInTransaction(what: (dp: DataProviderFactory) => Promise<void>): Promise<void>; | ||
export interface SupportsTransaction extends DataProvider { | ||
doInTransaction(what: (dp: DataProvider) => Promise<void>): Promise<void>; | ||
} | ||
@@ -63,3 +67,13 @@ export interface ColumnValueProvider { | ||
dbReadOnly?: boolean; | ||
display?: (sendDisplay: (to: ColumnDisplay) => void) => void; | ||
} | ||
export interface ColumnDisplay { | ||
dropDown?: DropDownOptions; | ||
width?: string; | ||
getValue?: () => any; | ||
hideDataOnInput?: boolean; | ||
click?: () => void; | ||
allowClick?: () => boolean; | ||
clickIcon?: string; | ||
} | ||
export interface ColumnStorage<dataType> { | ||
@@ -66,0 +80,0 @@ toDb(val: dataType): any; |
import { Entity } from './utils'; | ||
import { FilterBase, DataProviderFactory, DataProvider, FindOptions, RowsOfDataForTesting } from './dataInterfaces1'; | ||
export declare class InMemoryDataProvider implements DataProviderFactory, RowsOfDataForTesting { | ||
import { FilterBase, DataProvider, EntityDataProvider, FindOptions, RowsOfDataForTesting } from './dataInterfaces1'; | ||
export declare class InMemoryDataProvider implements DataProvider, RowsOfDataForTesting { | ||
rows: any; | ||
provideFor<T extends Entity<any>>(name: string, factory: () => T): DataProvider; | ||
getEntityDataProvider(entity: Entity<any>): EntityDataProvider; | ||
toString(): string; | ||
} | ||
export declare class ActualInMemoryDataProvider<T extends Entity<any>> implements DataProvider { | ||
private factory; | ||
export declare class ActualInMemoryDataProvider implements EntityDataProvider { | ||
private entity; | ||
private rows?; | ||
constructor(factory: () => T, rows?: any[]); | ||
constructor(entity: Entity<any>, rows?: any[]); | ||
count(where?: FilterBase): Promise<number>; | ||
find(options?: FindOptions): Promise<any[]>; | ||
map(i: any): any; | ||
private entity; | ||
private idMatches; | ||
@@ -17,0 +16,0 @@ update(id: any, data: any): Promise<any>; |
import { Entity } from './utils'; | ||
import { DataProvider, FindOptions, FilterBase } from './dataInterfaces1'; | ||
import { EntityDataProvider, FindOptions, FilterBase } from './dataInterfaces1'; | ||
export interface JsonStorage { | ||
doWork<T>(what: (dp: DataProvider, save: () => void) => T): T; | ||
doWork<T>(what: (dp: EntityDataProvider, save: () => void) => T): T; | ||
} | ||
export declare class JsonStorageDataProvider<T extends Entity<any>> implements DataProvider { | ||
export declare class JsonStorageDataProvider<T extends Entity<any>> implements EntityDataProvider { | ||
private helper; | ||
@@ -8,0 +8,0 @@ constructor(helper: JsonStorage); |
import { Entity } from './utils'; | ||
import { DataProviderFactory, DataProvider } from './dataInterfaces1'; | ||
export declare class LocalStorageDataProvider implements DataProviderFactory { | ||
import { DataProvider, EntityDataProvider } from './dataInterfaces1'; | ||
export declare class LocalStorageDataProvider implements DataProvider { | ||
constructor(); | ||
provideFor<T extends Entity<any>>(name: string, factory: () => T): DataProvider; | ||
getEntityDataProvider(entity: Entity<any>): EntityDataProvider; | ||
} |
@@ -1,11 +0,12 @@ | ||
import { DataProvider, DataProviderFactory, DataApiRequest } from './dataInterfaces1'; | ||
import { Entity } from './utils'; | ||
import { EntityDataProvider, DataProvider, DataApiRequest } from './dataInterfaces1'; | ||
import { DataApiResponse } from '../server/DataApi'; | ||
import { HttpClient } from '@angular/common/http'; | ||
export declare class RestDataProvider implements DataProviderFactory { | ||
export declare class RestDataProvider implements DataProvider { | ||
private url; | ||
private http; | ||
constructor(url: string, http: restDataProviderHttpProvider); | ||
provideFor(name: string): DataProvider; | ||
constructor(url: string, http: RestDataProviderHttpProvider); | ||
getEntityDataProvider(entity: Entity<any>): EntityDataProvider; | ||
} | ||
export interface restDataProviderHttpProvider { | ||
export interface RestDataProviderHttpProvider { | ||
post(url: string, data: any): Promise<any>; | ||
@@ -16,3 +17,3 @@ delete(url: string): Promise<void>; | ||
} | ||
export declare class angularHttpProvider implements restDataProviderHttpProvider { | ||
export declare class AngularHttpProvider implements RestDataProviderHttpProvider { | ||
private http; | ||
@@ -25,3 +26,3 @@ constructor(http: HttpClient); | ||
} | ||
export declare class restDataProviderHttpProviderUsingFetch implements restDataProviderHttpProvider { | ||
export declare class RestDataProviderHttpProviderUsingFetch implements RestDataProviderHttpProvider { | ||
private addRequestHeader?; | ||
@@ -43,3 +44,3 @@ constructor(addRequestHeader?: (add: ((name: string, value: string) => void)) => void); | ||
constructor(serverUrl: string, actionUrl?: string, addRequestHeader?: (add: ((name: string, value: string) => void)) => void); | ||
static provider: restDataProviderHttpProvider; | ||
static provider: RestDataProviderHttpProvider; | ||
run(pIn: inParam): Promise<outParam>; | ||
@@ -46,0 +47,0 @@ protected abstract execute(info: inParam, req: DataApiRequest): Promise<outParam>; |
import { SQLConnectionProvider, SQLCommand, Entity } from "./utils"; | ||
import { DataProvider, FilterBase, FindOptions } from "./dataInterfaces1"; | ||
export declare class ActualSQLServerDataProvider<T extends Entity<any>> implements DataProvider { | ||
private entityFactory; | ||
private name; | ||
import { EntityDataProvider, FilterBase, FindOptions } from "./dataInterfaces1"; | ||
export declare class ActualSQLServerDataProvider implements EntityDataProvider { | ||
private entity; | ||
private sql; | ||
private factory; | ||
static LogToConsole: boolean; | ||
constructor(entityFactory: () => Entity<any>, name: string, sql: SQLConnectionProvider, factory: () => T); | ||
constructor(entity: Entity<any>, sql: SQLConnectionProvider); | ||
static decorateSqlConnectionProvider(sql: SQLConnectionProvider): SQLConnectionProvider; | ||
createDirectSQLCommand(): SQLCommand; | ||
private entity; | ||
count(where: FilterBase): Promise<number>; | ||
@@ -14,0 +11,0 @@ find(options?: FindOptions): Promise<any[]>; |
@@ -1,3 +0,3 @@ | ||
import { DataColumnSettings, ColumnOptions, FilterBase, ColumnValueProvider, FindOptionsPerEntity, RowEvents, DataProvider, DataProviderFactory, FilterConsumer, ColumnStorage, EntitySourceFindOptions } from './dataInterfaces1'; | ||
import { Allowed, Context, EntityType, DirectSQL } from '../context/Context'; | ||
import { DataColumnSettings, ColumnOptions, FilterBase, ColumnValueProvider, FindOptionsPerEntity, RowEvents, EntityDataProvider, FilterConsumer, ColumnStorage, EntityProvider, EntityOrderBy, EntityWhere } from './dataInterfaces1'; | ||
import { Allowed, Context, DirectSQL } from '../context/Context'; | ||
import { DataApiSettings } from '../server/DataApi'; | ||
@@ -11,7 +11,16 @@ export interface dataAreaSettings { | ||
items?: DropDownItem[] | string[] | any[]; | ||
source?: Entity<any>; | ||
idColumn?: Column<any>; | ||
captionColumn?: Column<any>; | ||
orderBy?: ((rowType: Entity<any>) => Sort) | ((rowType: Entity<any>) => (Column<any>)) | ((rowType: Entity<any>) => (Column<any> | SortSegment)[]); | ||
source?: DropDownSource<any>; | ||
} | ||
export declare class DropDownSource<rowType extends Entity<any>> { | ||
private provider; | ||
private args?; | ||
provideItems(): Promise<DropDownItem[]>; | ||
constructor(provider: EntityProvider<rowType>, args?: DropDownSourceArgs<rowType>); | ||
} | ||
export interface DropDownSourceArgs<rowType extends Entity<any>> { | ||
idColumn?: (e: rowType) => Column<any>; | ||
captionColumn?: (e: rowType) => Column<any>; | ||
orderBy?: EntityOrderBy<rowType>; | ||
where?: EntityWhere<rowType>; | ||
} | ||
export interface DropDownItem { | ||
@@ -34,5 +43,5 @@ id?: any; | ||
export declare class GridSettings<rowType extends Entity<any>> { | ||
private entity?; | ||
private entityProvider; | ||
settings?: IDataSettings<rowType>; | ||
constructor(entity?: rowType, settings?: IDataSettings<rowType>); | ||
constructor(entityProvider: EntityProvider<rowType>, context: Context, settings?: IDataSettings<rowType>); | ||
currList: ColumnSetting<any>[]; | ||
@@ -155,7 +164,6 @@ origList: ColumnSetting<any>[]; | ||
export declare class DataList<T extends Entity<any>> implements Iterable<T> { | ||
private entity; | ||
private entityProvider; | ||
[Symbol.iterator](): Iterator<T>; | ||
items: T[]; | ||
constructor(entity: T); | ||
translateOptions(options: FindOptionsPerEntity<T>): EntitySourceFindOptions; | ||
constructor(entityProvider: EntityProvider<T>); | ||
_rowReplacedListeners: ((oldRow: T, newRow: T) => void)[]; | ||
@@ -167,3 +175,2 @@ private map; | ||
add(): T; | ||
private replaceRow; | ||
} | ||
@@ -180,3 +187,4 @@ export declare class Sort { | ||
private entity; | ||
constructor(entity: entityType); | ||
private entityProvider; | ||
constructor(entity: entityType, entityProvider: EntityProvider<entityType>); | ||
private restList; | ||
@@ -246,4 +254,6 @@ private cache; | ||
__getMemberName(): string; | ||
constructor(settingsOrCaption?: ColumnOptions<dataType>); | ||
__decorateDataSettings(x: ColumnSetting<any>): void; | ||
static consolidateOptions(options: ColumnOptions<any>, options1?: ColumnOptions<any>): DataColumnSettings<any>; | ||
constructor(settingsOrCaption?: ColumnOptions<dataType>, settingsOrCaption1?: ColumnOptions<dataType>); | ||
__decorateDataSettings(x: ColumnSetting<any>, context?: Context): void; | ||
private __displayResult; | ||
__getStorage(): ColumnStorage<dataType>; | ||
@@ -301,9 +311,4 @@ __defaultStorage(): DefaultStorage<any>; | ||
export declare class Entity<idType> { | ||
factory?: () => Entity<idType>; | ||
constructor(options?: EntityOptions | string, factory?: () => Entity<idType>); | ||
constructor(options?: EntityOptions | string); | ||
static __key: string; | ||
_noContextErrorWithStack: Error; | ||
_setContext(context: Context): void; | ||
__getApiAllowUpdate(allowed: Allowed): any; | ||
_setFactoryClassAndDoInitColumns(entityType: EntityType): void; | ||
_getExcludedColumns(x: Entity<any>, context: Context): Column<any>[]; | ||
@@ -322,3 +327,2 @@ _getEntityApiSettings(r: Context): DataApiSettings<Entity<any>>; | ||
__getValidationError(): any; | ||
setSource(dp: DataProviderFactory): void; | ||
__assertValidity(): void; | ||
@@ -332,3 +336,2 @@ save(validate?: (row: this) => Promise<any> | any, onSavingRow?: (row: this) => Promise<any> | any): Promise<any>; | ||
__fromPojo(r: any, excludeColumns: ColumnHashSet): any; | ||
source: EntitySource<this>; | ||
__getColumn<T>(col: Column<T>): Column<any>; | ||
@@ -355,20 +358,7 @@ __getColumnByJsonName(key: string): Column<any>; | ||
} | ||
export declare class EntitySource<T extends Entity<any>> { | ||
private factory; | ||
private _provider; | ||
constructor(name: string, factory: () => T, dataProvider: DataProviderFactory); | ||
find(options?: EntitySourceFindOptions): Promise<T[]>; | ||
fromPojo(r: any): T; | ||
count(where?: FilterBase): Promise<number>; | ||
max(col: NumberColumn, filter?: FilterBase): Promise<number>; | ||
__getDataProvider(): DataProvider; | ||
createNewItem(): T; | ||
Insert(doOnRow: (item: T) => Promise<void> | void): Promise<T>; | ||
} | ||
export declare class __EntityValueProvider implements ColumnValueProvider { | ||
private getDataProvider; | ||
listeners: RowEvents[]; | ||
register(listener: RowEvents): void; | ||
dataProvider: EntityDataProvider; | ||
delete(): Promise<void>; | ||
constructor(getDataProvider: () => DataProvider); | ||
isNewRow(): boolean; | ||
@@ -388,3 +378,2 @@ wasChanged(): boolean; | ||
export declare class StringColumn extends Column<string> { | ||
constructor(settingsOrCaption?: ColumnOptions<string>); | ||
isContains(value: StringColumn | string): Filter; | ||
@@ -436,3 +425,3 @@ isStartsWith(value: StringColumn | string): Filter; | ||
private closedListType; | ||
constructor(closedListType: any, settingsOrCaption?: ColumnOptions<closedListType>); | ||
constructor(closedListType: any, settingsOrCaption?: ColumnOptions<closedListType>, settingsOrCaption1?: ColumnOptions<closedListType>); | ||
getOptions(): DropDownItem[]; | ||
@@ -449,3 +438,4 @@ toRawValue(value: closedListType): number; | ||
private showArea; | ||
constructor(currentRow: () => Entity<any>, allowUpdate: () => boolean, filterHelper: FilterHelper<rowType>, showArea: () => boolean); | ||
private context?; | ||
constructor(currentRow: () => Entity<any>, allowUpdate: () => boolean, filterHelper: FilterHelper<rowType>, showArea: () => boolean, context?: Context); | ||
__showArea(): boolean; | ||
@@ -452,0 +442,0 @@ __getColumn(map: ColumnSetting<any>, record: Entity<any>): Column<any>; |
@@ -1,4 +0,4 @@ | ||
import { DataProviderFactory, DataProvider, RowsOfDataForTesting } from "./dataInterfaces1"; | ||
import { DataProvider, EntityDataProvider, RowsOfDataForTesting } from "./dataInterfaces1"; | ||
import { Entity } from "./utils"; | ||
export declare class WebSqlDataProvider implements DataProviderFactory, RowsOfDataForTesting { | ||
export declare class WebSqlDataProvider implements DataProvider, RowsOfDataForTesting { | ||
private databaseName; | ||
@@ -8,6 +8,7 @@ rows: { | ||
}; | ||
private createdEntities; | ||
constructor(databaseName: string); | ||
provideFor<T extends Entity<any>>(name: string, factory: () => T): DataProvider; | ||
getEntityDataProvider(entity: Entity<any>): EntityDataProvider; | ||
private addColumnSqlSyntax; | ||
toString(): string; | ||
} |
import { StringColumn, Entity, Column, EntityOptions } from "../core/utils"; | ||
import { ColumnOptions, DataColumnSettings } from '../core/dataInterfaces1'; | ||
import { ColumnOptions, DataColumnSettings, EntityProvider } from '../core/dataInterfaces1'; | ||
export declare class IdEntity extends Entity<string> { | ||
@@ -12,3 +12,3 @@ id: IdColumn; | ||
} | ||
export declare function checkForDuplicateValue(row: Entity<any>, column: Column<any>, message?: string): Promise<void>; | ||
export declare function DecorateDataColumnSettings<type>(original: ColumnOptions<type>, addValues: (x: DataColumnSettings<type>) => void): DataColumnSettings<type>; | ||
export declare function checkForDuplicateValue(row: Entity<any>, column: Column<any>, provider: EntityProvider<any>, message?: string): Promise<void>; |
import { DataApiError } from './DataApi'; | ||
import { Entity, Column } from '../core/utils'; | ||
import { FindOptionsPerEntity, DataApiRequest } from '../core/dataInterfaces1'; | ||
import { FindOptionsPerEntity, DataApiRequest, EntityProvider } from '../core/dataInterfaces1'; | ||
export declare class DataApi<T extends Entity<any>> { | ||
private rowType; | ||
private entityProvider; | ||
private options?; | ||
getRoute(): string; | ||
constructor(rowType: T, options?: DataApiSettings<T>); | ||
constructor(entityProvider: EntityProvider<T>, options?: DataApiSettings<T>, t?: T); | ||
private excludedColumns; | ||
@@ -10,0 +10,0 @@ private readonlyColumns; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
2
3597112
48401
- Removed@auth0/angular-jwt@^3.0.0
- Removedjsonwebtoken@^8.5.1
- Removed@angular/common@7.2.16(transitive)
- Removed@angular/core@7.2.16(transitive)
- Removed@angular/forms@7.2.16(transitive)
- Removed@angular/platform-browser@7.2.16(transitive)
- Removed@auth0/angular-jwt@3.0.1(transitive)
- Removedbuffer-equal-constant-time@1.0.1(transitive)
- Removedcall-bind-apply-helpers@1.0.1(transitive)
- Removedcall-bound@1.0.3(transitive)
- Removeddunder-proto@1.0.1(transitive)
- Removedecdsa-sig-formatter@1.0.11(transitive)
- Removedes-define-property@1.0.1(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedes-object-atoms@1.1.1(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-intrinsic@1.2.7(transitive)
- Removedget-proto@1.0.1(transitive)
- Removedgopd@1.2.0(transitive)
- Removedhas-symbols@1.1.0(transitive)
- Removedhasown@2.0.2(transitive)
- Removedjsonwebtoken@8.5.1(transitive)
- Removedjwa@1.4.1(transitive)
- Removedjws@3.2.2(transitive)
- Removedlodash.includes@4.3.0(transitive)
- Removedlodash.isboolean@3.0.3(transitive)
- Removedlodash.isinteger@4.0.4(transitive)
- Removedlodash.isnumber@3.0.3(transitive)
- Removedlodash.isplainobject@4.0.6(transitive)
- Removedlodash.isstring@4.0.1(transitive)
- Removedlodash.once@4.1.1(transitive)
- Removedmath-intrinsics@1.1.0(transitive)
- Removedms@2.1.3(transitive)
- Removedobject-inspect@1.13.3(transitive)
- Removedpunycode@1.4.1(transitive)
- Removedqs@6.14.0(transitive)
- Removedrxjs@6.6.7(transitive)
- Removedsafe-buffer@5.2.1(transitive)
- Removedsemver@5.7.2(transitive)
- Removedside-channel@1.1.0(transitive)
- Removedside-channel-list@1.0.0(transitive)
- Removedside-channel-map@1.0.1(transitive)
- Removedside-channel-weakmap@1.0.2(transitive)
- Removedurl@0.11.4(transitive)
- Removedzone.js@0.8.29(transitive)