Add opengraph types
This commit is contained in:
parent
0f1937340d
commit
a34e7e23f0
2 changed files with 31 additions and 4 deletions
21
opengraph-io.d.ts
vendored
Normal file
21
opengraph-io.d.ts
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
// TODO @Shinigami92 2022-12-12: @Shinigami92 might add @types/opengraph-io to DefinitelyTyped
|
||||||
|
// Or directly to the repo
|
||||||
|
|
||||||
|
declare module 'opengraph-io' {
|
||||||
|
function opengraph(options: {
|
||||||
|
appId: string
|
||||||
|
fullRender?: boolean
|
||||||
|
}): {
|
||||||
|
getSiteInfo(url: string): Promise<{
|
||||||
|
hybridGraph: {
|
||||||
|
image: string
|
||||||
|
},
|
||||||
|
openGraph: {
|
||||||
|
image: {
|
||||||
|
url: string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}>
|
||||||
|
}
|
||||||
|
export = opengraph
|
||||||
|
}
|
||||||
|
|
@ -2,11 +2,17 @@ import opengraph from 'opengraph-io'
|
||||||
|
|
||||||
// This API-Endpoint will be cached via nuxt.config.ts -> nitro.routeRules['/api/og-image'].cache.maxAge = 86400
|
// This API-Endpoint will be cached via nuxt.config.ts -> nitro.routeRules['/api/og-image'].cache.maxAge = 86400
|
||||||
|
|
||||||
let openGraphClient: any = null
|
type OpenGraphClient = ReturnType<typeof opengraph>
|
||||||
|
|
||||||
function getOpenGraphClient(): any {
|
let openGraphClient: OpenGraphClient
|
||||||
if (openGraphClient == null)
|
|
||||||
openGraphClient = opengraph({ appId: process.env.NUXT_OPENGRAPH_API, fullRender: true })
|
function getOpenGraphClient(): OpenGraphClient {
|
||||||
|
const NUXT_OPENGRAPH_API = process.env.NUXT_OPENGRAPH_API
|
||||||
|
if (typeof NUXT_OPENGRAPH_API !== 'string')
|
||||||
|
throw new Error('Missing NUXT_OPENGRAPH_API environment variable.')
|
||||||
|
|
||||||
|
if (!openGraphClient)
|
||||||
|
openGraphClient = opengraph({ appId: NUXT_OPENGRAPH_API, fullRender: true })!
|
||||||
|
|
||||||
return openGraphClient
|
return openGraphClient
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue