UNPKG

@thunderstorefront/sdk

Version:

Create Nuxt extendable layer with this GitHub template.

32 lines (27 loc) 1.07 kB
import type { CustomAppConfig } from 'nuxt/schema' import type { Defu } from 'defu' import cfg0 from "../../app.config" declare const inlineConfig = { "nuxt": {} } type ResolvedAppConfig = Defu<typeof inlineConfig, [typeof cfg0]> type IsAny<T> = 0 extends 1 & T ? true : false type MergedAppConfig<Resolved extends Record<string, unknown>, Custom extends Record<string, unknown>> = { [K in keyof (Resolved & Custom)]: K extends keyof Custom ? unknown extends Custom[K] ? Resolved[K] : IsAny<Custom[K]> extends true ? Resolved[K] : Custom[K] extends Record<string, any> ? Resolved[K] extends Record<string, any> ? MergedAppConfig<Resolved[K], Custom[K]> : Exclude<Custom[K], undefined> : Exclude<Custom[K], undefined> : Resolved[K] } declare module 'nuxt/schema' { interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { } } declare module '@nuxt/schema' { interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { } }