aboutsummaryrefslogtreecommitdiff
path: root/ui/src/plugins/dev.perfetto.ExampleState/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/plugins/dev.perfetto.ExampleState/index.ts')
-rw-r--r--ui/src/plugins/dev.perfetto.ExampleState/index.ts15
1 files changed, 8 insertions, 7 deletions
diff --git a/ui/src/plugins/dev.perfetto.ExampleState/index.ts b/ui/src/plugins/dev.perfetto.ExampleState/index.ts
index 4303419db..ca7779ed1 100644
--- a/ui/src/plugins/dev.perfetto.ExampleState/index.ts
+++ b/ui/src/plugins/dev.perfetto.ExampleState/index.ts
@@ -27,12 +27,13 @@ interface State {
// This example plugin shows using state that is persisted in the
// permalink.
class ExampleState implements Plugin<State> {
- migrate(_initialState: unknown): State {
- // TODO(hjd): Show validation example.
-
- return {
- counter: 0,
- };
+ migrate(initialState: unknown): State {
+ if (initialState && typeof initialState === 'object' &&
+ 'counter' in initialState && typeof initialState.counter === 'number') {
+ return {counter: initialState.counter};
+ } else {
+ return {counter: 0};
+ }
}
onActivate(_: PluginContext): void {
@@ -56,7 +57,7 @@ class ExampleState implements Plugin<State> {
}
}
-export const plugin: PluginInfo = {
+export const plugin: PluginInfo<State> = {
pluginId: 'dev.perfetto.ExampleState',
plugin: ExampleState,
};