1+ import { DeliveryClient , IContentItem , MultipleItemsQuery } from '@kentico/kontent-delivery' ;
12import { Plugin } from '@nuxt/types'
2- import { NuxtDeliveryClient } from '~deliveryclientruntime/nuxt-delivery-client'
3+ import { INuxtDeliveryClient } from "~deliveryclientruntime/inuxt-delivery-client-interface" ;
4+ import { CacheService } from "~deliveryclientruntime/cache-service"
35
46// Default configuration
57let config = {
@@ -19,22 +21,22 @@ try {
1921
2022declare module 'vue/types/vue' {
2123 interface Vue {
22- $nuxtDeliveryClient : NuxtDeliveryClient
24+ $nuxtDeliveryClient : INuxtDeliveryClient
2325 }
2426}
2527
2628declare module '@nuxt/types' {
2729 interface NuxtAppOptions {
28- $nuxtDeliveryClient : NuxtDeliveryClient
30+ $nuxtDeliveryClient : INuxtDeliveryClient
2931 }
3032 interface Context {
31- $nuxtDeliveryClient : NuxtDeliveryClient
33+ $nuxtDeliveryClient : INuxtDeliveryClient
3234 }
3335}
3436
3537declare module 'vuex/types/index' {
3638 interface Store < S > {
37- $nuxtDeliveryClient : NuxtDeliveryClient
39+ $nuxtDeliveryClient : INuxtDeliveryClient
3840 }
3941}
4042
@@ -58,7 +60,11 @@ const deliveryClientPlugin: Plugin = (context, inject) => {
5860 } ) ;
5961 }
6062
61- const nuxtDeliveryClient = new NuxtDeliveryClient ( config . kenticokontent ) ;
63+ const deliveryClient = new DeliveryClient ( config . kenticokontent ) ;
64+ const cacheService = new CacheService ( deliveryClient ) ;
65+
66+ const nuxtDeliveryClient = deliveryClient as any as INuxtDeliveryClient ;
67+ nuxtDeliveryClient . viaCache = < TContentItem extends IContentItem > ( query : MultipleItemsQuery < TContentItem > , seconds : number , cacheKey ?: string , isServerProcess ?: boolean ) => cacheService . viaCache ( query , seconds , cacheKey , isServerProcess ) ;
6268
6369 inject ( 'nuxtDeliveryClient' , nuxtDeliveryClient )
6470}
0 commit comments