Skip to content

Commit

Permalink
fix lint
Browse files Browse the repository at this point in the history
  • Loading branch information
rileyajones committed Jul 11, 2022
1 parent 3524927 commit 926121b
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 48 deletions.
2 changes: 1 addition & 1 deletion tensorboard/webapp/routes/BUILD
Expand Up @@ -94,12 +94,12 @@ tf_ts_library(
":dashboard_deeplink_provider",
":feature_flag_serializer",
":testing",
"//tensorboard/webapp/app_routing:location",
"//tensorboard/webapp:app_state",
"//tensorboard/webapp:selectors",
"//tensorboard/webapp/angular:expect_angular_core_testing",
"//tensorboard/webapp/angular:expect_ngrx_store_testing",
"//tensorboard/webapp/app_routing:deep_link_provider",
"//tensorboard/webapp/app_routing:location",
"//tensorboard/webapp/app_routing:types",
"//tensorboard/webapp/metrics:test_lib",
"//tensorboard/webapp/metrics:types",
Expand Down
66 changes: 36 additions & 30 deletions tensorboard/webapp/routes/feature_flag_serializer.ts
Expand Up @@ -21,37 +21,43 @@ import {SerializableQueryParams} from '../app_routing/types';
import {State} from '../app_state';
import * as selectors from '../selectors';
import {EXPERIMENTAL_PLUGIN_QUERY_PARAM_KEY} from '../webapp_data_source/tb_feature_flag_data_source_types';
import {FeatureFlagMetadata, FeatureFlagQueryParameters,} from '../webapp_data_source/tb_feature_flag_query_parameters';

export function getFeatureFlagStates(store: Store<State>):
Observable<SerializableQueryParams> {
return store.select(selectors.getEnabledExperimentalPlugins)
.pipe(map((experimentalPlugins) => {
const queryParams = experimentalPlugins.map((pluginId) => {
return {key: EXPERIMENTAL_PLUGIN_QUERY_PARAM_KEY, value: pluginId};
});

const currentQueryParams = Object.fromEntries(
serializableQueryParamsToEntries(new Location().getSearch() || []));

Object.values(FeatureFlagQueryParameters)
.forEach((overriddenFeatureFlag: FeatureFlagMetadata) => {
const queryParamOverride =
overriddenFeatureFlag.queryParamOverride;
if (queryParamOverride &&
queryParamOverride in currentQueryParams) {
queryParams.push({
key: queryParamOverride,
value: currentQueryParams[queryParamOverride],
});
}
import {
FeatureFlagMetadata,
FeatureFlagQueryParameters,
} from '../webapp_data_source/tb_feature_flag_query_parameters';

export function getFeatureFlagStates(
store: Store<State>
): Observable<SerializableQueryParams> {
return store.select(selectors.getEnabledExperimentalPlugins).pipe(
map((experimentalPlugins) => {
const queryParams = experimentalPlugins.map((pluginId) => {
return {key: EXPERIMENTAL_PLUGIN_QUERY_PARAM_KEY, value: pluginId};
});

const currentQueryParams = Object.fromEntries(
serializableQueryParamsToEntries(new Location().getSearch() || [])
);

Object.values(FeatureFlagQueryParameters).forEach(
(overriddenFeatureFlag: FeatureFlagMetadata) => {
const queryParamOverride = overriddenFeatureFlag.queryParamOverride;
if (queryParamOverride && queryParamOverride in currentQueryParams) {
queryParams.push({
key: queryParamOverride,
value: currentQueryParams[queryParamOverride],
});
}
}
);

return queryParams;
return queryParams;

function serializableQueryParamsToEntries(
params: SerializableQueryParams): [string, string][] {
return params.map(({key, value}) => [key, value]);
}
}));
function serializableQueryParamsToEntries(
params: SerializableQueryParams
): [string, string][] {
return params.map(({key, value}) => [key, value]);
}
})
);
}
33 changes: 16 additions & 17 deletions tensorboard/webapp/routes/feature_flag_serializer_test.ts
Expand Up @@ -30,17 +30,15 @@ describe('feature flag serializer', () => {
let getSearchSpy: jasmine.Spy;

beforeEach(async () => {
await TestBed
.configureTestingModule({
providers: [
provideMockStore({
initialState: {
...appStateFromMetricsState(buildMetricsState()),
},
}),
],
})
.compileComponents();
await TestBed.configureTestingModule({
providers: [
provideMockStore({
initialState: {
...appStateFromMetricsState(buildMetricsState()),
},
}),
],
}).compileComponents();

store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
store.overrideSelector(selectors.getEnabledExperimentalPlugins, []);
Expand Down Expand Up @@ -73,13 +71,14 @@ describe('feature flag serializer', () => {
});
});

function promiseGetFeatureFlagStates(store: Store<State>):
Promise<SerializableQueryParams> {
function promiseGetFeatureFlagStates(
store: Store<State>
): Promise<SerializableQueryParams> {
return new Promise<SerializableQueryParams>((resolve) => {
getFeatureFlagStates(store)
.subscribe((queryParams) => {
resolve(queryParams);
})
.unsubscribe();
.subscribe((queryParams) => {
resolve(queryParams);
})
.unsubscribe();
});
}

0 comments on commit 926121b

Please sign in to comment.