Skip to content

Commit 63417bf

Browse files
committed
create resolveReplacementUrl util
1 parent e365d7e commit 63417bf

File tree

3 files changed

+22
-38
lines changed

3 files changed

+22
-38
lines changed

app/components/Compare/ReplacementSuggestion.vue

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script setup lang="ts">
22
import type { ModuleReplacement, KnownUrl } from 'module-replacements'
3+
import { resolveReplacementUrl } from '~/utils/resolve-replacement-url'
34
45
const props = defineProps<{
56
packageName: string
@@ -14,23 +15,7 @@ const emit = defineEmits<{
1415
addNoDep: []
1516
}>()
1617
17-
const resolveUrl = (url?: KnownUrl) => {
18-
if (!url) return null
19-
if (typeof url === 'string') return url
20-
21-
switch (url.type) {
22-
case 'mdn':
23-
return `https://developer.mozilla.org/en-US/docs/${url.id}`
24-
case 'node':
25-
return `https://nodejs.org/${url.id}`
26-
case 'e18e':
27-
return `https://e18e.dev/docs/replacements/${url.id}`
28-
default:
29-
return null
30-
}
31-
}
32-
33-
const docUrl = computed(() => resolveUrl(props.replacement.url))
18+
const docUrl = computed(() => resolveReplacementUrl(props.replacement.url))
3419
3520
const nodeVersion = computed(() => {
3621
const nodeEngine = props.replacement.engines?.find(e => e.engine === 'nodejs')

app/components/Package/Replacement.vue

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
11
<script setup lang="ts">
22
import type { ModuleReplacement, KnownUrl } from 'module-replacements'
3+
import { resolveReplacementUrl } from '~/utils/resolve-replacement-url'
34
45
const props = defineProps<{
56
replacement: ModuleReplacement
67
}>()
78
8-
const resolveUrl = (url?: KnownUrl) => {
9-
if (!url) return null
10-
if (typeof url === 'string') return url
11-
12-
switch (url.type) {
13-
case 'mdn':
14-
return `https://developer.mozilla.org/en-US/docs/${url.id}`
15-
case 'node':
16-
return `https://nodejs.org/${url.id}`
17-
case 'e18e':
18-
return `https://e18e.dev/docs/replacements/${url.id}`
19-
default:
20-
return null
21-
}
22-
}
23-
24-
const externalUrl = computed(() => resolveUrl(props.replacement.url))
9+
const externalUrl = computed(() => resolveReplacementUrl(props.replacement.url))
2510
2611
const nodeVersion = computed(() => {
2712
const nodeEngine = props.replacement.engines?.find(e => e.engine === 'nodejs')
@@ -43,10 +28,7 @@ const nodeVersion = computed(() => {
4328
scope="global"
4429
>
4530
<template #replacement>
46-
<code v-if="replacement.nodeFeatureId?.moduleName">
47-
{{ replacement.nodeFeatureId.moduleName }}
48-
</code>
49-
<code v-else-if="replacement.description">
31+
<code v-if="replacement.description">
5032
{{ replacement.description }}
5133
</code>
5234
<span v-else>{{ replacement.id }}</span>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import type { KnownUrl } from 'module-replacements'
2+
3+
export function resolveReplacementUrl(url?: KnownUrl): string | null {
4+
if (!url) return null
5+
if (typeof url === 'string') return url
6+
7+
switch (url.type) {
8+
case 'mdn':
9+
return `https://developer.mozilla.org/en-US/docs/${url.id}`
10+
case 'node':
11+
return `https://nodejs.org/${url.id}`
12+
case 'e18e':
13+
return `https://e18e.dev/docs/replacements/${url.id}`
14+
default:
15+
return null
16+
}
17+
}

0 commit comments

Comments
 (0)