All files / owid-grapher/grapher/core GrapherUrlMigrations.ts

100% Statements 26/26
100% Branches 5/5
100% Functions 3/3
100% Lines 26/26

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301x 1x 1x 1x 1x 1x 1x 1x 1x 1x 246x 246x 13x 13x 13x 246x 246x 1x 1x 1x 1x 1x 1x 1x 1x 246x        
import { QueryParams } from "../../clientUtils/urls/UrlUtils"
import { Url } from "../../clientUtils/urls/Url"
import {
    UrlMigration,
    performUrlMigrations,
} from "../../clientUtils/urls/UrlMigration"
import { migrateSelectedEntityNamesParam } from "./EntityUrlBuilder"
 
export const grapherUrlMigrations: UrlMigration[] = [
    (url): Url => {
        const { year, time } = url.queryParams
        if (!year) return url
        return url.updateQueryParams({
            year: undefined,
            time: time ?? year,
        })
    },
    migrateSelectedEntityNamesParam,
]
 
export const legacyToCurrentGrapherUrl = (url: Url): Url =>
    performUrlMigrations(grapherUrlMigrations, url)
 
export const legacyToCurrentGrapherQueryParams = (
    queryStr: string
): QueryParams => {
    const url = Url.fromQueryStr(queryStr)
    return legacyToCurrentGrapherUrl(url).queryParams
}