Skip to main content
Glama
installIntlayerMarkdown.ts1.59 kB
import { Injectable, InjectionToken, inject, type TemplateRef, } from '@angular/core'; export const INTLAYER_MARKDOWN_TOKEN = new InjectionToken<IntlayerMarkdownProvider>('intlayerMarkdown'); type RenderMarkdownFunction = (markdown: string) => string | TemplateRef<any>; export type IntlayerMarkdownProvider = { renderMarkdown: RenderMarkdownFunction; }; /** * Default markdown renderer that returns the markdown as is */ const defaultMarkdownRenderer: RenderMarkdownFunction = (markdown: string) => markdown; /** * Create IntlayerMarkdown provider configuration */ export const createIntlayerMarkdownProvider = ( renderMarkdown: RenderMarkdownFunction = defaultMarkdownRenderer ) => ({ provide: INTLAYER_MARKDOWN_TOKEN, useValue: { renderMarkdown, } as IntlayerMarkdownProvider, }); /** * Injectable service for markdown rendering */ @Injectable({ providedIn: 'root', }) export class IntlayerMarkdownService { private markdownProvider = inject(INTLAYER_MARKDOWN_TOKEN, { optional: true, }); renderMarkdown(markdown: string): string | TemplateRef<any> { if (!this.markdownProvider) { return markdown; // Fallback to returning markdown as is } return this.markdownProvider.renderMarkdown(markdown); } } /** * Function to inject markdown provider */ export const useMarkdown = (): IntlayerMarkdownProvider => { const markdownProvider = inject(INTLAYER_MARKDOWN_TOKEN, { optional: true }); if (!markdownProvider) { return { renderMarkdown: defaultMarkdownRenderer, }; } return markdownProvider; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server