Move deprecation warnings for old state fields so they don't always trigger.

This commit is contained in:
Tom Coleman 2023-03-03 12:27:20 +11:00
parent 485fd3a0a0
commit 9663f911a2
2 changed files with 19 additions and 16 deletions

View File

@ -38,6 +38,7 @@ import {
} from '@storybook/core-events';
import type { RouterData } from '@storybook/router';
import type { Listener } from '@storybook/channels';
import { deprecate } from '@storybook/client-logger';
import { createContext } from './context';
import type { Options } from './store';
@ -318,7 +319,23 @@ function ManagerConsumer<P = Combo>({
export function useStorybookState(): State {
const { state } = useContext(ManagerContext);
return state;
return {
...state,
// deprecated fields for back-compat
get storiesHash() {
deprecate('state.storiesHash is deprecated, please use state.index');
return this.index || {};
},
get storiesConfigured() {
deprecate('state.storiesConfigured is deprecated, please use state.previewInitialized');
return this.previewInitialized;
},
get storiesFailed() {
deprecate('state.storiesFailed is deprecated, please use state.indexError');
return this.indexError;
},
};
}
export function useStorybookApi(): API {
const { api } = useContext(ManagerContext);

View File

@ -16,7 +16,7 @@ import {
CURRENT_STORY_WAS_SET,
STORY_MISSING,
} from '@storybook/core-events';
import { deprecate, logger } from '@storybook/client-logger';
import { logger } from '@storybook/client-logger';
import type {
StoryId,
@ -544,20 +544,6 @@ export const init: ModuleFn<SubAPI, SubState, true> = ({
viewMode: initialViewMode,
hasCalledSetOptions: false,
previewInitialized: false,
// deprecated fields for back-compat
get storiesHash() {
deprecate('state.storiesHash is deprecated, please use state.index');
return this.index || {};
},
get storiesConfigured() {
deprecate('state.storiesConfigured is deprecated, please use state.previewInitialized');
return this.previewInitialized;
},
get storiesFailed() {
deprecate('state.storiesFailed is deprecated, please use state.indexError');
return this.indexError;
},
},
init: initModule,
};