diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..962b4465 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,16 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@kitql-old/all-in": "0.9.6", + "@kitql/eslint-config": "0.5.1", + "@kitql/handles": "0.2.3", + "@kitql/helpers": "0.8.11", + "@kitql/internals": "0.10.1", + "vite-plugin-kit-routes": "0.7.5", + "vite-plugin-stripper": "0.6.2", + "vite-plugin-watch-and-run": "1.7.3", + "website": "1.1.2" + }, + "changesets": [] +} diff --git a/.changeset/wicked-nails-travel.md b/.changeset/wicked-nails-travel.md new file mode 100644 index 00000000..7fa5165d --- /dev/null +++ b/.changeset/wicked-nails-travel.md @@ -0,0 +1,5 @@ +--- +'vite-plugin-kit-routes': patch +--- + +manage search-params with dash diff --git a/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts b/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts index 70036f2b..a11ee608 100644 --- a/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts +++ b/packages/vite-plugin-kit-routes/src/lib/ROUTES.ts @@ -12,51 +12,52 @@ const PAGES = { '/subGroup': `/subGroup`, '/subGroup/user': `/subGroup/user`, '/subGroup2': (params: { first: string | number }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ first: params['first'] })}` }, '/contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/contract` }, '/contract/[id]': (params: { id: string | number lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/contract/${params['id']}` }, '/gp/one': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/gp/one` }, '/gp/two': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/gp/two` }, '/main': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/main` }, '/match/[id=ab]': (params: { id: Parameters[0] lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/match/${params['id']}` }, '/match/[id=int]': (params: { id: number; lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/match/${params['id']}` }, '/site': ( params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string; limit?: number }, sp?: Record, ) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site${appendSp({ ...sp, limit: params?.['limit'] })}` }, '/site/[id]': (params?: { lang?: 'fr' | 'hu' | undefined id?: string limit?: number demo?: string + 'da-sh'?: string }) => { params = params ?? {} - params.lang = params.lang ?? 'fr' - params.id = params.id ?? 'Vienna' - return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? 'fr' + params['id'] = params['id'] ?? 'Vienna' + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site/${params['id']}${appendSp({ limit: params['limit'], demo: params['demo'], 'da-sh': params['da-sh'] })}` }, '/site_contract/[siteId]-[contractId]': (params: { siteId: string | number @@ -64,10 +65,10 @@ const PAGES = { lang?: 'fr' | 'en' | 'hu' | 'at' | string limit?: number }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ limit: params['limit'] })}` }, '/a/[...rest]/z': (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, '/lay/normal': `/lay/normal`, '/lay/root-layout': `/lay/root-layout`, @@ -76,10 +77,10 @@ const PAGES = { return `/sp${appendSp(sp)}` }, '/spArray': (params: { ids: number[] }) => { - return `/spArray${appendSp({ ids: params.ids })}` + return `/spArray${appendSp({ ids: params['ids'] })}` }, '/spArrayComma': (params: { ids: number[] }) => { - return `/spArrayComma${appendSp({ ids: String(params.ids) })}` + return `/spArrayComma${appendSp({ ids: String(params['ids']) })}` }, } @@ -91,18 +92,18 @@ const SERVERS = { 'GET /server_func_get_and_': `/server_func_get_and_`, 'POST /server_func_post': `/server_func_post`, 'GET /contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/contract` }, 'POST /contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/contract` }, 'GET /site': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site` }, 'GET /api/graphql': `/api/graphql`, 'POST /api/graphql': `/api/graphql`, 'GET /data/errors/[locale].json': (params: { locale: string | number }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` }, } @@ -115,28 +116,28 @@ const ACTIONS = { lang?: 'fr' | 'en' | 'hu' | 'at' | string limit?: number }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/contract/${params['id']}${appendSp({ limit: params['limit'] })}` }, 'create /site': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string redirectTo?: 'list' | 'new' | 'detail' }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site?/create${appendSp({ redirectTo: params?.redirectTo }, '&')}` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site?/create${appendSp({ redirectTo: params?.['redirectTo'] }, '&')}` }, 'update /site/[id]': (params: { id: string | number lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site/${params['id']}?/update` }, 'delete /site/[id]': (params: { id: string | number lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site/${params['id']}?/delete` }, 'noSatisfies /site_contract': (params?: { lang?: 'fr' | 'en' | 'hu' | 'at' | string }) => { - return `${params?.lang ? `/${params?.lang}` : ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site_contract?/noSatisfies` }, 'send /site_contract/[siteId]-[contractId]': (params: { siteId: string | number @@ -144,8 +145,8 @@ const ACTIONS = { lang?: 'fr' | 'en' | 'hu' | 'at' | string extra?: 'A' | 'B' }) => { - params.extra = params.extra ?? 'A' - return `${params?.lang ? `/${params?.lang}` : ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? 'A' + return `${params?.['lang'] ? `/${params?.['lang']}` : ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ extra: params['extra'] }, '&')}` }, } @@ -155,12 +156,12 @@ const ACTIONS = { const LINKS = { twitter: `https://twitter.com/jycouet`, twitter_post: (params: { name: string | number; id: string | number }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, gravatar: (params: { str: string; s?: number; d?: 'retro' | 'identicon' }) => { - params.s = params.s ?? 75 - params.d = params.d ?? 'identicon' - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75 + params['d'] = params['d'] ?? 'identicon' + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ s: params['s'], d: params['d'] })}` }, } @@ -258,7 +259,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts - * import type { KIT_ROUTES } from '$_lib/ROUTES' + * import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -318,6 +319,7 @@ export type KIT_ROUTES = { id: never limit: never demo: never + 'da-sh': never siteId: never contractId: never rest: never diff --git a/packages/vite-plugin-kit-routes/src/lib/plugin.ts b/packages/vite-plugin-kit-routes/src/lib/plugin.ts index 29f703af..d4bffa2b 100644 --- a/packages/vite-plugin-kit-routes/src/lib/plugin.ts +++ b/packages/vite-plugin-kit-routes/src/lib/plugin.ts @@ -546,7 +546,7 @@ export function buildMetadata( // Very special case (only an optional param) if (toRet === `/[[${c.name + sMatcher}]]`) { - toRet = `\${params?.${c.name} ? \`/\${params?.${c.name}}\`: '/'}` + toRet = `\${params?.['${c.name}'] ? \`/\${params?.['${c.name}']}\`: '/'}` } else { // Always 2 cases, with "/" prefix and without const cases = ['/', ''] @@ -554,20 +554,23 @@ export function buildMetadata( cases.forEach((prefix) => { toRet = toRet.replaceAll( `${prefix}[[${c.name + sMatcher}]]`, - `\${params?.${c.name} ? \`${prefix}\${params?.${c.name}}\`: ''}`, + `\${params?.['${c.name}'] ? \`${prefix}\${params?.['${c.name}']}\`: ''}`, ) }) // Second -> params cases.forEach((prefix) => { - toRet = toRet.replaceAll(`${prefix}[${c.name + sMatcher}]`, `${prefix}\${params.${c.name}}`) + toRet = toRet.replaceAll( + `${prefix}[${c.name + sMatcher}]`, + `${prefix}\${params['${c.name}']}`, + ) }) // Third -> [...rest] cases.forEach((prefix) => { toRet = toRet.replaceAll( `${prefix}[...${c.name + sMatcher}]`, - `${prefix}\${params.${c.name}?.join('/')}`, + `${prefix}\${params['${c.name}']?.join('/')}`, ) }) } @@ -612,7 +615,7 @@ export function buildMetadata( } Object.entries(customConf.explicit_search_params).forEach((sp) => { - const val = `params${paramsIsOptional ? '?' : ''}.${sp[0]}` + const val = paramsIsOptional ? `params?.['${sp[0]}']` : `params['${sp[0]}']` explicit_search_params_to_function.push([sp[0], getSpValue(val, sp[1])]) }) @@ -635,14 +638,14 @@ export function buildMetadata( explicit_search_params_to_function[0][1] = getSpValue(paramsReq[0].name, sp) } else { // in params - toRet = toRet.replaceAll(`params.${paramsReq[0].name}`, paramsReq[0].name) + toRet = toRet.replaceAll(`params['${paramsReq[0].name}']`, paramsReq[0].name) } } params.push(`params${isAllOptional ? '?' : ''}: { ${formatArgs(paramsFromPath, options)} }`) } const explicit_search_params = explicit_search_params_to_function - .map(([param, val]) => (param === val ? param : `${param}: ${val}`)) + .map(([param, val]) => (param === val ? param : `'${param}': ${val}`)) .join(', ') let fullSP = '' @@ -665,7 +668,7 @@ export function buildMetadata( let paramsDefaults = paramsFromPath .filter((c) => c.default !== undefined) .map((c) => { - return `params.${c.name} = params.${c.name} ?? ${c.default}; ` + return `params['${c.name}'] = params['${c.name}'] ?? ${c.default}; ` }) if (paramsDefaults.length > 0 && isAllOptional) { @@ -779,8 +782,10 @@ const formatArg = (c: Param, o: Options) => { override_param = override_params[0][1]?.type } + const nameEscaped = c.name.includes('-') ? `'${c.name}'` : c.name + return ( - `${c.name}${c.optional ? '?' : ''}: ` + + `${nameEscaped}${c.optional ? '?' : ''}: ` + `(${c.type ?? override_param ?? options?.default_type ?? 'string | number'})` + `${c.isArray ? '[]' : ''}` ) @@ -995,7 +1000,7 @@ ${objTypes Params${arrayToRecord([ ...new Set( objTypes.flatMap((c) => - c.files.flatMap((d) => d.paramsFromPath.map((e) => `${e.name}: never`)), + c.files.flatMap((d) => d.paramsFromPath.map((e) => `'${e.name}': never`)), ), ), ])} @@ -1050,8 +1055,7 @@ ${objTypes return false } -// const dolLib = ['$', 'lib'].join('') -const dolLib = ['$', '_', 'lib'].join('') +const dolLib = ['$', 'lib'].join('') function theEnd( atStart: boolean, diff --git a/packages/vite-plugin-kit-routes/src/lib/plugins.spec.ts b/packages/vite-plugin-kit-routes/src/lib/plugins.spec.ts index d817666a..270c6638 100644 --- a/packages/vite-plugin-kit-routes/src/lib/plugins.spec.ts +++ b/packages/vite-plugin-kit-routes/src/lib/plugins.spec.ts @@ -179,7 +179,7 @@ describe('vite-plugin-kit-routes', () => { ], "strDefault": "", "strParams": "params?: { lang?: (string | number) }", - "strReturn": "\`\${params?.lang ? \`/\${params?.lang}\`: '/'}\`", + "strReturn": "\`\${params?.['lang'] ? \`/\${params?.['lang']}\`: '/'}\`", }, ] `) @@ -207,7 +207,7 @@ describe('vite-plugin-kit-routes', () => { ], "strDefault": "", "strParams": "params?: { lang?: (string | number) }", - "strReturn": "\`\${params?.lang ? \`/\${params?.lang}\`: ''}/about\`", + "strReturn": "\`\${params?.['lang'] ? \`/\${params?.['lang']}\`: ''}/about\`", }, ] `) @@ -235,7 +235,7 @@ describe('vite-plugin-kit-routes', () => { ], "strDefault": "", "strParams": "params?: { lang?: (string | number) }", - "strReturn": "\`/prefix-\${params?.lang ? \`\${params?.lang}\`: ''}/about\`", + "strReturn": "\`/prefix-\${params?.['lang'] ? \`\${params?.['lang']}\`: ''}/about\`", }, ] `) @@ -285,7 +285,7 @@ describe('vite-plugin-kit-routes', () => { ], "strDefault": "", "strParams": "params: { snapshot: (string | number), id: (string | number) }", - "strReturn": "\`/subscriptions/\${params.snapshot}/\${params.id}\`", + "strReturn": "\`/subscriptions/\${params['snapshot']}/\${params['id']}\`", }, ] `) @@ -338,7 +338,11 @@ describe('run()', async () => { extra_search_params: 'with', }, site_id: { - explicit_search_params: { limit: { type: 'number' }, demo: { type: 'string' } }, + explicit_search_params: { + limit: { type: 'number' }, + demo: { type: 'string' }, + 'da-sh': { type: 'string' }, + }, params: { id: { type: 'string', default: '"Vienna"' }, lang: { type: "'fr' | 'hu' | undefined", default: '"fr"' }, @@ -836,9 +840,11 @@ describe('run()', async () => { path_base: true, }) - expect(read(generated_file_path)?.includes('import { base } from')).toBe(true) - expect(read(generated_file_path)?.includes('$app/paths')).toBe(true) - expect(read(generated_file_path)?.includes('${base}')).toBe(true) + const content = read(generated_file_path) ?? '' + + expect(content.includes('import { base } from')).toBe(true) + expect(content.includes('$app/paths')).toBe(true) + expect(content.includes('${base}')).toBe(true) }) it('with router hash', async () => { diff --git a/packages/vite-plugin-kit-routes/src/routes/+layout.svelte b/packages/vite-plugin-kit-routes/src/routes/+layout.svelte index c4032616..21c188ab 100644 --- a/packages/vite-plugin-kit-routes/src/routes/+layout.svelte +++ b/packages/vite-plugin-kit-routes/src/routes/+layout.svelte @@ -47,7 +47,13 @@ Sites (with Search Param)
  • - Site Paris + Site Paris
  • diff --git a/packages/vite-plugin-kit-routes/src/routes/[[lang]]/site/[id]/+page.svelte b/packages/vite-plugin-kit-routes/src/routes/[[lang]]/site/[id]/+page.svelte index 5f468cf2..180d4800 100644 --- a/packages/vite-plugin-kit-routes/src/routes/[[lang]]/site/[id]/+page.svelte +++ b/packages/vite-plugin-kit-routes/src/routes/[[lang]]/site/[id]/+page.svelte @@ -1 +1,8 @@ + +

    site [id]

    + +
    id: {page.params.id}
    +
    da-sh: {page.url.searchParams.get('da-sh')}
    diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_base.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_base.ts index 30e0d5b0..761bda0a 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_base.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_base.ts @@ -15,37 +15,37 @@ const PAGES = { "/subGroup/user": `${base}/subGroup/user`, "/subGroup2": `${base}/subGroup2`, "/contract": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "/contract/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/gp/one": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/main` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/match/[id=int]": (params: { id: (Parameters[0]), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/site": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "/site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `${base}/a/${params.rest?.join('/')}/z` + return `${base}/a/${params['rest']?.join('/')}/z` }, "/lay/normal": `${base}/lay/normal`, "/lay/root-layout": `${base}/lay/root-layout`, @@ -63,18 +63,18 @@ const SERVERS = { "GET /server_func_get_and_": `${base}/server_func_get_and_`, "POST /server_func_post": `${base}/server_func_post`, "GET /contract": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `${base}/api/graphql`, "POST /api/graphql": `${base}/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `${base}/data/errors/${params.locale}.json` + return `${base}/data/errors/${params['locale']}.json` } } @@ -83,22 +83,22 @@ const SERVERS = { */ const ACTIONS = { "default /contract/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "create /site": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: (string | number) }) => { - return `${base}${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send` + return `${base}${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send` } } @@ -174,7 +174,7 @@ export const routes = [ /** * To be used like this: * ```ts - * import { route } from './ROUTES' + * import { route } from '$lib/ROUTES' * * route('site_id', { id: 1 }) * ``` @@ -210,5 +210,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: Record - Params: { lang: never, id: never, siteId: never, contractId: never, rest: never, locale: never } + Params: { 'lang': never, 'id': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts index f8489e7f..8a31068d 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path.ts @@ -13,43 +13,43 @@ export const PAGES = { "/subGroup": `/subGroup`, "/subGroup/user": `/subGroup/user`, "/subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/match/[id=int]": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "/lay/normal": `/lay/normal`, "/lay/root-layout": `/lay/root-layout`, @@ -67,18 +67,18 @@ export const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -87,23 +87,23 @@ export const SERVERS = { */ export const ACTIONS = { "default /contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,12 +113,12 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -176,7 +176,7 @@ export const currentSp = () => { * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -191,5 +191,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts index fe6daf14..d5d1224d 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-path_shortened.ts @@ -16,37 +16,37 @@ export const PAGES = { return `/subGroup2${appendSp({ first })}` }, "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/match/[id=int]": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -67,13 +67,13 @@ export const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, @@ -87,23 +87,23 @@ export const SERVERS = { */ export const ACTIONS = { "default /contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete /site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,13 +113,13 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -177,7 +177,7 @@ export const currentSp = () => { * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -192,5 +192,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'lang' | 'id', 'create /site': 'lang', 'update /site/[id]': 'lang' | 'id', 'delete /site/[id]': 'lang' | 'id', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts index 756e52d3..e0b2c988 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol.ts @@ -13,53 +13,53 @@ export const PAGES = { "subGroup": `/subGroup`, "subGroup_user": `/subGroup/user`, "subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "contract_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "gp_one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "gp_two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "match_id_ab": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "match_id_int": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "a_rest_z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "lay_normal": `/lay/normal`, "lay_root_layout": `/lay/root-layout`, "lay_skip": `/lay/skip`, "sp": `/sp`, "spArray": (params: { ids: (number[]) }) => { - return `/spArray${appendSp({ ids: params.ids })}` + return `/spArray${appendSp({ 'ids': params['ids'] })}` }, "spArrayComma": (params: { ids: (number[]) }) => { - return `/spArrayComma${appendSp({ ids: String(params.ids) })}` + return `/spArrayComma${appendSp({ 'ids': String(params['ids']) })}` } } @@ -71,18 +71,18 @@ export const SERVERS = { "GET_server_func_get_and": `/server_func_get_and_`, "POST_server_func_post": `/server_func_post`, "GET_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET_site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET_api_graphql": `/api/graphql`, "POST_api_graphql": `/api/graphql`, "GET_data_errors_locale_json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -91,23 +91,23 @@ export const SERVERS = { */ export const ACTIONS = { "default_contract_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create_site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update_site_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete_site_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies_site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send_site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -117,12 +117,12 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -180,7 +180,7 @@ export const currentSp = () => { * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -195,5 +195,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET_server_func_get': never, 'GET_server_func_get_and': never, 'POST_server_func_post': never, 'GET_contract': 'lang', 'POST_contract': 'lang', 'GET_site': 'lang', 'GET_api_graphql': never, 'POST_api_graphql': never, 'GET_data_errors_locale_json': 'locale' } ACTIONS: { 'default_contract_id': 'id' | 'lang', 'create_site': 'lang', 'update_site_id': 'id' | 'lang', 'delete_site_id': 'id' | 'lang', 'noSatisfies_site_contract': 'lang', 'send_site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, ids: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'ids': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts index 6d5f13fb..fb9e55bc 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-object-symbol_shortened.ts @@ -16,37 +16,37 @@ export const PAGES = { return `/subGroup2${appendSp({ first })}` }, "contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "contract_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "gp_one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "gp_two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "match_id_ab": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "match_id_int": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "a_rest_z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -59,7 +59,7 @@ export const PAGES = { return `/spArray${appendSp({ ids })}` }, "spArrayComma": (ids: (number[]), params?: { }) => { - return `/spArrayComma${appendSp({ ids: String(ids) })}` + return `/spArrayComma${appendSp({ 'ids': String(ids) })}` } } @@ -71,13 +71,13 @@ export const SERVERS = { "GET_server_func_get_and": `/server_func_get_and_`, "POST_server_func_post": `/server_func_post`, "GET_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET_site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET_api_graphql": `/api/graphql`, "POST_api_graphql": `/api/graphql`, @@ -91,23 +91,23 @@ export const SERVERS = { */ export const ACTIONS = { "default_contract_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create_site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update_site_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete_site_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies_site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send_site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -117,13 +117,13 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -181,7 +181,7 @@ export const currentSp = () => { * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -196,5 +196,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET_server_func_get': never, 'GET_server_func_get_and': never, 'POST_server_func_post': never, 'GET_contract': 'lang', 'POST_contract': 'lang', 'GET_site': 'lang', 'GET_api_graphql': never, 'POST_api_graphql': never, 'GET_data_errors_locale_json': 'locale' } ACTIONS: { 'default_contract_id': 'lang' | 'id', 'create_site': 'lang', 'update_site_id': 'lang' | 'id', 'delete_site_id': 'lang' | 'id', 'noSatisfies_site_contract': 'lang', 'send_site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, ids: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'ids': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path.ts index 3e2ba1b7..95fbb041 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path.ts @@ -13,43 +13,43 @@ export const PAGES = { "/subGroup": `/subGroup`, "/subGroup/user": `/subGroup/user`, "/subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/match/[id=int]": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "/lay/normal": `/lay/normal`, "/lay/root-layout": `/lay/root-layout`, @@ -67,18 +67,18 @@ export const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -87,23 +87,23 @@ export const SERVERS = { */ export const ACTIONS = { "default /contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,12 +113,12 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -208,7 +208,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -223,5 +223,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path_shortened.ts index 9a3e86f6..7079a48e 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-path_shortened.ts @@ -16,37 +16,37 @@ export const PAGES = { return `/subGroup2${appendSp({ first })}` }, "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/match/[id=int]": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -67,13 +67,13 @@ export const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, @@ -87,23 +87,23 @@ export const SERVERS = { */ export const ACTIONS = { "default /contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete /site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,13 +113,13 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -209,7 +209,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -224,5 +224,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'lang' | 'id', 'create /site': 'lang', 'update /site/[id]': 'lang' | 'id', 'delete /site/[id]': 'lang' | 'id', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol.ts index 92f6350b..8d4851a0 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol.ts @@ -13,43 +13,43 @@ export const PAGES = { "subGroup": `/subGroup`, "subGroup_user": `/subGroup/user`, "subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "contract_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "gp_one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "gp_two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "match_id_ab": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "match_id_int": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "a_rest_z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "lay_normal": `/lay/normal`, "lay_root_layout": `/lay/root-layout`, @@ -67,18 +67,18 @@ export const SERVERS = { "GET server_func_get_and": `/server_func_get_and_`, "POST server_func_post": `/server_func_post`, "GET contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET api_graphql": `/api/graphql`, "POST api_graphql": `/api/graphql`, "GET data_errors_locale_json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -87,23 +87,23 @@ export const SERVERS = { */ export const ACTIONS = { "default contract_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update site_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete site_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,12 +113,12 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -187,7 +187,7 @@ export const routes = [ /** * To be used like this: * ```ts - * import { route } from './ROUTES' + * import { route } from '$lib/ROUTES' * * route('site_id', { id: 1 }) * ``` @@ -223,5 +223,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET server_func_get': never, 'GET server_func_get_and': never, 'POST server_func_post': never, 'GET contract': 'lang', 'POST contract': 'lang', 'GET site': 'lang', 'GET api_graphql': never, 'POST api_graphql': never, 'GET data_errors_locale_json': 'locale' } ACTIONS: { 'default contract_id': 'id' | 'lang', 'create site': 'lang', 'update site_id': 'id' | 'lang', 'delete site_id': 'id' | 'lang', 'noSatisfies site_contract': 'lang', 'send site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol_shortened.ts index 89565dea..6d4ae030 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-and-object-symbol_shortened.ts @@ -16,37 +16,37 @@ export const PAGES = { return `/subGroup2${appendSp({ first })}` }, "contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "contract_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "gp_one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "gp_two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "match_id_ab": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "match_id_int": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "a_rest_z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -67,13 +67,13 @@ export const SERVERS = { "GET server_func_get_and": `/server_func_get_and_`, "POST server_func_post": `/server_func_post`, "GET contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET api_graphql": `/api/graphql`, "POST api_graphql": `/api/graphql`, @@ -87,23 +87,23 @@ export const SERVERS = { */ export const ACTIONS = { "default contract_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update site_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete site_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,13 +113,13 @@ export const ACTIONS = { export const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -209,7 +209,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -224,5 +224,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET server_func_get': never, 'GET server_func_get_and': never, 'POST server_func_post': never, 'GET contract': 'lang', 'POST contract': 'lang', 'GET site': 'lang', 'GET api_graphql': never, 'POST api_graphql': never, 'GET data_errors_locale_json': 'locale' } ACTIONS: { 'default contract_id': 'lang' | 'id', 'create site': 'lang', 'update site_id': 'lang' | 'id', 'delete site_id': 'lang' | 'id', 'noSatisfies site_contract': 'lang', 'send site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id.ts index 61e5eaa9..a954b4c1 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id.ts @@ -13,43 +13,43 @@ const PAGES = { "/(rootGroup)/subGroup": `/subGroup`, "/(rootGroup)/subGroup/(anotherSub)/user": `/subGroup/user`, "/(rootGroup)/subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "/[[lang]]/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/[[lang]]/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/[[lang]]/gp/(logged)/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/[[lang]]/gp/(public)/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/[[lang]]/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/[[lang]]/match/[id=ab]": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/[[lang]]/match/[id=int]": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/[[lang]]/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/[[lang]]/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/[[lang]]/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/[[lang]]/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "/lay/(layVerySpecial)/normal": `/lay/normal`, "/lay/(layVerySpecial)/root-layout": `/lay/root-layout`, @@ -67,18 +67,18 @@ const SERVERS = { "GET /(servers)/server_func_get_and_": `/server_func_get_and_`, "POST /(servers)/server_func_post": `/server_func_post`, "GET /[[lang]]/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /[[lang]]/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /[[lang]]/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -87,23 +87,23 @@ const SERVERS = { */ const ACTIONS = { "default /[[lang]]/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create /[[lang]]/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /[[lang]]/site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /[[lang]]/site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /[[lang]]/site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /[[lang]]/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,12 +113,12 @@ const ACTIONS = { const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -208,7 +208,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -223,5 +223,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /(servers)/server_func_get': never, 'GET /(servers)/server_func_get_and_': never, 'POST /(servers)/server_func_post': never, 'GET /[[lang]]/contract': 'lang', 'POST /[[lang]]/contract': 'lang', 'GET /[[lang]]/site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /[[lang]]/contract/[id]': 'id' | 'lang', 'create /[[lang]]/site': 'lang', 'update /[[lang]]/site/[id]': 'id' | 'lang', 'delete /[[lang]]/site/[id]': 'id' | 'lang', 'noSatisfies /[[lang]]/site_contract': 'lang', 'send /[[lang]]/site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id_shortened.ts index 6ce789a0..ca3f80b4 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path-page-route-id_shortened.ts @@ -16,37 +16,37 @@ const PAGES = { return `/subGroup2${appendSp({ first })}` }, "/[[lang]]/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/[[lang]]/contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "/[[lang]]/gp/(logged)/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/[[lang]]/gp/(public)/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/[[lang]]/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/[[lang]]/match/[id=ab]": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/[[lang]]/match/[id=int]": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/[[lang]]/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/[[lang]]/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/[[lang]]/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/[[lang]]/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -67,13 +67,13 @@ const SERVERS = { "GET /(servers)/server_func_get_and_": `/server_func_get_and_`, "POST /(servers)/server_func_post": `/server_func_post`, "GET /[[lang]]/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /[[lang]]/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /[[lang]]/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, @@ -87,23 +87,23 @@ const SERVERS = { */ const ACTIONS = { "default /[[lang]]/contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create /[[lang]]/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /[[lang]]/site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete /[[lang]]/site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies /[[lang]]/site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /[[lang]]/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,13 +113,13 @@ const ACTIONS = { const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -209,7 +209,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -224,5 +224,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /(servers)/server_func_get': never, 'GET /(servers)/server_func_get_and_': never, 'POST /(servers)/server_func_post': never, 'GET /[[lang]]/contract': 'lang', 'POST /[[lang]]/contract': 'lang', 'GET /[[lang]]/site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /[[lang]]/contract/[id]': 'lang' | 'id', 'create /[[lang]]/site': 'lang', 'update /[[lang]]/site/[id]': 'lang' | 'id', 'delete /[[lang]]/site/[id]': 'lang' | 'id', 'noSatisfies /[[lang]]/site_contract': 'lang', 'send /[[lang]]/site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path.ts index 476cdbd6..97436cdc 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path.ts @@ -13,43 +13,43 @@ const PAGES = { "/subGroup": `/subGroup`, "/subGroup/user": `/subGroup/user`, "/subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/match/[id=int]": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "/lay/normal": `/lay/normal`, "/lay/root-layout": `/lay/root-layout`, @@ -67,18 +67,18 @@ const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -87,23 +87,23 @@ const SERVERS = { */ const ACTIONS = { "default /contract/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /site/[id]": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,12 +113,12 @@ const ACTIONS = { const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -208,7 +208,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -223,5 +223,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path_shortened.ts index 7a851920..8ec51a37 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-path_shortened.ts @@ -16,37 +16,37 @@ const PAGES = { return `/subGroup2${appendSp({ first })}` }, "/contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "/contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "/gp/one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/match/[id=int]": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "/site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "/site/[id]": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "/a/[...rest]/z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -67,13 +67,13 @@ const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, @@ -87,23 +87,23 @@ const SERVERS = { */ const ACTIONS = { "default /contract/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create /site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete /site/[id]": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,13 +113,13 @@ const ACTIONS = { const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -209,7 +209,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -224,5 +224,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'lang' | 'id', 'create /site': 'lang', 'update /site/[id]': 'lang' | 'id', 'delete /site/[id]': 'lang' | 'id', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol.ts index b47b27b5..9f9faaea 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol.ts @@ -13,43 +13,43 @@ const PAGES = { "subGroup": `/subGroup`, "subGroup_user": `/subGroup/user`, "subGroup2": (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` }, "contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "contract_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "gp_one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "gp_two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "match_id_ab": (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "match_id_int": (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "a_rest_z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "lay_normal": `/lay/normal`, "lay_root_layout": `/lay/root-layout`, @@ -67,18 +67,18 @@ const SERVERS = { "GET server_func_get_and": `/server_func_get_and_`, "POST server_func_post": `/server_func_post`, "GET contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET api_graphql": `/api/graphql`, "POST api_graphql": `/api/graphql`, "GET data_errors_locale_json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -87,23 +87,23 @@ const SERVERS = { */ const ACTIONS = { "default contract_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` }, "create site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update site_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete site_id": (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,12 +113,12 @@ const ACTIONS = { const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -208,7 +208,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -223,5 +223,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET server_func_get': never, 'GET server_func_get_and': never, 'POST server_func_post': never, 'GET contract': 'lang', 'POST contract': 'lang', 'GET site': 'lang', 'GET api_graphql': never, 'POST api_graphql': never, 'GET data_errors_locale_json': 'locale' } ACTIONS: { 'default contract_id': 'id' | 'lang', 'create site': 'lang', 'update site_id': 'id' | 'lang', 'delete site_id': 'id' | 'lang', 'noSatisfies site_contract': 'lang', 'send site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol_shortened.ts index 77e8559e..641a0868 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-route-symbol_shortened.ts @@ -16,37 +16,37 @@ const PAGES = { return `/subGroup2${appendSp({ first })}` }, "contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` }, "contract_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` }, "gp_one": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "gp_two": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "main": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "match_id_ab": (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "match_id_int": (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` }, "site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` }, - "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { + "site_id": (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` }, "site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` }, "a_rest_z": (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -67,13 +67,13 @@ const SERVERS = { "GET server_func_get_and": `/server_func_get_and_`, "POST server_func_post": `/server_func_post`, "GET contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET api_graphql": `/api/graphql`, "POST api_graphql": `/api/graphql`, @@ -87,23 +87,23 @@ const SERVERS = { */ const ACTIONS = { "default contract_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` }, "create site": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update site_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` }, "delete site_id": (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` }, "noSatisfies site_contract": (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send site_contract_siteId_contractId": (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } } @@ -113,13 +113,13 @@ const ACTIONS = { const LINKS = { "twitter": `https://twitter.com/jycouet`, "twitter_post": (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` }, "gravatar": (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } } @@ -209,7 +209,7 @@ export function route(key: T, ...params: any[]): strin * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -224,5 +224,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET server_func_get': never, 'GET server_func_get_and': never, 'POST server_func_post': never, 'GET contract': 'lang', 'POST contract': 'lang', 'GET site': 'lang', 'GET api_graphql': never, 'POST api_graphql': never, 'GET data_errors_locale_json': 'locale' } ACTIONS: { 'default contract_id': 'lang' | 'id', 'create site': 'lang', 'update site_id': 'lang' | 'id', 'delete site_id': 'lang' | 'id', 'noSatisfies site_contract': 'lang', 'send site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts index 7a78e73c..0f37f8cc 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables.ts @@ -12,53 +12,53 @@ export const PAGE__ROOT = `/` export const PAGE_subGroup = `/subGroup` export const PAGE_subGroup_user = `/subGroup/user` export const PAGE_subGroup2 = (params: { first: (string | number) }) => { - return `/subGroup2${appendSp({ first: params.first })}` + return `/subGroup2${appendSp({ 'first': params['first'] })}` } export const PAGE_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` } export const PAGE_contract_id = (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` } export const PAGE_gp_one = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` } export const PAGE_gp_two = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` } export const PAGE_main = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` } export const PAGE_match_id_ab = (params: { id: (Parameters[0]), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` } export const PAGE_match_id_int = (params: { id: (number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` } export const PAGE_site = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` } -export const PAGE_site_id = (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { +export const PAGE_site_id = (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` } export const PAGE_site_contract_siteId_contractId = (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` } export const PAGE_a_rest_z = (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` } export const PAGE_lay_normal = `/lay/normal` export const PAGE_lay_root_layout = `/lay/root-layout` export const PAGE_lay_skip = `/lay/skip` export const PAGE_sp = `/sp` export const PAGE_spArray = (params: { ids: (number[]) }) => { - return `/spArray${appendSp({ ids: params.ids })}` + return `/spArray${appendSp({ 'ids': params['ids'] })}` } export const PAGE_spArrayComma = (params: { ids: (number[]) }) => { - return `/spArrayComma${appendSp({ ids: String(params.ids) })}` + return `/spArrayComma${appendSp({ 'ids': String(params['ids']) })}` } /** @@ -68,41 +68,41 @@ export const SERVER_GET_server_func_get = `/server_func_get` export const SERVER_GET_server_func_get_and = `/server_func_get_and_` export const SERVER_POST_server_func_post = `/server_func_post` export const SERVER_GET_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` } export const SERVER_POST_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` } export const SERVER_GET_site = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` } export const SERVER_GET_api_graphql = `/api/graphql` export const SERVER_POST_api_graphql = `/api/graphql` export const SERVER_GET_data_errors_locale_json = (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } /** * ACTIONS */ export const ACTION_default_contract_id = (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}${appendSp({ 'limit': params['limit'] })}` } export const ACTION_create_site = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` } export const ACTION_update_site_id = (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` } export const ACTION_delete_site_id = (params: { id: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` } export const ACTION_noSatisfies_site_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` } export const ACTION_send_site_contract_siteId_contractId = (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } /** @@ -110,12 +110,12 @@ export const ACTION_send_site_contract_siteId_contractId = (params: { siteId: (s */ export const LINK_twitter = `https://twitter.com/jycouet` export const LINK_twitter_post = (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` } export const LINK_gravatar = (params: { str: (string | number), s?: (number), d?: ("retro" | "identicon") }) => { - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${params['str']}${appendSp({ 's': params['s'], 'd': params['d'] })}` } type ParamValue = string | number | undefined @@ -172,7 +172,7 @@ export const currentSp = () => { * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -187,5 +187,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET_server_func_get': never, 'GET_server_func_get_and': never, 'POST_server_func_post': never, 'GET_contract': 'lang', 'POST_contract': 'lang', 'GET_site': 'lang', 'GET_api_graphql': never, 'POST_api_graphql': never, 'GET_data_errors_locale_json': 'locale' } ACTIONS: { 'default_contract_id': 'id' | 'lang', 'create_site': 'lang', 'update_site_id': 'id' | 'lang', 'delete_site_id': 'id' | 'lang', 'noSatisfies_site_contract': 'lang', 'send_site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, ids: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'ids': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts index 716177f5..eae302aa 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_format-variables_shortened.ts @@ -15,37 +15,37 @@ export const PAGE_subGroup2 = (first: (string | number), params?: { }) => { return `/subGroup2${appendSp({ first })}` } export const PAGE_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract${appendSp(sp)}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract${appendSp(sp)}` } export const PAGE_contract_id = (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}` } export const PAGE_gp_one = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` } export const PAGE_gp_two = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` } export const PAGE_main = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` } export const PAGE_match_id_ab = (id: (Parameters[0]), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` } export const PAGE_match_id_int = (id: (number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${id}` } export const PAGE_site = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }, sp?: Record) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site${appendSp({ ...sp, limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site${appendSp({ ...sp, 'limit': params?.['limit'] })}` } -export const PAGE_site_id = (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string) }) => { +export const PAGE_site_id = (params?: { lang?: ('fr' | 'hu' | undefined), id?: (string), limit?: (number), demo?: (string), 'da-sh'?: (string) }) => { params = params ?? {} - params.lang = params.lang ?? "fr"; - params.id = params.id ?? "Vienna"; - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}${appendSp({ limit: params.limit, demo: params.demo })}` + params['lang'] = params['lang'] ?? "fr"; + params['id'] = params['id'] ?? "Vienna"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}${appendSp({ 'limit': params['limit'], 'demo': params['demo'], 'da-sh': params['da-sh'] })}` } export const PAGE_site_contract_siteId_contractId = (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}${appendSp({ limit: params.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}${appendSp({ 'limit': params['limit'] })}` } export const PAGE_a_rest_z = (rest: (string | number)[], params?: { }) => { return `/a/${rest?.join('/')}/z` @@ -58,7 +58,7 @@ export const PAGE_spArray = (ids: (number[]), params?: { }) => { return `/spArray${appendSp({ ids })}` } export const PAGE_spArrayComma = (ids: (number[]), params?: { }) => { - return `/spArrayComma${appendSp({ ids: String(ids) })}` + return `/spArrayComma${appendSp({ 'ids': String(ids) })}` } /** @@ -68,13 +68,13 @@ export const SERVER_GET_server_func_get = `/server_func_get` export const SERVER_GET_server_func_get_and = `/server_func_get_and_` export const SERVER_POST_server_func_post = `/server_func_post` export const SERVER_GET_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` } export const SERVER_POST_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` } export const SERVER_GET_site = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` } export const SERVER_GET_api_graphql = `/api/graphql` export const SERVER_POST_api_graphql = `/api/graphql` @@ -86,23 +86,23 @@ export const SERVER_GET_data_errors_locale_json = (locale: (string | number), pa * ACTIONS */ export const ACTION_default_contract_id = (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string), limit?: (number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${id}${appendSp({ limit: params?.limit })}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${id}${appendSp({ 'limit': params?.['limit'] })}` } export const ACTION_create_site = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` } export const ACTION_update_site_id = (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/update` } export const ACTION_delete_site_id = (id: (string | number), params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${id}?/delete` } export const ACTION_noSatisfies_site_contract = (params?: { lang?: ('fr' | 'en' | 'hu' | 'at' | string) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` } export const ACTION_send_site_contract_siteId_contractId = (params: { siteId: (string | number), contractId: (string | number), lang?: ('fr' | 'en' | 'hu' | 'at' | string), extra?: ('A' | 'B') }) => { - params.extra = params.extra ?? "A"; - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send${appendSp({ extra: params.extra }, '&')}` + params['extra'] = params['extra'] ?? "A"; + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send${appendSp({ 'extra': params['extra'] }, '&')}` } /** @@ -110,13 +110,13 @@ export const ACTION_send_site_contract_siteId_contractId = (params: { siteId: (s */ export const LINK_twitter = `https://twitter.com/jycouet` export const LINK_twitter_post = (params: { name: (string | number), id: (string | number) }) => { - return `https://twitter.com/${params.name}/status/${params.id}` + return `https://twitter.com/${params['name']}/status/${params['id']}` } export const LINK_gravatar = (str: (string | number), params?: { s?: (number), d?: ("retro" | "identicon") }) => { params = params ?? {} - params.s = params.s ?? 75; - params.d = params.d ?? "identicon"; - return `https://www.gravatar.com/avatar/${str}${appendSp({ s: params.s, d: params.d })}` + params['s'] = params['s'] ?? 75; + params['d'] = params['d'] ?? "identicon"; + return `https://www.gravatar.com/avatar/${str}${appendSp({ 's': params['s'], 'd': params['d'] })}` } type ParamValue = string | number | undefined @@ -173,7 +173,7 @@ export const currentSp = () => { * * Full example: * ```ts -* import type { KIT_ROUTES } from '$_lib/ROUTES' +* import type { KIT_ROUTES } from '$lib/ROUTES' * import { kitRoutes } from 'vite-plugin-kit-routes' * * kitRoutes({ @@ -188,5 +188,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET_server_func_get': never, 'GET_server_func_get_and': never, 'POST_server_func_post': never, 'GET_contract': 'lang', 'POST_contract': 'lang', 'GET_site': 'lang', 'GET_api_graphql': never, 'POST_api_graphql': never, 'GET_data_errors_locale_json': 'locale' } ACTIONS: { 'default_contract_id': 'lang' | 'id', 'create_site': 'lang', 'update_site_id': 'lang' | 'id', 'delete_site_id': 'lang' | 'id', 'noSatisfies_site_contract': 'lang', 'send_site_contract_siteId_contractId': 'siteId' | 'contractId' | 'lang' } LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' } - Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, rest: never, ids: never, locale: never, extra: never, name: never, str: never, s: never, d: never } + Params: { 'first': never, 'lang': never, 'id': never, 'limit': never, 'demo': never, 'da-sh': never, 'siteId': never, 'contractId': never, 'rest': never, 'ids': never, 'locale': never, 'extra': never, 'name': never, 'str': never, 's': never, 'd': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_hash.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_hash.ts index 80fda932..42aa6916 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_hash.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_hash.ts @@ -14,37 +14,37 @@ const PAGES = { "/subGroup/user": `#/subGroup/user`, "/subGroup2": `#/subGroup2`, "/contract": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/contract` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "/contract/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/gp/one": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/main` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/match/[id=int]": (params: { id: (Parameters[0]), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/site": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "/site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `#/a/${params.rest?.join('/')}/z` + return `#/a/${params['rest']?.join('/')}/z` }, "/lay/normal": `#/lay/normal`, "/lay/root-layout": `#/lay/root-layout`, @@ -62,18 +62,18 @@ const SERVERS = { "GET /server_func_get_and_": `#/server_func_get_and_`, "POST /server_func_post": `#/server_func_post`, "GET /contract": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/contract` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/contract` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `#/api/graphql`, "POST /api/graphql": `#/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `#/data/errors/${params.locale}.json` + return `#/data/errors/${params['locale']}.json` } } @@ -82,22 +82,22 @@ const SERVERS = { */ const ACTIONS = { "default /contract/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "create /site": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: (string | number) }) => { - return `#${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send` + return `#${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send` } } @@ -173,7 +173,7 @@ export const routes = [ /** * To be used like this: * ```ts - * import { route } from './ROUTES' + * import { route } from '$lib/ROUTES' * * route('site_id', { id: 1 }) * ``` @@ -209,5 +209,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: Record - Params: { lang: never, id: never, siteId: never, contractId: never, rest: never, locale: never } + Params: { 'lang': never, 'id': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never } } diff --git a/packages/vite-plugin-kit-routes/src/test/ROUTES_post-update.ts b/packages/vite-plugin-kit-routes/src/test/ROUTES_post-update.ts index fc1bdd7f..c905aedc 100644 --- a/packages/vite-plugin-kit-routes/src/test/ROUTES_post-update.ts +++ b/packages/vite-plugin-kit-routes/src/test/ROUTES_post-update.ts @@ -14,37 +14,37 @@ const PAGES = { "/subGroup/user": `/subGroup/user`, "/subGroup2": `/subGroup2`, "/contract": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "/contract/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "/gp/one": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/one` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/one` }, "/gp/two": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/gp/two` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/gp/two` }, "/main": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/main` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/main` }, "/match/[id=ab]": (params: { id: (Parameters[0]), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/match/[id=int]": (params: { id: (Parameters[0]), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/match/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/match/${params['id']}` }, "/site": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "/site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}` }, "/site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}` }, "/a/[...rest]/z": (params: { rest: (string | number)[] }) => { - return `/a/${params.rest?.join('/')}/z` + return `/a/${params['rest']?.join('/')}/z` }, "/lay/normal": `/lay/normal`, "/lay/root-layout": `/lay/root-layout`, @@ -62,18 +62,18 @@ const SERVERS = { "GET /server_func_get_and_": `/server_func_get_and_`, "POST /server_func_post": `/server_func_post`, "GET /contract": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "POST /contract": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract` }, "GET /site": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site` }, "GET /api/graphql": `/api/graphql`, "POST /api/graphql": `/api/graphql`, "GET /data/errors/[locale].json": (params: { locale: (string | number) }) => { - return `/data/errors/${params.locale}.json` + return `/data/errors/${params['locale']}.json` } } @@ -82,22 +82,22 @@ const SERVERS = { */ const ACTIONS = { "default /contract/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/contract/${params.id}` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/contract/${params['id']}` }, "create /site": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site?/create` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site?/create` }, "update /site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/update` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/update` }, "delete /site/[id]": (params: { id: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site/${params.id}?/delete` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site/${params['id']}?/delete` }, "noSatisfies /site_contract": (params?: { lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract?/noSatisfies` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract?/noSatisfies` }, "send /site_contract/[siteId]-[contractId]": (params: { siteId: (string | number), contractId: (string | number), lang?: (string | number) }) => { - return `${params?.lang ? `/${params?.lang}`: ''}/site_contract/${params.siteId}-${params.contractId}?/send` + return `${params?.['lang'] ? `/${params?.['lang']}`: ''}/site_contract/${params['siteId']}-${params['contractId']}?/send` } } @@ -173,7 +173,7 @@ export const routes = [ /** * To be used like this: * ```ts - * import { route } from './ROUTES' + * import { route } from '$lib/ROUTES' * * route('site_id', { id: 1 }) * ``` @@ -209,5 +209,5 @@ export type KIT_ROUTES = { SERVERS: { 'GET /server_func_get': never, 'GET /server_func_get_and_': never, 'POST /server_func_post': never, 'GET /contract': 'lang', 'POST /contract': 'lang', 'GET /site': 'lang', 'GET /api/graphql': never, 'POST /api/graphql': never, 'GET /data/errors/[locale].json': 'locale' } ACTIONS: { 'default /contract/[id]': 'id' | 'lang', 'create /site': 'lang', 'update /site/[id]': 'id' | 'lang', 'delete /site/[id]': 'id' | 'lang', 'noSatisfies /site_contract': 'lang', 'send /site_contract/[siteId]-[contractId]': 'siteId' | 'contractId' | 'lang' } LINKS: Record - Params: { lang: never, id: never, siteId: never, contractId: never, rest: never, locale: never } + Params: { 'lang': never, 'id': never, 'siteId': never, 'contractId': never, 'rest': never, 'locale': never } } diff --git a/packages/vite-plugin-kit-routes/vite.config.ts b/packages/vite-plugin-kit-routes/vite.config.ts index 14b8f058..368ca40b 100644 --- a/packages/vite-plugin-kit-routes/vite.config.ts +++ b/packages/vite-plugin-kit-routes/vite.config.ts @@ -51,7 +51,11 @@ export default defineConfig({ }, }, '/site/[id]': { - explicit_search_params: { limit: { type: 'number' }, demo: { type: 'string' } }, + explicit_search_params: { + limit: { type: 'number' }, + demo: { type: 'string' }, + 'da-sh': { type: 'string' }, + }, params: { id: { type: 'string', default: '"Vienna"' }, lang: { type: "'fr' | 'hu' | undefined", default: '"fr"' },