diff --git a/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.js b/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.js index e3666d1cd5fa8..672892730feb1 100644 --- a/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.js +++ b/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.js @@ -79,7 +79,7 @@ module.exports = { node.type === esTypes.FunctionExpression || node.type === esTypes.ArrowFunctionExpression ) { - return traverse.STOP; + return traverse.SKIP; } if ( diff --git a/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.test.js b/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.test.js index af1d15982007d..b699af55c5cba 100644 --- a/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.test.js +++ b/packages/kbn-eslint-plugin-eslint/rules/no_constructor_args_in_property_initializers.test.js @@ -96,5 +96,25 @@ ruleTester.run('@kbn/eslint/no_constructor_args_in_property_initializers', rule, }, ], }, + { + code: dedent` + class Foo { + readonly bar = y(this.deps.history).x( + () => { + this.deps.usage() + } + ); + + + constructor(private readonly deps: unknown) {} + } + `, + errors: [ + { + line: 2, + message: `The constructor argument "deps" can't be used in a class property intializer, define the property in the constructor instead`, + }, + ], + }, ], }); diff --git a/src/plugins/discover/public/application/apps/main/services/discover_search_session.ts b/src/plugins/discover/public/application/apps/main/services/discover_search_session.ts index 81ab578229d19..2f3f7107d352e 100644 --- a/src/plugins/discover/public/application/apps/main/services/discover_search_session.ts +++ b/src/plugins/discover/public/application/apps/main/services/discover_search_session.ts @@ -7,6 +7,7 @@ */ import { History } from 'history'; +import * as Rx from 'rxjs'; import { filter } from 'rxjs/operators'; import { DataPublicPluginStart } from '../../../../../../data/public'; import { @@ -29,17 +30,19 @@ export class DiscoverSearchSessionManager { * Notifies about `searchSessionId` changes in the URL, * skips if `searchSessionId` matches current search session id */ - readonly newSearchSessionIdFromURL$ = createQueryParamObservable( - this.deps.history, - SEARCH_SESSION_ID_QUERY_PARAM - ).pipe( - filter((searchSessionId) => { - if (!searchSessionId) return true; - return !this.deps.session.isCurrentSession(searchSessionId); - }) - ); + readonly newSearchSessionIdFromURL$: Rx.Observable; - constructor(private readonly deps: DiscoverSearchSessionManagerDeps) {} + constructor(private readonly deps: DiscoverSearchSessionManagerDeps) { + this.newSearchSessionIdFromURL$ = createQueryParamObservable( + this.deps.history, + SEARCH_SESSION_ID_QUERY_PARAM + ).pipe( + filter((searchSessionId) => { + if (!searchSessionId) return true; + return !this.deps.session.isCurrentSession(searchSessionId); + }) + ); + } /** * Get next session id by either starting or restoring a session.