import qs from 'qs'; export interface VueQuery { vue?: boolean; src?: boolean; type?: 'script' | 'template' | 'style' | 'custom'; index?: number; lang?: string; } export function parseVueRequest(id: string): any { const [filename, rawQuery] = id.split(`?`, 2); const query = qs.parse(rawQuery) as VueQuery; if (query.vue != null) { query.vue = true; } if (query.src != null) { query.src = true; } if (query.index != null) { query.index = Number(query.index); } return { filename, query, }; }