-
Notifications
You must be signed in to change notification settings - Fork 5
Labels
Description
Issue Description
Select one of:
[x] Generated codemod is not correct
[ ] Bug in Codemod Studio
[ ] UI/UX improvement request
[ ] Feature request
use nuxt/4/[email protected]
code from :
const {
data: continuousKLinesData,
status: originDataStatus,
execute,
} = useAsyncData(() => getContinuousKLines(symbol.value, interval.value), {
immediate: false,
default: () => [] satisfies Array<WSContinuousKLineDataK>,
watch: [symbol, interval],
})change to:
const {
data: continuousKLinesData,
status: originDataStatus,
execute,
// issue here, `.params.slug`
} = useAsyncData(.params.slug, () => getContinuousKLines(symbol.value, interval.value), {
immediate: false,
default: () => [] satisfies Array<WSContinuousKLineDataK>,
watch: [symbol, interval],
})Source
import dayjs from 'dayjs'
import type { LWChartDataItem } from '#layers/chart/components/LWChart.vue'
import type { UTCTimestamp } from 'lightweight-charts'
import type { WSContinuousKLineDataK } from '~/apis/binance-ws'
import { getContinuousKLines } from '~/apis/binace'
import type { ContinuousKLinesItem } from '~/apis/binace'
export function useKLineChart(options: { symbol: Ref<string>; interval: Ref<string> }) {
const { symbol, interval } = toRefs(options)
const allOriginData = ref<Array<WSContinuousKLineDataK>>([])
const {
data: continuousKLinesData,
status: originDataStatus,
execute,
} = useAsyncData(() => getContinuousKLines(symbol.value, interval.value), {
immediate: false,
default: () => [] satisfies Array<WSContinuousKLineDataK>,
watch: [symbol, interval],
})
const originData = computed(() => {
return continuousKLinesData.value.map(formatContinuousKLinesToWSData)
})
const initChartData = computed(() => {
return originData.value.map(formatKToChartData)
})
watch(
originDataStatus,
(status) => {
if (status === 'success' && originData.value.length > 0) {
allOriginData.value = originData.value
}
},
{
immediate: true,
},
)
onBeforeMount(() => {
execute()
})
return {
allOriginData,
originData,
originDataStatus,
initChartData,
getInitChartData: execute,
}
}
export const formatKToChartData = (item: WSContinuousKLineDataK) => {
return {
time: dayjs(item.T).unix() as UTCTimestamp,
open: Number(item.o),
high: Number(item.h),
low: Number(item.l),
close: Number(item.c),
} satisfies LWChartDataItem<'Candlestick'>
}
export const formatContinuousKLinesToWSData = (item: ContinuousKLinesItem) => {
return {
t: item[0],
T: item[6],
i: '', // not used
f: 0, // not used
L: 0, // not used
o: item[1],
c: item[4],
h: item[2],
l: item[3],
v: item[5],
n: item[8],
x: false, // not used
q: item[7],
V: item[9],
Q: item[10],
}
}Technical details
- Operating System: Darwin
- Node Version: v22.14.0
- Nuxt Version: 3.17.7
- CLI Version: 3.25.1
- Nitro Version: 2.11.13
- Package Manager: [email protected]
- Builder: -
- User Config: compatibilityDate, future, css, components, modules, runtimeConfig, imports, vite, ssr, ignore
- Runtime Modules: @nuxt/[email protected], @nuxt/[email protected], @vueuse/[email protected], @pinia/[email protected]
- Build Modules: -